[Intel-gfx] [PATCH 3/3] drm/i915/error: Fix object page offset within a region
Chris Wilson
chris at chris-wilson.co.uk
Mon Jan 18 14:56:32 UTC 2021
Quoting Matthew Auld (2021-01-18 14:17:32)
> From: CQ Tang <cq.tang at intel.com>
>
> io_mapping_map_wc() expects the offset to be relative to the iomapping
> base address. Currently we just pass in the physical address for the
> page which only works if the region.start starts at zero.
>
> Signed-off-by: CQ Tang <cq.tang at intel.com>
> Signed-off-by: Matthew Auld <matthew.auld at intel.com>
> ---
> drivers/gpu/drm/i915/i915_gpu_error.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
> index 8b163ee1b86d..f962693404b7 100644
> --- a/drivers/gpu/drm/i915/i915_gpu_error.c
> +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
> @@ -1051,7 +1051,9 @@ i915_vma_coredump_create(const struct intel_gt *gt,
> for_each_sgt_daddr(dma, iter, vma->pages) {
> void __iomem *s;
>
> - s = io_mapping_map_wc(&mem->iomap, dma, PAGE_SIZE);
> + s = io_mapping_map_wc(&mem->iomap,
> + dma - mem->region.start,
> + PAGE_SIZE);
>From i915_gem_object_get_pages_buddy:
sg_dma_address(sg) = mem->region.start + offset;
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris
More information about the Intel-gfx
mailing list