]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Add Wa_1604278689:icl,ehl
authorMatt Roper <matthew.d.roper@intel.com>
Wed, 11 Mar 2020 16:22:57 +0000 (09:22 -0700)
committerMatt Roper <matthew.d.roper@intel.com>
Fri, 13 Mar 2020 16:01:44 +0000 (09:01 -0700)
commit5a0e5b15cf9005030e313ae28ea051406f39620c
tree11a1ba60e6d5486da08fa45ba0cef08292cc5c4f
parent47ff08636f5dd5774b0dd3e2a07a6ab2e457e4d6
drm/i915: Add Wa_1604278689:icl,ehl

The bspec description for this workaround tells us to program
0xFFFF_FFFF into both FBC_RT_BASE_ADDR_REGISTER_* registers, but we've
previously found that this leads to failures in CI.  Our suspicion is
that the failures are caused by this valid turning on the "address valid
bit" even though we're intentionally supplying an invalid address.
Experimentation has shown that setting all bits _except_ for the
RT_VALID bit seems to avoid these failures.

v2:
 - Mask off the RT_VALID bit.  Experimentation with CI trybot indicates
   that this is necessary to avoid reset failures on BCS.

v3:
 - Program RT_BASE before RT_BASE_UPPER so that the valid bit is turned
   off by the first write.  (Chris)

Bspec: 11388
Bspec: 33451
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20200311162300.1838847-4-matthew.d.roper@intel.com
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
drivers/gpu/drm/i915/gt/intel_workarounds.c
drivers/gpu/drm/i915/i915_reg.h