Message ID | 20240403112253.1432390-6-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:33PM +0530, Balasubramani Vivekanandan wrote: > Xe2 platforms doesn't support Aux CCS and the Flat CCS is enabled > through PAT. No CCS modifiers required for Xe2 platforms. The change looks correct, but you might want to elaborate on this description a bit to help clarify why having the compression status of a buffer in the page table entries (via PAT) allows us to avoid the need for dedicated framebuffer modifiers. Matt > > Signed-off-by: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com> > --- > drivers/gpu/drm/i915/display/intel_fb.c | 14 +++++++++++--- > 1 file changed, 11 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c > index 3ea6470d6d92..923e97c3aa6c 100644 > --- a/drivers/gpu/drm/i915/display/intel_fb.c > +++ b/drivers/gpu/drm/i915/display/intel_fb.c > @@ -431,9 +431,17 @@ static bool plane_has_modifier(struct drm_i915_private *i915, > * Separate AuxCCS and Flat CCS modifiers to be run only on platforms > * where supported. > */ > - if (intel_fb_is_ccs_modifier(md->modifier) && > - HAS_FLAT_CCS(i915) != !md->ccs.packed_aux_planes) > - return false; > + if (intel_fb_is_ccs_modifier(md->modifier)) { > + /* > + * No CCS modifiers available on Xe2 platforms as they don't > + * support Aux CCS and the Flat CCS is enabled via PAT > + */ > + if ((DISPLAY_VER(i915) >= 20) || IS_BATTLEMAGE(i915)) > + return false; > + > + if (HAS_FLAT_CCS(i915) != !md->ccs.packed_aux_planes) > + return false; > + } > > return true; > } > -- > 2.25.1 >
diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c index 3ea6470d6d92..923e97c3aa6c 100644 --- a/drivers/gpu/drm/i915/display/intel_fb.c +++ b/drivers/gpu/drm/i915/display/intel_fb.c @@ -431,9 +431,17 @@ static bool plane_has_modifier(struct drm_i915_private *i915, * Separate AuxCCS and Flat CCS modifiers to be run only on platforms * where supported. */ - if (intel_fb_is_ccs_modifier(md->modifier) && - HAS_FLAT_CCS(i915) != !md->ccs.packed_aux_planes) - return false; + if (intel_fb_is_ccs_modifier(md->modifier)) { + /* + * No CCS modifiers available on Xe2 platforms as they don't + * support Aux CCS and the Flat CCS is enabled via PAT + */ + if ((DISPLAY_VER(i915) >= 20) || IS_BATTLEMAGE(i915)) + return false; + + if (HAS_FLAT_CCS(i915) != !md->ccs.packed_aux_planes) + return false; + } return true; }
Xe2 platforms doesn't support Aux CCS and the Flat CCS is enabled through PAT. No CCS modifiers required for Xe2 platforms. Signed-off-by: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com> --- drivers/gpu/drm/i915/display/intel_fb.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-)