summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_gem_gtt.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2019-11-29 20:13:28 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2019-11-30 09:21:12 +0000
commit3cd6e8860ecd40f358b9d30d5bfecbc74fd7cfef (patch)
tree661769d0f711b9d18ccdc2c33539a9bf40f8fdc8 /drivers/gpu/drm/i915/i915_gem_gtt.h
parentf9a863c2ffc17f72137fae8cac3314961dc6be24 (diff)
downloadlinux-stable-3cd6e8860ecd40f358b9d30d5bfecbc74fd7cfef.tar.gz
linux-stable-3cd6e8860ecd40f358b9d30d5bfecbc74fd7cfef.tar.bz2
linux-stable-3cd6e8860ecd40f358b9d30d5bfecbc74fd7cfef.zip
drm/i915/gen7: Re-enable full-ppgtt for ivb & hsw
After much hair pulling, resort to preallocating the ppGTT entries on init to circumvent the apparent lack of PD invalidate following the write to PP_DCLV upon switching mm between contexts (and here the same context after binding new objects). However, the details of that PP_DCLV invalidate are still unknown, and it appears we need to reload the mm twice to cover over a timing issue. Worrying. Fixes: 3dc007fe9b2b ("drm/i915/gtt: Downgrade gen7 (ivb, byt, hsw) back to aliasing-ppgtt") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20191129201328.1398583-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem_gtt.h')
-rw-r--r--drivers/gpu/drm/i915/i915_gem_gtt.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h
index 402283ce2864..31a4a96ddd0d 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.h
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.h
@@ -443,6 +443,7 @@ struct i915_ppgtt {
struct gen6_ppgtt {
struct i915_ppgtt base;
+ struct mutex flush;
struct i915_vma *vma;
gen6_pte_t __iomem *pd_addr;