drm/i915/gem: Try to flush pending unbind events
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 4 Dec 2019 12:35:56 +0000 (12:35 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 4 Dec 2019 17:30:31 +0000 (17:30 +0000)
commitaa5e4453dc055e188c792c3e5f1b256436332a59
tree0b52740f5b6ea9c5eabe5b2977b66d04b4ff4c4c
parentcc662126b4134e25fcfb6cad480de0fa95a4d3d8
drm/i915/gem: Try to flush pending unbind events

If we cannot handle a vma within the unbind loop, try to flush the
pending events (i915_vma_parked, i915_vm_release) and try again. This
avoids a round trip to userspace that is not guaranteed to make forward
progress, as the events we wait upon require being idle.

References: cb6c3d45f948 ("drm/i915/gem: Avoid parking the vma as we unbind")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191204123556.3740002-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem.c