Message ID | 20240228140225.858145-1-juhapekka.heikkila@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915/display: Disable AuxCCS framebuffers if built for Xe | expand |
On Wed, 2024-02-28 at 16:02 +0200, Juha-Pekka Heikkila wrote: > AuxCCS framebuffers don't work on Xe driver hence disable them > from plane capabilities until they are fixed. FlatCCS framebuffers > work and they are left enabled. CCS is left untouched for i915 > driver. > Reviewed-by: José Roberto de Souza <jose.souza@intel.com> > Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/933 > Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> > --- > drivers/gpu/drm/i915/display/skl_universal_plane.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c > index e941e2e4fd14..860574d04f88 100644 > --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c > +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c > @@ -2295,6 +2295,9 @@ static u8 skl_get_plane_caps(struct drm_i915_private *i915, > if (HAS_4TILE(i915)) > caps |= INTEL_PLANE_CAP_TILING_4; > > + if (!IS_ENABLED(I915) && !HAS_FLAT_CCS(i915)) > + return caps; > + > if (skl_plane_has_rc_ccs(i915, pipe, plane_id)) { > caps |= INTEL_PLANE_CAP_CCS_RC; > if (DISPLAY_VER(i915) >= 12)
On Wed, 2024-02-28 at 06:04 -0800, José Roberto de Souza wrote: > On Wed, 2024-02-28 at 16:02 +0200, Juha-Pekka Heikkila wrote: > > AuxCCS framebuffers don't work on Xe driver hence disable them > > from plane capabilities until they are fixed. FlatCCS framebuffers > > work and they are left enabled. CCS is left untouched for i915 > > driver. > > > > Reviewed-by: José Roberto de Souza <jose.souza@intel.com> This needs a Fixes tag so it gets backported to Linux 6.8. > > > Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/933 > > Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> > > --- > > drivers/gpu/drm/i915/display/skl_universal_plane.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c > > index e941e2e4fd14..860574d04f88 100644 > > --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c > > +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c > > @@ -2295,6 +2295,9 @@ static u8 skl_get_plane_caps(struct drm_i915_private *i915, > > if (HAS_4TILE(i915)) > > caps |= INTEL_PLANE_CAP_TILING_4; > > > > + if (!IS_ENABLED(I915) && !HAS_FLAT_CCS(i915)) > > + return caps; > > + > > if (skl_plane_has_rc_ccs(i915, pipe, plane_id)) { > > caps |= INTEL_PLANE_CAP_CCS_RC; > > if (DISPLAY_VER(i915) >= 12) >
On Thu, 2024-02-29 at 16:44 +0000, Souza, Jose wrote: > On Wed, 2024-02-28 at 06:04 -0800, José Roberto de Souza wrote: > > On Wed, 2024-02-28 at 16:02 +0200, Juha-Pekka Heikkila wrote: > > > AuxCCS framebuffers don't work on Xe driver hence disable them > > > from plane capabilities until they are fixed. FlatCCS framebuffers > > > work and they are left enabled. CCS is left untouched for i915 > > > driver. > > > > > > > Reviewed-by: José Roberto de Souza <jose.souza@intel.com> > > This needs a Fixes tag so it gets backported to Linux 6.8. Tested on Xe KMD and fixed the issue at least on ADL-P, you can also add: Tested-by: José Roberto de Souza <jose.souza@intel.com> thank you > > > > > > Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/933 > > > Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> > > > --- > > > drivers/gpu/drm/i915/display/skl_universal_plane.c | 3 +++ > > > 1 file changed, 3 insertions(+) > > > > > > diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c > > > index e941e2e4fd14..860574d04f88 100644 > > > --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c > > > +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c > > > @@ -2295,6 +2295,9 @@ static u8 skl_get_plane_caps(struct drm_i915_private *i915, > > > if (HAS_4TILE(i915)) > > > caps |= INTEL_PLANE_CAP_TILING_4; > > > > > > + if (!IS_ENABLED(I915) && !HAS_FLAT_CCS(i915)) > > > + return caps; > > > + > > > if (skl_plane_has_rc_ccs(i915, pipe, plane_id)) { > > > caps |= INTEL_PLANE_CAP_CCS_RC; > > > if (DISPLAY_VER(i915) >= 12) > > >
On Wed, 28 Feb 2024, Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> wrote: > AuxCCS framebuffers don't work on Xe driver hence disable them > from plane capabilities until they are fixed. FlatCCS framebuffers > work and they are left enabled. CCS is left untouched for i915 > driver. > > Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/933 > Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Acked-by: Jani Nikula <jani.nikula@intel.com> > --- > drivers/gpu/drm/i915/display/skl_universal_plane.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c > index e941e2e4fd14..860574d04f88 100644 > --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c > +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c > @@ -2295,6 +2295,9 @@ static u8 skl_get_plane_caps(struct drm_i915_private *i915, > if (HAS_4TILE(i915)) > caps |= INTEL_PLANE_CAP_TILING_4; > > + if (!IS_ENABLED(I915) && !HAS_FLAT_CCS(i915)) > + return caps; > + > if (skl_plane_has_rc_ccs(i915, pipe, plane_id)) { > caps |= INTEL_PLANE_CAP_CCS_RC; > if (DISPLAY_VER(i915) >= 12)
On Wed, 2024-02-28 at 16:02 +0200, Juha-Pekka Heikkila wrote: > AuxCCS framebuffers don't work on Xe driver hence disable them > from plane capabilities until they are fixed. FlatCCS framebuffers > work and they are left enabled. CCS is left untouched for i915 > driver. > Fixes: 44e694958b95 ("drm/xe/display: Implement display support") > Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/933 > Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> > --- > drivers/gpu/drm/i915/display/skl_universal_plane.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c > index e941e2e4fd14..860574d04f88 100644 > --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c > +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c > @@ -2295,6 +2295,9 @@ static u8 skl_get_plane_caps(struct drm_i915_private *i915, > if (HAS_4TILE(i915)) > caps |= INTEL_PLANE_CAP_TILING_4; > > + if (!IS_ENABLED(I915) && !HAS_FLAT_CCS(i915)) > + return caps; > + > if (skl_plane_has_rc_ccs(i915, pipe, plane_id)) { > caps |= INTEL_PLANE_CAP_CCS_RC; > if (DISPLAY_VER(i915) >= 12)
diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c index e941e2e4fd14..860574d04f88 100644 --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c @@ -2295,6 +2295,9 @@ static u8 skl_get_plane_caps(struct drm_i915_private *i915, if (HAS_4TILE(i915)) caps |= INTEL_PLANE_CAP_TILING_4; + if (!IS_ENABLED(I915) && !HAS_FLAT_CCS(i915)) + return caps; + if (skl_plane_has_rc_ccs(i915, pipe, plane_id)) { caps |= INTEL_PLANE_CAP_CCS_RC; if (DISPLAY_VER(i915) >= 12)
AuxCCS framebuffers don't work on Xe driver hence disable them from plane capabilities until they are fixed. FlatCCS framebuffers work and they are left enabled. CCS is left untouched for i915 driver. Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/933 Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> --- drivers/gpu/drm/i915/display/skl_universal_plane.c | 3 +++ 1 file changed, 3 insertions(+)