]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commit
drm/i915: Also discard second CRC on gen8+ platforms.
authorRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 28 Sep 2017 00:20:40 +0000 (17:20 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 28 Sep 2017 16:41:48 +0000 (09:41 -0700)
commit163e8aecd13e4442fb996ffe031acb8f951dd55f
treeb30e8da0c084275e6e0507ff93f844684b98d181
parent977da084cc3c1791ecd6faed55e0ab41e7231660
drm/i915: Also discard second CRC on gen8+ platforms.

One of the differences I spotted for GEN8+ platforms when
compared to older platforms is that spec for BDW+ includes
this sentence:

"The first CRC done indication after CRC is first enabled is
from only a partial frame, so it will not have the expected
CRC result."

This is an indication that on BDW+ platforms, by the time
we receive the interrupt the CRC is not accurate yet for
the full frame. That would be ok, because we are already
skipping the first CRC for all platforms. However the comment
on the code state that it is for some unknown reason. Also,
on CHV (gen8 lp) we were already discarding the second CRC
as well to make sure we have a reliable CRC on hand.

So based on all ou tests and bugs it seems that it is not
on CHV that needs to discard 2 first CRCs, but all BDW+
platforms.

Starting on SKL we have this CRC done bit (24), but the
experiments around the use of this bit wasn't that stable
as just discarding the second CRC. So, let's for now
just move with CHV solution for all gen8+ platforms and
make our CI a bit more stable.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102374
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101309
Cc: Mika Kahola <mika.kahola@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Tested-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20170928002040.7917-1-rodrigo.vivi@intel.com
drivers/gpu/drm/i915/i915_irq.c