Skip to content

Commit d66f470

Browse files
committed
drm/i915/display: implement wa_14022269668
As per the WA, fbc stride need to be programmed always for bmg. 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 v2: re-phrase the commit message. Bspec: 74212 Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Link: https://lore.kernel.org/r/20250428115554.116780-1-vinod.govindapillai@intel.com
1 parent 308fcf7 commit d66f470

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

drivers/gpu/drm/i915/display/intel_fbc.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,9 +252,12 @@ static u16 intel_fbc_override_cfb_stride(const struct intel_plane_state *plane_s
252252
* Gen9 hw miscalculates cfb stride for linear as
253253
* PLANE_STRIDE*512 instead of PLANE_STRIDE*64, so
254254
* we always need to use the override there.
255+
*
256+
* wa_14022269668 For bmg, always program the FBC_STRIDE before fbc enable
255257
*/
256258
if (stride != stride_aligned ||
257-
(DISPLAY_VER(display) == 9 && fb->modifier == DRM_FORMAT_MOD_LINEAR))
259+
(DISPLAY_VER(display) == 9 && fb->modifier == DRM_FORMAT_MOD_LINEAR) ||
260+
display->platform.battlemage)
258261
return stride_aligned * 4 / 64;
259262

260263
return 0;

0 commit comments

Comments
 (0)