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

v3: wa to Wa

Bspec: 74212
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Acked-by: Uma Shankar <uma.shankar@intel.com>
Link: https://patch.msgid.link/20251111124606.402380-1-vinod.govindapillai@intel.com
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
This commit is contained in:
Vinod Govindapillai 2025-11-11 14:46:06 +02:00
parent b84befa312
commit de72d9df4f
3 changed files with 13 additions and 0 deletions

View File

@ -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;

View File

@ -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);

View File

@ -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)) {