[PATCH 2/9] drm/i915: Allow async flips with compression on ICL
Hogander, Jouni
jouni.hogander at intel.com
Thu Oct 24 10:42:35 UTC 2024
On Wed, 2024-10-09 at 21:22 +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Apparently ICL can do async flips with CCS. In fact it already
> seems to work on GLK, but apparently can lead to underruns there
> so we'll only enable it for ICL.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Reviewed-by: Jouni Högander <jouni.hogander at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 21
> +++++++++++++++++++-
> 1 file changed, 20 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> b/drivers/gpu/drm/i915/display/intel_display.c
> index 21d412b158e8..70a5e5357a14 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -6507,7 +6507,26 @@ static int intel_async_flip_check_hw(struct
> intel_atomic_state *state, struct in
> return -EINVAL;
> }
> break;
> -
> + case I915_FORMAT_MOD_Y_TILED_CCS:
> + case I915_FORMAT_MOD_Yf_TILED_CCS:
> + /*
> + * Display WA #0731: skl
> + * WaDisableRCWithAsyncFlip: skl
> + * "When render decompression is enabled,
> hardware
> + * internally converts the Async flips to
> Sync flips."
> + *
> + * Display WA #1159: glk
> + * "Async flip with render compression may
> result in
> + * intermittent underrun corruption."
> + */
> + if (DISPLAY_VER(i915) < 11) {
> + drm_dbg_kms(&i915->drm,
> + "[PLANE:%d:%s] Modifier
> 0x%llx does not support async flip on display ver %d\n",
> + plane->base.base.id,
> plane->base.name,
> + new_plane_state->hw.fb-
> >modifier, DISPLAY_VER(i915));
> + return -EINVAL;
> + }
> + break;
> case I915_FORMAT_MOD_X_TILED:
> case I915_FORMAT_MOD_Y_TILED:
> case I915_FORMAT_MOD_Yf_TILED:
More information about the Intel-gfx
mailing list