Message ID | 20240403112253.1432390-14-balasubramani.vivekanandan@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Enable dislay support for Battlemage | expand |
On Wed, Apr 03, 2024 at 04:52:41PM +0530, Balasubramani Vivekanandan wrote: > From: Lucas De Marchi <lucas.demarchi@intel.com> > > Add initial display info for xe2hpd. It is similar to xelpd, but with no > PORT_B. > > Bspec: 67066 > Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> > Signed-off-by: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com> > --- > .../gpu/drm/i915/display/intel_display_device.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c > index b8903bd0e82a..0a26012041e9 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_device.c > +++ b/drivers/gpu/drm/i915/display/intel_display_device.c > @@ -771,6 +771,21 @@ static const struct intel_display_device_info xe2_lpd_display = { > BIT(INTEL_FBC_C) | BIT(INTEL_FBC_D), > }; > > +static const struct intel_display_device_info xe2_hpd_display = { > + XE_LPD_FEATURES, Don't we want to derive from XE_LPDP_FEATURES rather than XE_LPD_FEATURES? If so, that takes care of initializing most of this structure, aside from port_mask. > + .has_cdclk_crawl = 1, > + .has_cdclk_squash = 1, > + > + .__runtime_defaults.ip.ver = 14, > + .__runtime_defaults.ip.rel = 1, We're not supposed to have version numbers in these structures for platforms that have GMD_ID (there might not even be just one version number associated with the IP). The gmdid_display_map[] is the only place where we need to map one or more version numbers to an info structure. Matt > + .__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A) | BIT(INTEL_FBC_B), > + .__runtime_defaults.cpu_transcoder_mask = > + BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | > + BIT(TRANSCODER_C) | BIT(TRANSCODER_D), > + .__runtime_defaults.port_mask = BIT(PORT_A) | > + BIT(PORT_TC1) | BIT(PORT_TC2) | BIT(PORT_TC3) | BIT(PORT_TC4), > +}; > + > __diag_pop(); > > /* > @@ -852,6 +867,7 @@ static const struct { > const struct intel_display_device_info *display; > } gmdid_display_map[] = { > { 14, 0, &xe_lpdp_display }, > + { 14, 1, &xe2_hpd_display }, > { 20, 0, &xe2_lpd_display }, > }; > > -- > 2.25.1 >
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c index b8903bd0e82a..0a26012041e9 100644 --- a/drivers/gpu/drm/i915/display/intel_display_device.c +++ b/drivers/gpu/drm/i915/display/intel_display_device.c @@ -771,6 +771,21 @@ static const struct intel_display_device_info xe2_lpd_display = { BIT(INTEL_FBC_C) | BIT(INTEL_FBC_D), }; +static const struct intel_display_device_info xe2_hpd_display = { + XE_LPD_FEATURES, + .has_cdclk_crawl = 1, + .has_cdclk_squash = 1, + + .__runtime_defaults.ip.ver = 14, + .__runtime_defaults.ip.rel = 1, + .__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A) | BIT(INTEL_FBC_B), + .__runtime_defaults.cpu_transcoder_mask = + BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | + BIT(TRANSCODER_C) | BIT(TRANSCODER_D), + .__runtime_defaults.port_mask = BIT(PORT_A) | + BIT(PORT_TC1) | BIT(PORT_TC2) | BIT(PORT_TC3) | BIT(PORT_TC4), +}; + __diag_pop(); /* @@ -852,6 +867,7 @@ static const struct { const struct intel_display_device_info *display; } gmdid_display_map[] = { { 14, 0, &xe_lpdp_display }, + { 14, 1, &xe2_hpd_display }, { 20, 0, &xe2_lpd_display }, };