projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
83bc0f5
)
drm/i915: Clear the error PTE just once on finish
author
Chris Wilson
<chris@chris-wilson.co.uk>
Mon, 1 Oct 2018 19:44:46 +0000
(20:44 +0100)
committer
Chris Wilson
<chris@chris-wilson.co.uk>
Wed, 3 Oct 2018 10:42:26 +0000
(11:42 +0100)
We do not need to continually clear our dedicated PTE for error capture
as it will be updated and invalidated to the next object. Only at the
end do we wish to be sure that the PTE doesn't point back to any buffer.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link:
https://patchwork.freedesktop.org/patch/msgid/20181001194447.29910-3-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gpu_error.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/i915/i915_gpu_error.c
b/drivers/gpu/drm/i915/i915_gpu_error.c
index 705ff122100fe4620f22addb5dcdeca15bf11f78..c8d8f79688a84000572598bd17382af0cad68f1e 100644
(file)
--- a/
drivers/gpu/drm/i915/i915_gpu_error.c
+++ b/
drivers/gpu/drm/i915/i915_gpu_error.c
@@
-999,7
+999,6
@@
i915_error_object_create(struct drm_i915_private *i915,
}
compress_fini(&compress, dst);
- ggtt->vm.clear_range(&ggtt->vm, slot, PAGE_SIZE);
return dst;
}
@@
-1785,6
+1784,14
@@
static unsigned long capture_find_epoch(const struct i915_gpu_state *error)
return epoch;
}
+static void capture_finish(struct i915_gpu_state *error)
+{
+ struct i915_ggtt *ggtt = &error->i915->ggtt;
+ const u64 slot = ggtt->error_capture.start;
+
+ ggtt->vm.clear_range(&ggtt->vm, slot, PAGE_SIZE);
+}
+
static int capture(void *data)
{
struct i915_gpu_state *error = data;
@@
-1809,6
+1816,7
@@
static int capture(void *data)
error->epoch = capture_find_epoch(error);
+ capture_finish(error);
return 0;
}