mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-24 14:54:49 +08:00
drm/i915/display/fbc: Implement WA 22010751166
Underruns happens when plane height + y offset is not a modulo of 4 when FBC is enabled. It happens when scanline is at vactive - 10 but that is not feasible to do from the software side so here completely disabling FBC when height + y offset matches to avoid visual glitches. Specification says that it only affects TGL display C stepping and newer but to simply the check and as TGL is already in final costumers hands, pre-production display stepping A and B was also included. BSpec: 52887 ICL BSpec: 52888 EHL/JSL BSpec: 52890/55378 TGL BSpec: 53508 DG1 BSpec: 53273 RKL Signed-off-by: José Roberto de Souza <jose.souza@intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20201019175609.28715-1-jose.souza@intel.com
This commit is contained in:
parent
359d0eff84
commit
a21906ead6
@ -907,6 +907,13 @@ static bool intel_fbc_can_activate(struct intel_crtc *crtc)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Wa_22010751166: icl, ehl, tgl, dg1, rkl */
|
||||||
|
if (INTEL_GEN(dev_priv) >= 11 &&
|
||||||
|
(cache->plane.src_h + cache->plane.adjusted_y) % 4) {
|
||||||
|
fbc->no_fbc_reason = "plane height + offset is non-modulo of 4";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user