mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 16:13:19 +09:00
drm/i915: Invalidate the TLBs on each GT
With multi-GT devices, the object may have been bound on each GT and so
we need to invalidate the TLBs across all GT before releasing the pages
back to the system.
Fixes: d6c531ab48 ("drm/i915: Invalidate the TLBs on each GT")
Signed-off-by: Chris Wilson <chris.p.wilson@intel.com>
Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
CC: Matt Roper <matthew.d.roper@intel.com>
CC: Andi Shyti <andi.shyti@linux.intel.com>
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231002140742.933530-1-jonathan.cavitt@intel.com
(cherry picked from commit 6b8ace7a14e7926b7b914ccd96a8ac657c0d518c)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
committed by
Rodrigo Vivi
parent
6007265ad7
commit
1fbb6c1d88
@@ -198,7 +198,7 @@ static void flush_tlb_invalidate(struct drm_i915_gem_object *obj)
|
|||||||
|
|
||||||
for_each_gt(gt, i915, id) {
|
for_each_gt(gt, i915, id) {
|
||||||
if (!obj->mm.tlb[id])
|
if (!obj->mm.tlb[id])
|
||||||
return;
|
continue;
|
||||||
|
|
||||||
intel_gt_invalidate_tlb_full(gt, obj->mm.tlb[id]);
|
intel_gt_invalidate_tlb_full(gt, obj->mm.tlb[id]);
|
||||||
obj->mm.tlb[id] = 0;
|
obj->mm.tlb[id] = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user