[PATCH v1] drm/i915/display: implement wa_14022269668

Juha-Pekka Heikkilä juhapekka.heikkila at gmail.com
Tue Apr 15 12:48:04 UTC 2025


look ok to me

Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>

On Sun, Mar 30, 2025 at 9:06 PM Vinod Govindapillai
<vinod.govindapillai at intel.com> wrote:
>
> Woraround recommend programming the fbc_stride for bmg always.
> Display driver handles the need to program the fbc stride using
> the override stride. So ensure that we always get the override
> stride in case of bmg
>
> Bspec: 74212
> Signed-off-by: Vinod Govindapillai <vinod.govindapillai at intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_fbc.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
> index e89cee323d8b..970f8c96cc85 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -252,9 +252,12 @@ static u16 intel_fbc_override_cfb_stride(const struct intel_plane_state *plane_s
>          * Gen9 hw miscalculates cfb stride for linear as
>          * PLANE_STRIDE*512 instead of PLANE_STRIDE*64, so
>          * we always need to use the override there.
> +        *
> +        * wa_14022269668 For bmg, always program the FBC_STRIDE before fbc enable
>          */
>         if (stride != stride_aligned ||
> -           (DISPLAY_VER(display) == 9 && fb->modifier == DRM_FORMAT_MOD_LINEAR))
> +           (DISPLAY_VER(display) == 9 && fb->modifier == DRM_FORMAT_MOD_LINEAR) ||
> +           display->platform.battlemage)
>                 return stride_aligned * 4 / 64;
>
>         return 0;
> --
> 2.43.0
>


More information about the Intel-xe mailing list