Commit 6065682f authored by Chris Wilson's avatar Chris Wilson

drm/i915/gt: Push the GPU cancellation to the backend

Upon unregistering the user interface, we mark the GPU as wedged to
ensure we push no new work to the GPU, and to flush all current work
from the GPU. Move this call to the GT backend.
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: Andi Shyti <andi.shyti@intel.com>
Reviewed-by: default avatarAndi Shyti <andi.shyti@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200221235135.2883006-1-chris@chris-wilson.co.uk
parent 6f24e410
...@@ -644,6 +644,13 @@ void intel_gt_driver_remove(struct intel_gt *gt) ...@@ -644,6 +644,13 @@ void intel_gt_driver_remove(struct intel_gt *gt)
void intel_gt_driver_unregister(struct intel_gt *gt) void intel_gt_driver_unregister(struct intel_gt *gt)
{ {
intel_rps_driver_unregister(&gt->rps); intel_rps_driver_unregister(&gt->rps);
/*
* Upon unregistering the device to prevent any new users, cancel
* all in-flight requests so that we can quickly unbind the active
* resources.
*/
intel_gt_set_wedged(gt);
} }
void intel_gt_driver_release(struct intel_gt *gt) void intel_gt_driver_release(struct intel_gt *gt)
......
...@@ -1494,13 +1494,6 @@ void i915_driver_remove(struct drm_i915_private *i915) ...@@ -1494,13 +1494,6 @@ void i915_driver_remove(struct drm_i915_private *i915)
i915_driver_unregister(i915); i915_driver_unregister(i915);
/*
* After unregistering the device to prevent any new users, cancel
* all in-flight requests so that we can quickly unbind the active
* resources.
*/
intel_gt_set_wedged(&i915->gt);
/* Flush any external code that still may be under the RCU lock */ /* Flush any external code that still may be under the RCU lock */
synchronize_rcu(); synchronize_rcu();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment