drm/v3d: Fix prime imports of buffers from other drivers.
authorEric Anholt <eric@anholt.net>
Wed, 28 Nov 2018 23:09:27 +0000 (15:09 -0800)
committerEric Anholt <eric@anholt.net>
Fri, 30 Nov 2018 21:47:34 +0000 (13:47 -0800)
v3d_bo_get_pages() checks this to decide to map the imported buffer
instead of the backing shmem file.  The caller was about to set this
value anyway, and there's no error path in between.  Ideally we
wouldn't even allocate the shmem file for our imports, but that's a
more invasive fix.

Signed-off-by: Eric Anholt <eric@anholt.net>
Fixes: 57692c94dcbe ("drm/v3d: Introduce a new DRM driver for Broadcom V3D V3.x+")
Link: https://patchwork.freedesktop.org/patch/msgid/20181128230927.10951-3-eric@anholt.net
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Dave Emett <david.emett@broadcom.com>
drivers/gpu/drm/v3d/v3d_bo.c

index 54d96518a131672ae02223be468fc6e6ca71fa96..a08766d39eab535d1c62d091cbed11ae781b4074 100644 (file)
@@ -293,6 +293,7 @@ v3d_prime_import_sg_table(struct drm_device *dev,
        bo->resv = attach->dmabuf->resv;
 
        bo->sgt = sgt;
+       obj->import_attach = attach;
        v3d_bo_get_pages(bo);
 
        v3d_mmu_insert_ptes(bo);