[Intel-gfx] [PATCH v3 3/6] drm/i915: unmap the correct page in intel_logical_ring_cleanup()
Dave Gordon
david.s.gordon at intel.com
Thu Jan 28 10:54:36 PST 2016
The kunmap() call here didn't match the corresponding kmap().
The kmap()ing was changed with the introduction of the GuC-compatible
layout of context objects and the introduction of "LRC_PPHWSP_PN", in
d167519 drm/i915: Integrate GuC-based command submission
but the corresponding kunmap() wasn't, probably because the old code
dug into the underlying sgl implementation instead of than calling
"i915_gem_object_get_page(ring->status_page.obj, 0)", which might more
easily have been noticed as containing an assumption about page 0.
v3:
Use kmap_to_page() rather than repeat the mapping calculation.
[Chris Wilson]
Signed-off-by: Dave Gordon <david.s.gordon at intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
---
drivers/gpu/drm/i915/intel_lrc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index d6e2e8f..1155707 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -1989,7 +1989,7 @@ void intel_logical_ring_cleanup(struct intel_engine_cs *ring)
i915_gem_batch_pool_fini(&ring->batch_pool);
if (ring->status_page.obj) {
- kunmap(sg_page(ring->status_page.obj->pages->sgl));
+ kunmap(kmap_to_page(ring->status_page.page_addr));
ring->status_page.obj = NULL;
}
--
1.9.1
More information about the Intel-gfx
mailing list