mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-19 18:16:08 +07:00
drm/i915: Unbind any residual objects/vma from the Global GTT on shutdown
We may unload the PCI device before all users (such as dma-buf) are completely shutdown. This may leave VMA in the global GTT which we want to revoke, whilst keeping the objects themselves around to service the dma-buf. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170210163523.17533-2-chris@chris-wilson.co.uk
This commit is contained in:
parent
cad3688ff0
commit
94d4a2a9ae
@ -2818,6 +2818,15 @@ int i915_gem_init_ggtt(struct drm_i915_private *dev_priv)
|
||||
void i915_ggtt_cleanup_hw(struct drm_i915_private *dev_priv)
|
||||
{
|
||||
struct i915_ggtt *ggtt = &dev_priv->ggtt;
|
||||
struct i915_vma *vma, *vn;
|
||||
|
||||
ggtt->base.closed = true;
|
||||
|
||||
mutex_lock(&dev_priv->drm.struct_mutex);
|
||||
WARN_ON(!list_empty(&ggtt->base.active_list));
|
||||
list_for_each_entry_safe(vma, vn, &ggtt->base.inactive_list, vm_link)
|
||||
WARN_ON(i915_vma_unbind(vma));
|
||||
mutex_unlock(&dev_priv->drm.struct_mutex);
|
||||
|
||||
if (dev_priv->mm.aliasing_ppgtt) {
|
||||
struct i915_hw_ppgtt *ppgtt = dev_priv->mm.aliasing_ppgtt;
|
||||
|
Loading…
Reference in New Issue
Block a user