OSDN Git Service

drm/i915: Clear the GGTT_WRITE bit on unbinding the vma
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 21 Jan 2020 22:24:41 +0000 (22:24 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 22 Jan 2020 13:21:16 +0000 (13:21 +0000)
commit5424f5d79472c5c20500e8d3eee356a4c6fef3d9
treedf229502e6c4c78602e7148736b110b6a8017927
parentd2a4bb6f8bc8cf2d788adf7e59b5b52fe3a3333c
drm/i915: Clear the GGTT_WRITE bit on unbinding the vma

While we do flush writes to the vma before unbinding (to make sure they
go through the right detiling register), we may also be concurrently
poking at the GGTT_WRITE bit from set-domain, as we mark all GGTT vma
associated with an object. We know this is for another vma, as we
are currently unbinding this one -- so if this vma will be reused, it
will be refaulted and have its dirty bit set before the next write.

Closes: https://gitlab.freedesktop.org/drm/intel/issues/999
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200121222447.419489-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_vma.c