Commit de72d9df authored by Vinod Govindapillai's avatar Vinod Govindapillai
Browse files

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: default avatarVinod Govindapillai <vinod.govindapillai@intel.com>
Reviewed-by: default avatarMika Kahola <mika.kahola@intel.com>
Acked-by: default avatarUma Shankar <uma.shankar@intel.com>
Link: https://patch.msgid.link/20251111124606.402380-1-vinod.govindapillai@intel.com


Signed-off-by: default avatarVinod Govindapillai <vinod.govindapillai@intel.com>
parent b84befa3
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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;
+1 −0
Original line number Diff line number Diff line
@@ -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);
+10 −0
Original line number Diff line number Diff line
@@ -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)) {