drm/etnaviv: Use dma_buf from GEM object instance
authorThomas Zimmermann <tzimmermann@suse.de>
Mon, 17 Mar 2025 13:06:41 +0000 (14:06 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Mon, 14 Apr 2025 08:53:11 +0000 (10:53 +0200)
Avoid dereferencing struct drm_gem_object.import_attach for the
imported dma-buf. The dma_buf field in the GEM object instance refers
to the same buffer. Prepares to make import_attach optional.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: etnaviv@lists.freedesktop.org
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Link: https://lore.kernel.org/r/20250317131923.238374-4-tzimmermann@suse.de
drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c

index 40a50c60dfff761a5e57a3eb03d42d7fba24c32a..917ad527c96146ecae993c0355f5485c00ca330a 100644 (file)
@@ -65,7 +65,7 @@ static void etnaviv_gem_prime_release(struct etnaviv_gem_object *etnaviv_obj)
        struct iosys_map map = IOSYS_MAP_INIT_VADDR(etnaviv_obj->vaddr);
 
        if (etnaviv_obj->vaddr)
-               dma_buf_vunmap_unlocked(etnaviv_obj->base.import_attach->dmabuf, &map);
+               dma_buf_vunmap_unlocked(etnaviv_obj->base.dma_buf, &map);
 
        /* Don't drop the pages for imported dmabuf, as they are not
         * ours, just free the array we allocated:
@@ -82,7 +82,7 @@ static void *etnaviv_gem_prime_vmap_impl(struct etnaviv_gem_object *etnaviv_obj)
 
        lockdep_assert_held(&etnaviv_obj->lock);
 
-       ret = dma_buf_vmap(etnaviv_obj->base.import_attach->dmabuf, &map);
+       ret = dma_buf_vmap(etnaviv_obj->base.dma_buf, &map);
        if (ret)
                return NULL;
        return map.vaddr;