> -----Original Message----- > From: Intel-gfx <[email protected]> On Behalf Of Vinod > Govindapillai > Sent: Tuesday, 11 November 2025 14.46 > To: [email protected]; [email protected] > Cc: Govindapillai, Vinod <[email protected]>; Shankar, Uma > <[email protected]>; Joshi, Kunal1 > <[email protected]>; Nikula, Jani <[email protected]>; De Marchi, > Lucas <[email protected]>; Roper, Matthew > D <[email protected]> > Subject: [PATCH v2] drm/i915/fbc: Apply wa_15018326506 > > Disable FBC in bmg as per the wa recommendation. > > v2: use the bmg platform instead of a specific stepping > > Bspec: 74212
WA works for all steppings. LGTM, Reviewed-by: Mika Kahola <[email protected]> > Signed-off-by: Vinod Govindapillai <[email protected]> > --- > drivers/gpu/drm/i915/display/intel_display_wa.c | 2 ++ > drivers/gpu/drm/i915/display/intel_display_wa.h | 1 + > drivers/gpu/drm/i915/display/intel_fbc.c | 10 ++++++++++ > 3 files changed, 13 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c > b/drivers/gpu/drm/i915/display/intel_display_wa.c > index e38e5e87877c..b2e71fa61c0a 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_wa.c > +++ b/drivers/gpu/drm/i915/display/intel_display_wa.c > @@ -70,6 +70,8 @@ bool __intel_display_wa(struct intel_display *display, enum > intel_display_wa wa, > return DISPLAY_VER(display) == 13; > case INTEL_DISPLAY_WA_22014263786: > return IS_DISPLAY_VERx100(display, 1100, 1400); > + case INTEL_DISPLAY_WA_15018326506: > + return display->platform.battlemage; > default: > drm_WARN(display->drm, 1, "Missing Wa number: %s\n", name); > break; > diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h > b/drivers/gpu/drm/i915/display/intel_display_wa.h > index 3644e8e2b724..f648b00cb97d 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_wa.h > +++ b/drivers/gpu/drm/i915/display/intel_display_wa.h > @@ -26,6 +26,7 @@ enum intel_display_wa { > INTEL_DISPLAY_WA_16025573575, > INTEL_DISPLAY_WA_14011503117, > INTEL_DISPLAY_WA_22014263786, > + INTEL_DISPLAY_WA_15018326506, > }; > > bool __intel_display_wa(struct intel_display *display, enum intel_display_wa > wa, const char *name); diff --git > a/drivers/gpu/drm/i915/display/intel_fbc.c > b/drivers/gpu/drm/i915/display/intel_fbc.c > index a1e3083022ee..16cd99db2978 100644 > --- a/drivers/gpu/drm/i915/display/intel_fbc.c > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c > @@ -1521,6 +1521,16 @@ static int intel_fbc_check_plane(struct > intel_atomic_state *state, > return 0; > } > > + /* > + * wa_15018326506: > + * Fixes: Underrun during media decode > + * Workaround: Do not enable FBC > + */ > + if (intel_display_wa(display, 15018326506)) { > + plane_state->no_fbc_reason = "Wa_15018326506"; > + return 0; > + } > + > /* WaFbcTurnOffFbcWhenHyperVisorIsUsed:skl,bxt */ > if (intel_display_vtd_active(display) && > (display->platform.skylake || display->platform.broxton)) { > -- > 2.43.0
