]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/icl: Forcibly evict stale csb entries
authorMika Kuoppala <mika.kuoppala@linux.intel.com>
Wed, 5 Dec 2018 13:46:12 +0000 (15:46 +0200)
committerMika Kuoppala <mika.kuoppala@linux.intel.com>
Fri, 7 Dec 2018 12:05:34 +0000 (14:05 +0200)
commitce0d7d94f822715d2dda03a0fc47f0902faa6106
tree06fcae5993042cfef0a4b2fd12a566403afc68f5
parent0ad3141e041dfccdb0c4f9fb4aba97be48692b94
drm/i915/icl: Forcibly evict stale csb entries

Gen11 fails to deliver wrt global observation point on
tail/entry updates and we sometimes see old entry.

Use clflush to forcibly evict our possibly stale copy
of the cacheline in hopes that we get fresh one from gpu.
Obviously there is something amiss in the coherency protocol so
this can be consired as a workaround until real cause
is found.

The working hardware will do the evict without our cue anyways,
so the cost in there should be ameliorated by that fact.

v2: for next pass, s/flush/evict, add reset (Chris)

References: https://bugzilla.freedesktop.org/show_bug.cgi?id=108315
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20181205134612.24822-1-mika.kuoppala@linux.intel.com
drivers/gpu/drm/i915/intel_lrc.c