Fixes a build failure with mediatek. This change was supposed to be part of commit 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends"), but mediatek was forgotten.
Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de> Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends") Cc: Thomas Zimmermann <tzimmerm...@suse.de> Cc: Christian König <christian.koe...@amd.com> Cc: David Airlie <airl...@linux.ie> Cc: Daniel Vetter <dan...@ffwll.ch> Cc: Maarten Lankhorst <maarten.lankho...@linux.intel.com> Cc: Maxime Ripard <mrip...@kernel.org> Cc: Dave Airlie <airl...@redhat.com> Cc: Lucas Stach <l.st...@pengutronix.de> Cc: Russell King <linux+etna...@armlinux.org.uk> Cc: Christian Gmeiner <christian.gmei...@gmail.com> Cc: Qiang Yu <yuq...@gmail.com> Cc: Ben Skeggs <bske...@redhat.com> Cc: Rob Herring <r...@kernel.org> Cc: Tomeu Vizoso <tomeu.viz...@collabora.com> Cc: Steven Price <steven.pr...@arm.com> Cc: Alyssa Rosenzweig <alyssa.rosenzw...@collabora.com> Cc: Gerd Hoffmann <kra...@redhat.com> Cc: Alex Deucher <alexander.deuc...@amd.com> Cc: "Christian König" <christian.koe...@amd.com> Cc: Sandy Huang <h...@rock-chips.com> Cc: "Heiko Stübner" <he...@sntech.de> Cc: Hans de Goede <hdego...@redhat.com> Cc: Sean Paul <s...@poorly.run> Cc: Eric Anholt <e...@anholt.net> Cc: Rodrigo Siqueira <rodrigosiqueiram...@gmail.com> Cc: Melissa Wen <melissa....@gmail.com> Cc: Haneen Mohammed <hamohammed...@gmail.com> Cc: Oleksandr Andrushchenko <oleksandr_andrushche...@epam.com> Cc: Sumit Semwal <sumit.sem...@linaro.org> Cc: Emil Velikov <emil.veli...@collabora.com> Cc: Marek Szyprowski <m.szyprow...@samsung.com> Cc: Arunpravin <apane...@amd.com> Cc: Huang Rui <ray.hu...@amd.com> Cc: Luben Tuikov <luben.tui...@amd.com> Cc: Madhav Chauhan <madhav.chau...@amd.com> Cc: Nirmoy Das <nirmoy....@amd.com> Cc: Jason Gunthorpe <j...@ziepe.ca> Cc: Sam Ravnborg <s...@ravnborg.org> Cc: Chris Wilson <ch...@chris-wilson.co.uk> Cc: dri-de...@lists.freedesktop.org Cc: etna...@lists.freedesktop.org Cc: l...@lists.freedesktop.org Cc: nouv...@lists.freedesktop.org Cc: virtualizat...@lists.linux-foundation.org Cc: spice-de...@lists.freedesktop.org Cc: amd-...@lists.freedesktop.org Cc: linux-arm-ker...@lists.infradead.org Cc: linux-rockc...@lists.infradead.org Cc: xen-de...@lists.xenproject.org --- drivers/gpu/drm/mediatek/mtk_drm_gem.c | 20 ++++++++++++-------- drivers/gpu/drm/mediatek/mtk_drm_gem.h | 4 ++-- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/mediatek/mtk_drm_gem.c b/drivers/gpu/drm/mediatek/mtk_drm_gem.c index cdd1a6e61564..28a2ee1336ef 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_gem.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_gem.c @@ -240,23 +240,25 @@ struct drm_gem_object *mtk_gem_prime_import_sg_table(struct drm_device *dev, return &mtk_gem->base; } -void *mtk_drm_gem_prime_vmap(struct drm_gem_object *obj) +int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map) { struct mtk_drm_gem_obj *mtk_gem = to_mtk_gem_obj(obj); - struct sg_table *sgt; + struct sg_table *sgt = NULL; unsigned int npages; if (mtk_gem->kvaddr) - return mtk_gem->kvaddr; + goto out; sgt = mtk_gem_prime_get_sg_table(obj); if (IS_ERR(sgt)) - return NULL; + return PTR_ERR(sgt); npages = obj->size >> PAGE_SHIFT; mtk_gem->pages = kcalloc(npages, sizeof(*mtk_gem->pages), GFP_KERNEL); - if (!mtk_gem->pages) - goto out; + if (!mtk_gem->pages) { + kfree(sgt); + return -ENOMEM; + } drm_prime_sg_to_page_addr_arrays(sgt, mtk_gem->pages, NULL, npages); @@ -265,13 +267,15 @@ void *mtk_drm_gem_prime_vmap(struct drm_gem_object *obj) out: kfree(sgt); + dma_buf_map_set_vaddr(map, mtk_gem->kvaddr); - return mtk_gem->kvaddr; + return 0; } -void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr) +void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map) { struct mtk_drm_gem_obj *mtk_gem = to_mtk_gem_obj(obj); + void *vaddr = map->vaddr; if (!mtk_gem->pages) return; diff --git a/drivers/gpu/drm/mediatek/mtk_drm_gem.h b/drivers/gpu/drm/mediatek/mtk_drm_gem.h index ff9f976d9807..6da5ccb4b933 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_gem.h +++ b/drivers/gpu/drm/mediatek/mtk_drm_gem.h @@ -45,7 +45,7 @@ int mtk_drm_gem_mmap_buf(struct drm_gem_object *obj, struct sg_table *mtk_gem_prime_get_sg_table(struct drm_gem_object *obj); struct drm_gem_object *mtk_gem_prime_import_sg_table(struct drm_device *dev, struct dma_buf_attachment *attach, struct sg_table *sg); -void *mtk_drm_gem_prime_vmap(struct drm_gem_object *obj); -void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr); +int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map); +void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map); #endif -- 2.29.2 _______________________________________________ Freedreno mailing list Freedreno@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/freedreno