drm/i915/gt: Force pte cacheline to main memory
authorMika Kuoppala <mika.kuoppala@linux.intel.com>
Mon, 11 May 2020 16:08:03 +0000 (19:08 +0300)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 11 May 2020 16:25:07 +0000 (17:25 +0100)
commit84eac0c65940d9633247b0c8c826d4bcb7307351
treeb85fdc36a4803b6835bf7b797d0f7475e642805b
parenta1b2eeacbc55573afc56341e08b506aee6451c3d
drm/i915/gt: Force pte cacheline to main memory

We have problems of tgl not seeing a valid pte entry when iommu is
enabled. Add heavy handed flushing of entry modification by flushing the
cpu, cacheline and then wcb. This forces the pte out to main memory past
this point regarless of promises of coherency.

This is an evolution of an experimental patch from Chris Wilson of adding
wmb for coherent partners, by adding a clflush to force the cache->memory
step.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1840
Testcase: igt/gem_exec_fence/parallel
Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20200511160803.15407-1-mika.kuoppala@linux.intel.com
drivers/gpu/drm/i915/gt/gen8_ppgtt.c