[PATCH 8/9] drm/i915: Relocate xe AUX hack
Hogander, Jouni
jouni.hogander at intel.com
Thu Oct 24 10:52:57 UTC 2024
On Wed, 2024-10-09 at 21:22 +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Move the xe AUX neutering out from skl_get_plane_caps() into the
> caller so that it'll be easier to refactor skl_get_plane_caps()
> into a more readable shape. This isn't really hardware specific
> anyway, and just some kind of bug/misfeature of xe.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Reviewed-by: Jouni Högander <jouni.hogander at intel.com>
> ---
> .../gpu/drm/i915/display/skl_universal_plane.c | 15 ++++++++++---
> --
> 1 file changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> index c85bb1fea92f..bcb48d8932d2 100644
> --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> @@ -2598,9 +2598,6 @@ 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)
> @@ -2629,6 +2626,7 @@ skl_universal_plane_create(struct
> drm_i915_private *dev_priv,
> const u32 *formats;
> int num_formats;
> int ret;
> + u8 caps;
>
> plane = intel_plane_alloc();
> if (IS_ERR(plane))
> @@ -2716,8 +2714,15 @@ skl_universal_plane_create(struct
> drm_i915_private *dev_priv,
> else
> plane_type = DRM_PLANE_TYPE_OVERLAY;
>
> - modifiers = intel_fb_plane_get_modifiers(dev_priv,
> -
> skl_get_plane_caps(dev_priv, pipe, plane_id));
> + caps = skl_get_plane_caps(dev_priv, pipe, plane_id);
> +
> + /* FIXME: xe has problems with AUX */
> + if (!IS_ENABLED(I915) && !HAS_FLAT_CCS(dev_priv))
> + caps &= ~(INTEL_PLANE_CAP_CCS_RC |
> + INTEL_PLANE_CAP_CCS_RC_CC |
> + INTEL_PLANE_CAP_CCS_MC);
> +
> + modifiers = intel_fb_plane_get_modifiers(dev_priv, caps);
>
> ret = drm_universal_plane_init(&dev_priv->drm, &plane->base,
> 0, plane_funcs,
More information about the Intel-gfx
mailing list