* [PATCH 0/2] drm: Build fixes for msm and mediatek
@ 2020-11-09 10:32 ` Thomas Zimmermann
0 siblings, 0 replies; 27+ messages in thread
From: Thomas Zimmermann @ 2020-11-09 10:32 UTC (permalink / raw)
To: daniel, airlied, chunkuang.hu, p.zabel, robdclark, sean
Cc: linux-arm-msm, freedreno, dri-devel, Thomas Zimmermann
Commit 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and
convert GEM backends") changed DRM's internal GEM vmap callbacks. Msm and
mediatek were forgotten during the conversion.
Thomas Zimmermann (2):
drm/msm: Use struct dma_buf_map in GEM vmap ops
drm/mediatek: Use struct dma_buf_map in GEM vmap ops
drivers/gpu/drm/mediatek/mtk_drm_gem.c | 20 ++++++++++++--------
drivers/gpu/drm/mediatek/mtk_drm_gem.h | 4 ++--
drivers/gpu/drm/msm/msm_drv.h | 4 ++--
drivers/gpu/drm/msm/msm_gem_prime.c | 13 ++++++++++---
4 files changed, 26 insertions(+), 15 deletions(-)
--
2.29.2
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH 0/2] drm: Build fixes for msm and mediatek
@ 2020-11-09 10:32 ` Thomas Zimmermann
0 siblings, 0 replies; 27+ messages in thread
From: Thomas Zimmermann @ 2020-11-09 10:32 UTC (permalink / raw)
To: daniel, airlied, chunkuang.hu, p.zabel, robdclark, sean
Cc: linux-arm-msm, freedreno, Thomas Zimmermann, dri-devel
Commit 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and
convert GEM backends") changed DRM's internal GEM vmap callbacks. Msm and
mediatek were forgotten during the conversion.
Thomas Zimmermann (2):
drm/msm: Use struct dma_buf_map in GEM vmap ops
drm/mediatek: Use struct dma_buf_map in GEM vmap ops
drivers/gpu/drm/mediatek/mtk_drm_gem.c | 20 ++++++++++++--------
drivers/gpu/drm/mediatek/mtk_drm_gem.h | 4 ++--
drivers/gpu/drm/msm/msm_drv.h | 4 ++--
drivers/gpu/drm/msm/msm_gem_prime.c | 13 ++++++++++---
4 files changed, 26 insertions(+), 15 deletions(-)
--
2.29.2
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH 1/2] drm/msm: Use struct dma_buf_map in GEM vmap ops
2020-11-09 10:32 ` Thomas Zimmermann
` (3 preceding siblings ...)
(?)
@ 2020-11-09 10:32 ` Thomas Zimmermann
-1 siblings, 0 replies; 27+ messages in thread
From: Thomas Zimmermann @ 2020-11-09 10:32 UTC (permalink / raw)
To: daniel, airlied, chunkuang.hu, p.zabel, robdclark, sean
Cc: linux-arm-msm, freedreno, dri-devel, Thomas Zimmermann,
Christian König, Maarten Lankhorst, Maxime Ripard,
Dave Airlie, Lucas Stach, Russell King, Christian Gmeiner,
Qiang Yu, Ben Skeggs, Rob Herring, Tomeu Vizoso, Steven Price,
Alyssa Rosenzweig, Gerd Hoffmann, Alex Deucher, Sandy Huang,
Heiko Stübner, Hans de Goede, Eric Anholt, Rodrigo Siqueira,
Melissa Wen, Haneen Mohammed, Oleksandr Andrushchenko,
Sumit Semwal, Emil Velikov, Luben Tuikov, Marek Szyprowski,
Arunpravin, Huang Rui, Madhav Chauhan, Jason Gunthorpe,
Sam Ravnborg, Chris Wilson, Qinglang Miao, etnaviv, lima,
nouveau, virtualization, spice-devel, amd-gfx, linux-arm-kernel,
linux-rockchip, xen-devel
Fixes a build failure with msm.
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
msm was forgotten.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Christian König <christian.koenig@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Qiang Yu <yuq825@gmail.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: Steven Price <steven.price@arm.com>
Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Cc: Melissa Wen <melissa.srw@gmail.com>
Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Emil Velikov <emil.velikov@collabora.com>
Cc: Luben Tuikov <luben.tuikov@amd.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Arunpravin <apaneers@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Cc: Madhav Chauhan <madhav.chauhan@amd.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Qinglang Miao <miaoqinglang@huawei.com>
Cc: dri-devel@lists.freedesktop.org
Cc: etnaviv@lists.freedesktop.org
Cc: lima@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: virtualization@lists.linux-foundation.org
Cc: spice-devel@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
Cc: xen-devel@lists.xenproject.org
---
drivers/gpu/drm/msm/msm_drv.h | 4 ++--
drivers/gpu/drm/msm/msm_gem_prime.c | 13 ++++++++++---
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
index c45789f36e48..a6aef687bc6e 100644
--- a/drivers/gpu/drm/msm/msm_drv.h
+++ b/drivers/gpu/drm/msm/msm_drv.h
@@ -295,8 +295,8 @@ int msm_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
int msm_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev,
uint32_t handle, uint64_t *offset);
struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj);
-void *msm_gem_prime_vmap(struct drm_gem_object *obj);
-void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
+int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
+void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
int msm_gem_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma);
struct drm_gem_object *msm_gem_prime_import_sg_table(struct drm_device *dev,
struct dma_buf_attachment *attach, struct sg_table *sg);
diff --git a/drivers/gpu/drm/msm/msm_gem_prime.c b/drivers/gpu/drm/msm/msm_gem_prime.c
index 515ef80816a0..9880348a4dc7 100644
--- a/drivers/gpu/drm/msm/msm_gem_prime.c
+++ b/drivers/gpu/drm/msm/msm_gem_prime.c
@@ -22,12 +22,19 @@ struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj)
return drm_prime_pages_to_sg(obj->dev, msm_obj->pages, npages);
}
-void *msm_gem_prime_vmap(struct drm_gem_object *obj)
+int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
{
- return msm_gem_get_vaddr(obj);
+ void *vaddr;
+
+ vaddr = msm_gem_get_vaddr(obj);
+ if (IS_ERR(vaddr))
+ return PTR_ERR(vaddr);
+ dma_buf_map_set_vaddr(map, vaddr);
+
+ return 0;
}
-void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr)
+void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map)
{
msm_gem_put_vaddr(obj);
}
--
2.29.2
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 1/2] drm/msm: Use struct dma_buf_map in GEM vmap ops
@ 2020-11-09 10:32 ` Thomas Zimmermann
0 siblings, 0 replies; 27+ messages in thread
From: Thomas Zimmermann @ 2020-11-09 10:32 UTC (permalink / raw)
To: daniel, airlied, chunkuang.hu, p.zabel, robdclark, sean
Cc: linux-arm-msm, freedreno, dri-devel, Thomas Zimmermann,
Christian König, Maarten Lankhorst, Maxime Ripard,
Dave Airlie, Lucas Stach, Russell King, Christian Gmeiner,
Qiang Yu, Ben Skeggs, Rob Herring, Tomeu Vizoso, Steven Price,
Alyssa Rosenzweig, Gerd Hoffmann, Alex Deucher
Fixes a build failure with msm.
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
msm was forgotten.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Christian König <christian.koenig@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Qiang Yu <yuq825@gmail.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: Steven Price <steven.price@arm.com>
Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Cc: Melissa Wen <melissa.srw@gmail.com>
Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Emil Velikov <emil.velikov@collabora.com>
Cc: Luben Tuikov <luben.tuikov@amd.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Arunpravin <apaneers@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Cc: Madhav Chauhan <madhav.chauhan@amd.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Qinglang Miao <miaoqinglang@huawei.com>
Cc: dri-devel@lists.freedesktop.org
Cc: etnaviv@lists.freedesktop.org
Cc: lima@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: virtualization@lists.linux-foundation.org
Cc: spice-devel@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
Cc: xen-devel@lists.xenproject.org
---
drivers/gpu/drm/msm/msm_drv.h | 4 ++--
drivers/gpu/drm/msm/msm_gem_prime.c | 13 ++++++++++---
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
index c45789f36e48..a6aef687bc6e 100644
--- a/drivers/gpu/drm/msm/msm_drv.h
+++ b/drivers/gpu/drm/msm/msm_drv.h
@@ -295,8 +295,8 @@ int msm_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
int msm_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev,
uint32_t handle, uint64_t *offset);
struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj);
-void *msm_gem_prime_vmap(struct drm_gem_object *obj);
-void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
+int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
+void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
int msm_gem_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma);
struct drm_gem_object *msm_gem_prime_import_sg_table(struct drm_device *dev,
struct dma_buf_attachment *attach, struct sg_table *sg);
diff --git a/drivers/gpu/drm/msm/msm_gem_prime.c b/drivers/gpu/drm/msm/msm_gem_prime.c
index 515ef80816a0..9880348a4dc7 100644
--- a/drivers/gpu/drm/msm/msm_gem_prime.c
+++ b/drivers/gpu/drm/msm/msm_gem_prime.c
@@ -22,12 +22,19 @@ struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj)
return drm_prime_pages_to_sg(obj->dev, msm_obj->pages, npages);
}
-void *msm_gem_prime_vmap(struct drm_gem_object *obj)
+int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
{
- return msm_gem_get_vaddr(obj);
+ void *vaddr;
+
+ vaddr = msm_gem_get_vaddr(obj);
+ if (IS_ERR(vaddr))
+ return PTR_ERR(vaddr);
+ dma_buf_map_set_vaddr(map, vaddr);
+
+ return 0;
}
-void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr)
+void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map)
{
msm_gem_put_vaddr(obj);
}
--
2.29.2
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 1/2] drm/msm: Use struct dma_buf_map in GEM vmap ops
@ 2020-11-09 10:32 ` Thomas Zimmermann
0 siblings, 0 replies; 27+ messages in thread
From: Thomas Zimmermann @ 2020-11-09 10:32 UTC (permalink / raw)
To: daniel, airlied, chunkuang.hu, p.zabel, robdclark, sean
Cc: Haneen Mohammed, Heiko Stübner, nouveau, dri-devel,
Chris Wilson, Melissa Wen, Eric Anholt, Huang Rui, Gerd Hoffmann,
Madhav Chauhan, Sam Ravnborg, Sumit Semwal, Emil Velikov,
Rob Herring, xen-devel, lima, Oleksandr Andrushchenko,
linux-rockchip, Qinglang Miao, Steven Price, Jason Gunthorpe,
Luben Tuikov, Ben Skeggs, Russell King, Dave Airlie,
Marek Szyprowski, Alyssa Rosenzweig, linux-arm-msm,
Maarten Lankhorst, etnaviv, Maxime Ripard, Hans de Goede,
Christian Gmeiner, spice-devel, virtualization, Arunpravin,
linux-arm-kernel, amd-gfx, Rodrigo Siqueira, Tomeu Vizoso,
Sandy Huang, Qiang Yu, Thomas Zimmermann, Alex Deucher,
freedreno, Christian König, Lucas Stach
Fixes a build failure with msm.
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
msm was forgotten.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Christian König <christian.koenig@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Qiang Yu <yuq825@gmail.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: Steven Price <steven.price@arm.com>
Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Cc: Melissa Wen <melissa.srw@gmail.com>
Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Emil Velikov <emil.velikov@collabora.com>
Cc: Luben Tuikov <luben.tuikov@amd.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Arunpravin <apaneers@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Cc: Madhav Chauhan <madhav.chauhan@amd.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Qinglang Miao <miaoqinglang@huawei.com>
Cc: dri-devel@lists.freedesktop.org
Cc: etnaviv@lists.freedesktop.org
Cc: lima@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: virtualization@lists.linux-foundation.org
Cc: spice-devel@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
Cc: xen-devel@lists.xenproject.org
---
drivers/gpu/drm/msm/msm_drv.h | 4 ++--
drivers/gpu/drm/msm/msm_gem_prime.c | 13 ++++++++++---
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
index c45789f36e48..a6aef687bc6e 100644
--- a/drivers/gpu/drm/msm/msm_drv.h
+++ b/drivers/gpu/drm/msm/msm_drv.h
@@ -295,8 +295,8 @@ int msm_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
int msm_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev,
uint32_t handle, uint64_t *offset);
struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj);
-void *msm_gem_prime_vmap(struct drm_gem_object *obj);
-void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
+int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
+void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
int msm_gem_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma);
struct drm_gem_object *msm_gem_prime_import_sg_table(struct drm_device *dev,
struct dma_buf_attachment *attach, struct sg_table *sg);
diff --git a/drivers/gpu/drm/msm/msm_gem_prime.c b/drivers/gpu/drm/msm/msm_gem_prime.c
index 515ef80816a0..9880348a4dc7 100644
--- a/drivers/gpu/drm/msm/msm_gem_prime.c
+++ b/drivers/gpu/drm/msm/msm_gem_prime.c
@@ -22,12 +22,19 @@ struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj)
return drm_prime_pages_to_sg(obj->dev, msm_obj->pages, npages);
}
-void *msm_gem_prime_vmap(struct drm_gem_object *obj)
+int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
{
- return msm_gem_get_vaddr(obj);
+ void *vaddr;
+
+ vaddr = msm_gem_get_vaddr(obj);
+ if (IS_ERR(vaddr))
+ return PTR_ERR(vaddr);
+ dma_buf_map_set_vaddr(map, vaddr);
+
+ return 0;
}
-void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr)
+void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map)
{
msm_gem_put_vaddr(obj);
}
--
2.29.2
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 1/2] drm/msm: Use struct dma_buf_map in GEM vmap ops
@ 2020-11-09 10:32 ` Thomas Zimmermann
0 siblings, 0 replies; 27+ messages in thread
From: Thomas Zimmermann @ 2020-11-09 10:32 UTC (permalink / raw)
To: daniel, airlied, chunkuang.hu, p.zabel, robdclark, sean
Cc: Haneen Mohammed, Heiko Stübner, nouveau, dri-devel,
Chris Wilson, Melissa Wen, Eric Anholt, Huang Rui,
Madhav Chauhan, Sam Ravnborg, Sumit Semwal, Emil Velikov,
Rob Herring, xen-devel, lima, Oleksandr Andrushchenko,
linux-rockchip, Qinglang Miao, Steven Price, Jason Gunthorpe,
Luben Tuikov, Ben Skeggs, Russell King, Dave Airlie,
Marek Szyprowski, Alyssa Rosenzweig, linux-arm-msm,
Maarten Lankhorst, etnaviv, Maxime Ripard, Hans de Goede,
Christian Gmeiner, spice-devel, virtualization, Arunpravin,
linux-arm-kernel, amd-gfx, Rodrigo Siqueira, Tomeu Vizoso,
Sandy Huang, Qiang Yu, Thomas Zimmermann, Alex Deucher,
freedreno, Christian König, Lucas Stach
Fixes a build failure with msm.
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
msm was forgotten.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Christian König <christian.koenig@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Qiang Yu <yuq825@gmail.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: Steven Price <steven.price@arm.com>
Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Cc: Melissa Wen <melissa.srw@gmail.com>
Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Emil Velikov <emil.velikov@collabora.com>
Cc: Luben Tuikov <luben.tuikov@amd.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Arunpravin <apaneers@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Cc: Madhav Chauhan <madhav.chauhan@amd.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Qinglang Miao <miaoqinglang@huawei.com>
Cc: dri-devel@lists.freedesktop.org
Cc: etnaviv@lists.freedesktop.org
Cc: lima@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: virtualization@lists.linux-foundation.org
Cc: spice-devel@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
Cc: xen-devel@lists.xenproject.org
---
drivers/gpu/drm/msm/msm_drv.h | 4 ++--
drivers/gpu/drm/msm/msm_gem_prime.c | 13 ++++++++++---
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
index c45789f36e48..a6aef687bc6e 100644
--- a/drivers/gpu/drm/msm/msm_drv.h
+++ b/drivers/gpu/drm/msm/msm_drv.h
@@ -295,8 +295,8 @@ int msm_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
int msm_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev,
uint32_t handle, uint64_t *offset);
struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj);
-void *msm_gem_prime_vmap(struct drm_gem_object *obj);
-void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
+int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
+void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
int msm_gem_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma);
struct drm_gem_object *msm_gem_prime_import_sg_table(struct drm_device *dev,
struct dma_buf_attachment *attach, struct sg_table *sg);
diff --git a/drivers/gpu/drm/msm/msm_gem_prime.c b/drivers/gpu/drm/msm/msm_gem_prime.c
index 515ef80816a0..9880348a4dc7 100644
--- a/drivers/gpu/drm/msm/msm_gem_prime.c
+++ b/drivers/gpu/drm/msm/msm_gem_prime.c
@@ -22,12 +22,19 @@ struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj)
return drm_prime_pages_to_sg(obj->dev, msm_obj->pages, npages);
}
-void *msm_gem_prime_vmap(struct drm_gem_object *obj)
+int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
{
- return msm_gem_get_vaddr(obj);
+ void *vaddr;
+
+ vaddr = msm_gem_get_vaddr(obj);
+ if (IS_ERR(vaddr))
+ return PTR_ERR(vaddr);
+ dma_buf_map_set_vaddr(map, vaddr);
+
+ return 0;
}
-void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr)
+void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map)
{
msm_gem_put_vaddr(obj);
}
--
2.29.2
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 1/2] drm/msm: Use struct dma_buf_map in GEM vmap ops
@ 2020-11-09 10:32 ` Thomas Zimmermann
0 siblings, 0 replies; 27+ messages in thread
From: Thomas Zimmermann @ 2020-11-09 10:32 UTC (permalink / raw)
To: daniel, airlied, chunkuang.hu, p.zabel, robdclark, sean
Cc: Haneen Mohammed, nouveau, dri-devel, Chris Wilson, Melissa Wen,
Huang Rui, Gerd Hoffmann, Madhav Chauhan, Sam Ravnborg,
Emil Velikov, xen-devel, lima, Oleksandr Andrushchenko,
linux-rockchip, Qinglang Miao, Steven Price, Jason Gunthorpe,
Luben Tuikov, Ben Skeggs, Russell King, Dave Airlie,
Marek Szyprowski, Alyssa Rosenzweig, linux-arm-msm, etnaviv,
Hans de Goede, spice-devel, virtualization, Arunpravin,
linux-arm-kernel, amd-gfx, Rodrigo Siqueira, Tomeu Vizoso,
Sandy Huang, Qiang Yu, Thomas Zimmermann, Alex Deucher,
freedreno, Christian König
Fixes a build failure with msm.
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
msm was forgotten.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Christian König <christian.koenig@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Qiang Yu <yuq825@gmail.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: Steven Price <steven.price@arm.com>
Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Cc: Melissa Wen <melissa.srw@gmail.com>
Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Emil Velikov <emil.velikov@collabora.com>
Cc: Luben Tuikov <luben.tuikov@amd.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Arunpravin <apaneers@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Cc: Madhav Chauhan <madhav.chauhan@amd.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Qinglang Miao <miaoqinglang@huawei.com>
Cc: dri-devel@lists.freedesktop.org
Cc: etnaviv@lists.freedesktop.org
Cc: lima@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: virtualization@lists.linux-foundation.org
Cc: spice-devel@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
Cc: xen-devel@lists.xenproject.org
---
drivers/gpu/drm/msm/msm_drv.h | 4 ++--
drivers/gpu/drm/msm/msm_gem_prime.c | 13 ++++++++++---
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
index c45789f36e48..a6aef687bc6e 100644
--- a/drivers/gpu/drm/msm/msm_drv.h
+++ b/drivers/gpu/drm/msm/msm_drv.h
@@ -295,8 +295,8 @@ int msm_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
int msm_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev,
uint32_t handle, uint64_t *offset);
struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj);
-void *msm_gem_prime_vmap(struct drm_gem_object *obj);
-void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
+int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
+void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
int msm_gem_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma);
struct drm_gem_object *msm_gem_prime_import_sg_table(struct drm_device *dev,
struct dma_buf_attachment *attach, struct sg_table *sg);
diff --git a/drivers/gpu/drm/msm/msm_gem_prime.c b/drivers/gpu/drm/msm/msm_gem_prime.c
index 515ef80816a0..9880348a4dc7 100644
--- a/drivers/gpu/drm/msm/msm_gem_prime.c
+++ b/drivers/gpu/drm/msm/msm_gem_prime.c
@@ -22,12 +22,19 @@ struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj)
return drm_prime_pages_to_sg(obj->dev, msm_obj->pages, npages);
}
-void *msm_gem_prime_vmap(struct drm_gem_object *obj)
+int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
{
- return msm_gem_get_vaddr(obj);
+ void *vaddr;
+
+ vaddr = msm_gem_get_vaddr(obj);
+ if (IS_ERR(vaddr))
+ return PTR_ERR(vaddr);
+ dma_buf_map_set_vaddr(map, vaddr);
+
+ return 0;
}
-void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr)
+void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map)
{
msm_gem_put_vaddr(obj);
}
--
2.29.2
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 1/2] drm/msm: Use struct dma_buf_map in GEM vmap ops
@ 2020-11-09 10:32 ` Thomas Zimmermann
0 siblings, 0 replies; 27+ messages in thread
From: Thomas Zimmermann @ 2020-11-09 10:32 UTC (permalink / raw)
To: daniel, airlied, chunkuang.hu, p.zabel, robdclark, sean
Cc: Haneen Mohammed, Heiko Stübner, nouveau, dri-devel,
Chris Wilson, Melissa Wen, Eric Anholt, Huang Rui, Gerd Hoffmann,
Madhav Chauhan, Sam Ravnborg, Sumit Semwal, Emil Velikov,
Rob Herring, xen-devel, lima, Oleksandr Andrushchenko,
linux-rockchip, Qinglang Miao, Steven Price, Jason Gunthorpe,
Luben Tuikov, Ben Skeggs, Russell King, Dave Airlie,
Marek Szyprowski, Alyssa Rosenzweig, linux-arm-msm,
Maarten Lankhorst, etnaviv, Maxime Ripard, Hans de Goede,
Christian Gmeiner, spice-devel, virtualization, Arunpravin,
linux-arm-kernel, amd-gfx, Rodrigo Siqueira, Tomeu Vizoso,
Sandy Huang, Qiang Yu, Thomas Zimmermann, Alex Deucher,
freedreno, Christian König, Lucas Stach
Fixes a build failure with msm.
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
msm was forgotten.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Christian König <christian.koenig@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Qiang Yu <yuq825@gmail.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: Steven Price <steven.price@arm.com>
Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Cc: Melissa Wen <melissa.srw@gmail.com>
Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Emil Velikov <emil.velikov@collabora.com>
Cc: Luben Tuikov <luben.tuikov@amd.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Arunpravin <apaneers@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Cc: Madhav Chauhan <madhav.chauhan@amd.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Qinglang Miao <miaoqinglang@huawei.com>
Cc: dri-devel@lists.freedesktop.org
Cc: etnaviv@lists.freedesktop.org
Cc: lima@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: virtualization@lists.linux-foundation.org
Cc: spice-devel@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
Cc: xen-devel@lists.xenproject.org
---
drivers/gpu/drm/msm/msm_drv.h | 4 ++--
drivers/gpu/drm/msm/msm_gem_prime.c | 13 ++++++++++---
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
index c45789f36e48..a6aef687bc6e 100644
--- a/drivers/gpu/drm/msm/msm_drv.h
+++ b/drivers/gpu/drm/msm/msm_drv.h
@@ -295,8 +295,8 @@ int msm_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
int msm_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev,
uint32_t handle, uint64_t *offset);
struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj);
-void *msm_gem_prime_vmap(struct drm_gem_object *obj);
-void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
+int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
+void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
int msm_gem_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma);
struct drm_gem_object *msm_gem_prime_import_sg_table(struct drm_device *dev,
struct dma_buf_attachment *attach, struct sg_table *sg);
diff --git a/drivers/gpu/drm/msm/msm_gem_prime.c b/drivers/gpu/drm/msm/msm_gem_prime.c
index 515ef80816a0..9880348a4dc7 100644
--- a/drivers/gpu/drm/msm/msm_gem_prime.c
+++ b/drivers/gpu/drm/msm/msm_gem_prime.c
@@ -22,12 +22,19 @@ struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj)
return drm_prime_pages_to_sg(obj->dev, msm_obj->pages, npages);
}
-void *msm_gem_prime_vmap(struct drm_gem_object *obj)
+int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
{
- return msm_gem_get_vaddr(obj);
+ void *vaddr;
+
+ vaddr = msm_gem_get_vaddr(obj);
+ if (IS_ERR(vaddr))
+ return PTR_ERR(vaddr);
+ dma_buf_map_set_vaddr(map, vaddr);
+
+ return 0;
}
-void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr)
+void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map)
{
msm_gem_put_vaddr(obj);
}
--
2.29.2
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 2/2] drm/mediatek: Use struct dma_buf_map in GEM vmap ops
2020-11-09 10:32 ` Thomas Zimmermann
` (3 preceding siblings ...)
(?)
@ 2020-11-09 10:32 ` Thomas Zimmermann
-1 siblings, 0 replies; 27+ messages in thread
From: Thomas Zimmermann @ 2020-11-09 10:32 UTC (permalink / raw)
To: daniel, airlied, chunkuang.hu, p.zabel, robdclark, sean
Cc: linux-arm-msm, freedreno, dri-devel, Thomas Zimmermann,
Christian König, Maarten Lankhorst, Maxime Ripard,
Dave Airlie, Lucas Stach, Russell King, Christian Gmeiner,
Qiang Yu, Ben Skeggs, Rob Herring, Tomeu Vizoso, Steven Price,
Alyssa Rosenzweig, Gerd Hoffmann, Alex Deucher, Sandy Huang,
Heiko Stübner, Hans de Goede, Eric Anholt, Rodrigo Siqueira,
Melissa Wen, Haneen Mohammed, Oleksandr Andrushchenko,
Sumit Semwal, Emil Velikov, Marek Szyprowski, Arunpravin,
Huang Rui, Luben Tuikov, Madhav Chauhan, Nirmoy Das,
Jason Gunthorpe, Sam Ravnborg, Chris Wilson, etnaviv, lima,
nouveau, virtualization, spice-devel, amd-gfx, linux-arm-kernel,
linux-rockchip, xen-devel
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 <tzimmermann@suse.de>
Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Christian König <christian.koenig@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Qiang Yu <yuq825@gmail.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: Steven Price <steven.price@arm.com>
Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Cc: Melissa Wen <melissa.srw@gmail.com>
Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Emil Velikov <emil.velikov@collabora.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Arunpravin <apaneers@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Cc: Luben Tuikov <luben.tuikov@amd.com>
Cc: Madhav Chauhan <madhav.chauhan@amd.com>
Cc: Nirmoy Das <Nirmoy.Das@amd.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: dri-devel@lists.freedesktop.org
Cc: etnaviv@lists.freedesktop.org
Cc: lima@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: virtualization@lists.linux-foundation.org
Cc: spice-devel@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
Cc: xen-devel@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
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 2/2] drm/mediatek: Use struct dma_buf_map in GEM vmap ops
@ 2020-11-09 10:32 ` Thomas Zimmermann
0 siblings, 0 replies; 27+ messages in thread
From: Thomas Zimmermann @ 2020-11-09 10:32 UTC (permalink / raw)
To: daniel, airlied, chunkuang.hu, p.zabel, robdclark, sean
Cc: linux-arm-msm, freedreno, dri-devel, Thomas Zimmermann,
Christian König, Maarten Lankhorst, Maxime Ripard,
Dave Airlie, Lucas Stach, Russell King, Christian Gmeiner,
Qiang Yu, Ben Skeggs, Rob Herring, Tomeu Vizoso, Steven Price,
Alyssa Rosenzweig, Gerd Hoffmann, Alex Deucher
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 <tzimmermann@suse.de>
Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Christian König <christian.koenig@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Qiang Yu <yuq825@gmail.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: Steven Price <steven.price@arm.com>
Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Cc: Melissa Wen <melissa.srw@gmail.com>
Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Emil Velikov <emil.velikov@collabora.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Arunpravin <apaneers@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Cc: Luben Tuikov <luben.tuikov@amd.com>
Cc: Madhav Chauhan <madhav.chauhan@amd.com>
Cc: Nirmoy Das <Nirmoy.Das@amd.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: dri-devel@lists.freedesktop.org
Cc: etnaviv@lists.freedesktop.org
Cc: lima@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: virtualization@lists.linux-foundation.org
Cc: spice-devel@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
Cc: xen-devel@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
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 2/2] drm/mediatek: Use struct dma_buf_map in GEM vmap ops
@ 2020-11-09 10:32 ` Thomas Zimmermann
0 siblings, 0 replies; 27+ messages in thread
From: Thomas Zimmermann @ 2020-11-09 10:32 UTC (permalink / raw)
To: daniel, airlied, chunkuang.hu, p.zabel, robdclark, sean
Cc: Haneen Mohammed, Heiko Stübner, nouveau, dri-devel,
Chris Wilson, Melissa Wen, Eric Anholt, Huang Rui, Gerd Hoffmann,
Madhav Chauhan, Sam Ravnborg, Sumit Semwal, Emil Velikov,
Rob Herring, xen-devel, lima, Oleksandr Andrushchenko,
linux-rockchip, amd-gfx, Steven Price, Jason Gunthorpe,
Luben Tuikov, Ben Skeggs, Russell King, Dave Airlie,
Marek Szyprowski, Alyssa Rosenzweig, linux-arm-msm,
Maarten Lankhorst, etnaviv, Maxime Ripard, Hans de Goede,
Christian Gmeiner, spice-devel, virtualization, Arunpravin,
linux-arm-kernel, Rodrigo Siqueira, Tomeu Vizoso, Sandy Huang,
Nirmoy Das, Qiang Yu, Thomas Zimmermann, Alex Deucher, freedreno,
Christian König, Lucas Stach
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 <tzimmermann@suse.de>
Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Christian König <christian.koenig@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Qiang Yu <yuq825@gmail.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: Steven Price <steven.price@arm.com>
Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Cc: Melissa Wen <melissa.srw@gmail.com>
Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Emil Velikov <emil.velikov@collabora.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Arunpravin <apaneers@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Cc: Luben Tuikov <luben.tuikov@amd.com>
Cc: Madhav Chauhan <madhav.chauhan@amd.com>
Cc: Nirmoy Das <Nirmoy.Das@amd.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: dri-devel@lists.freedesktop.org
Cc: etnaviv@lists.freedesktop.org
Cc: lima@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: virtualization@lists.linux-foundation.org
Cc: spice-devel@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
Cc: xen-devel@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
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 2/2] drm/mediatek: Use struct dma_buf_map in GEM vmap ops
@ 2020-11-09 10:32 ` Thomas Zimmermann
0 siblings, 0 replies; 27+ messages in thread
From: Thomas Zimmermann @ 2020-11-09 10:32 UTC (permalink / raw)
To: daniel, airlied, chunkuang.hu, p.zabel, robdclark, sean
Cc: Haneen Mohammed, Heiko Stübner, nouveau, dri-devel,
Chris Wilson, Melissa Wen, Eric Anholt, Huang Rui,
Madhav Chauhan, Sam Ravnborg, Sumit Semwal, Emil Velikov,
Rob Herring, xen-devel, lima, Oleksandr Andrushchenko,
linux-rockchip, amd-gfx, Steven Price, Jason Gunthorpe,
Luben Tuikov, Ben Skeggs, Russell King, Dave Airlie,
Marek Szyprowski, Alyssa Rosenzweig, linux-arm-msm,
Maarten Lankhorst, etnaviv, Maxime Ripard, Hans de Goede,
Christian Gmeiner, spice-devel, virtualization, Arunpravin,
linux-arm-kernel, Rodrigo Siqueira, Tomeu Vizoso, Sandy Huang,
Nirmoy Das, Qiang Yu, Thomas Zimmermann, Alex Deucher, freedreno,
Christian König, Lucas Stach
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 <tzimmermann@suse.de>
Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Christian König <christian.koenig@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Qiang Yu <yuq825@gmail.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: Steven Price <steven.price@arm.com>
Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Cc: Melissa Wen <melissa.srw@gmail.com>
Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Emil Velikov <emil.velikov@collabora.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Arunpravin <apaneers@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Cc: Luben Tuikov <luben.tuikov@amd.com>
Cc: Madhav Chauhan <madhav.chauhan@amd.com>
Cc: Nirmoy Das <Nirmoy.Das@amd.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: dri-devel@lists.freedesktop.org
Cc: etnaviv@lists.freedesktop.org
Cc: lima@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: virtualization@lists.linux-foundation.org
Cc: spice-devel@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
Cc: xen-devel@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
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 2/2] drm/mediatek: Use struct dma_buf_map in GEM vmap ops
@ 2020-11-09 10:32 ` Thomas Zimmermann
0 siblings, 0 replies; 27+ messages in thread
From: Thomas Zimmermann @ 2020-11-09 10:32 UTC (permalink / raw)
To: daniel, airlied, chunkuang.hu, p.zabel, robdclark, sean
Cc: Haneen Mohammed, nouveau, dri-devel, Chris Wilson, Melissa Wen,
Huang Rui, Gerd Hoffmann, Madhav Chauhan, Sam Ravnborg,
Emil Velikov, xen-devel, lima, Oleksandr Andrushchenko,
linux-rockchip, amd-gfx, Steven Price, Jason Gunthorpe,
Luben Tuikov, Ben Skeggs, Russell King, Dave Airlie,
Marek Szyprowski, Alyssa Rosenzweig, linux-arm-msm, etnaviv,
Hans de Goede, spice-devel, virtualization, Arunpravin,
linux-arm-kernel, Rodrigo Siqueira, Tomeu Vizoso, Sandy Huang,
Nirmoy Das, Qiang Yu, Thomas Zimmermann, Alex Deucher, freedreno,
Christian König
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 <tzimmermann@suse.de>
Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Christian König <christian.koenig@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Qiang Yu <yuq825@gmail.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: Steven Price <steven.price@arm.com>
Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Cc: Melissa Wen <melissa.srw@gmail.com>
Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Emil Velikov <emil.velikov@collabora.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Arunpravin <apaneers@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Cc: Luben Tuikov <luben.tuikov@amd.com>
Cc: Madhav Chauhan <madhav.chauhan@amd.com>
Cc: Nirmoy Das <Nirmoy.Das@amd.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: dri-devel@lists.freedesktop.org
Cc: etnaviv@lists.freedesktop.org
Cc: lima@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: virtualization@lists.linux-foundation.org
Cc: spice-devel@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
Cc: xen-devel@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
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 2/2] drm/mediatek: Use struct dma_buf_map in GEM vmap ops
@ 2020-11-09 10:32 ` Thomas Zimmermann
0 siblings, 0 replies; 27+ messages in thread
From: Thomas Zimmermann @ 2020-11-09 10:32 UTC (permalink / raw)
To: daniel, airlied, chunkuang.hu, p.zabel, robdclark, sean
Cc: Haneen Mohammed, Heiko Stübner, nouveau, dri-devel,
Chris Wilson, Melissa Wen, Eric Anholt, Huang Rui, Gerd Hoffmann,
Madhav Chauhan, Sam Ravnborg, Sumit Semwal, Emil Velikov,
Rob Herring, xen-devel, lima, Oleksandr Andrushchenko,
linux-rockchip, amd-gfx, Steven Price, Jason Gunthorpe,
Luben Tuikov, Ben Skeggs, Russell King, Dave Airlie,
Marek Szyprowski, Alyssa Rosenzweig, linux-arm-msm,
Maarten Lankhorst, etnaviv, Maxime Ripard, Hans de Goede,
Christian Gmeiner, spice-devel, virtualization, Arunpravin,
linux-arm-kernel, Rodrigo Siqueira, Tomeu Vizoso, Sandy Huang,
Nirmoy Das, Qiang Yu, Thomas Zimmermann, Alex Deucher, freedreno,
Christian König, Lucas Stach
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 <tzimmermann@suse.de>
Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Christian König <christian.koenig@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Qiang Yu <yuq825@gmail.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: Steven Price <steven.price@arm.com>
Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Cc: Melissa Wen <melissa.srw@gmail.com>
Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Emil Velikov <emil.velikov@collabora.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Arunpravin <apaneers@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Cc: Luben Tuikov <luben.tuikov@amd.com>
Cc: Madhav Chauhan <madhav.chauhan@amd.com>
Cc: Nirmoy Das <Nirmoy.Das@amd.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: dri-devel@lists.freedesktop.org
Cc: etnaviv@lists.freedesktop.org
Cc: lima@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: virtualization@lists.linux-foundation.org
Cc: spice-devel@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
Cc: xen-devel@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
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply related [flat|nested] 27+ messages in thread
* Re: [PATCH 0/2] drm: Build fixes for msm and mediatek
2020-11-09 10:32 ` Thomas Zimmermann
@ 2020-11-10 9:33 ` Daniel Vetter
-1 siblings, 0 replies; 27+ messages in thread
From: Daniel Vetter @ 2020-11-10 9:33 UTC (permalink / raw)
To: Thomas Zimmermann
Cc: daniel, airlied, chunkuang.hu, p.zabel, robdclark, sean,
linux-arm-msm, freedreno, dri-devel
On Mon, Nov 09, 2020 at 11:32:40AM +0100, Thomas Zimmermann wrote:
> Commit 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and
> convert GEM backends") changed DRM's internal GEM vmap callbacks. Msm and
> mediatek were forgotten during the conversion.
>
> Thomas Zimmermann (2):
> drm/msm: Use struct dma_buf_map in GEM vmap ops
> drm/mediatek: Use struct dma_buf_map in GEM vmap ops
On both:
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
I guess more motivation to convert drivers over to shmem helpers, if
possible ...
-Daniel
>
> drivers/gpu/drm/mediatek/mtk_drm_gem.c | 20 ++++++++++++--------
> drivers/gpu/drm/mediatek/mtk_drm_gem.h | 4 ++--
> drivers/gpu/drm/msm/msm_drv.h | 4 ++--
> drivers/gpu/drm/msm/msm_gem_prime.c | 13 ++++++++++---
> 4 files changed, 26 insertions(+), 15 deletions(-)
>
> --
> 2.29.2
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 0/2] drm: Build fixes for msm and mediatek
@ 2020-11-10 9:33 ` Daniel Vetter
0 siblings, 0 replies; 27+ messages in thread
From: Daniel Vetter @ 2020-11-10 9:33 UTC (permalink / raw)
To: Thomas Zimmermann
Cc: chunkuang.hu, airlied, linux-arm-msm, dri-devel, freedreno, sean
On Mon, Nov 09, 2020 at 11:32:40AM +0100, Thomas Zimmermann wrote:
> Commit 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and
> convert GEM backends") changed DRM's internal GEM vmap callbacks. Msm and
> mediatek were forgotten during the conversion.
>
> Thomas Zimmermann (2):
> drm/msm: Use struct dma_buf_map in GEM vmap ops
> drm/mediatek: Use struct dma_buf_map in GEM vmap ops
On both:
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
I guess more motivation to convert drivers over to shmem helpers, if
possible ...
-Daniel
>
> drivers/gpu/drm/mediatek/mtk_drm_gem.c | 20 ++++++++++++--------
> drivers/gpu/drm/mediatek/mtk_drm_gem.h | 4 ++--
> drivers/gpu/drm/msm/msm_drv.h | 4 ++--
> drivers/gpu/drm/msm/msm_gem_prime.c | 13 ++++++++++---
> 4 files changed, 26 insertions(+), 15 deletions(-)
>
> --
> 2.29.2
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 2/2] drm/mediatek: Use struct dma_buf_map in GEM vmap ops
2020-11-09 10:32 ` Thomas Zimmermann
` (2 preceding siblings ...)
(?)
@ 2020-11-11 14:23 ` Chun-Kuang Hu
-1 siblings, 0 replies; 27+ messages in thread
From: Chun-Kuang Hu @ 2020-11-11 14:23 UTC (permalink / raw)
To: Thomas Zimmermann
Cc: Daniel Vetter, David Airlie, Chun-Kuang Hu, Philipp Zabel,
robdclark, sean, linux-arm-msm, freedreno, DRI Development,
Christian König, Maarten Lankhorst, Maxime Ripard,
Dave Airlie, Lucas Stach, Russell King, Christian Gmeiner,
Qiang Yu, Ben Skeggs, Rob Herring, Tomeu Vizoso, Steven Price,
Alyssa Rosenzweig, Gerd Hoffmann, Alex Deucher, Sandy Huang,
Heiko Stübner, Hans de Goede, Eric Anholt, Rodrigo Siqueira,
Melissa Wen, Haneen Mohammed, Oleksandr Andrushchenko,
Sumit Semwal, Emil Velikov, Marek Szyprowski, Arunpravin,
Huang Rui, Luben Tuikov, Madhav Chauhan, Nirmoy Das,
Jason Gunthorpe, Sam Ravnborg, Chris Wilson, etnaviv, lima,
nouveau, virtualization, spice-devel, amd-gfx, Linux ARM,
linux-rockchip, xen-devel
Hi, Thomas:
Thomas Zimmermann <tzimmermann@suse.de> 於 2020年11月9日 週一 下午6:32寫道:
>
> 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.
Acked-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Dave Airlie <airlied@redhat.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Russell King <linux+etnaviv@armlinux.org.uk>
> Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
> Cc: Qiang Yu <yuq825@gmail.com>
> Cc: Ben Skeggs <bskeggs@redhat.com>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
> Cc: Steven Price <steven.price@arm.com>
> Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: "Christian König" <christian.koenig@amd.com>
> Cc: Sandy Huang <hjc@rock-chips.com>
> Cc: "Heiko Stübner" <heiko@sntech.de>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: Sean Paul <sean@poorly.run>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
> Cc: Melissa Wen <melissa.srw@gmail.com>
> Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
> Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> Cc: Sumit Semwal <sumit.semwal@linaro.org>
> Cc: Emil Velikov <emil.velikov@collabora.com>
> Cc: Marek Szyprowski <m.szyprowski@samsung.com>
> Cc: Arunpravin <apaneers@amd.com>
> Cc: Huang Rui <ray.huang@amd.com>
> Cc: Luben Tuikov <luben.tuikov@amd.com>
> Cc: Madhav Chauhan <madhav.chauhan@amd.com>
> Cc: Nirmoy Das <Nirmoy.Das@amd.com>
> Cc: Jason Gunthorpe <jgg@ziepe.ca>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: dri-devel@lists.freedesktop.org
> Cc: etnaviv@lists.freedesktop.org
> Cc: lima@lists.freedesktop.org
> Cc: nouveau@lists.freedesktop.org
> Cc: virtualization@lists.linux-foundation.org
> Cc: spice-devel@lists.freedesktop.org
> Cc: amd-gfx@lists.freedesktop.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-rockchip@lists.infradead.org
> Cc: xen-devel@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
>
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 2/2] drm/mediatek: Use struct dma_buf_map in GEM vmap ops
@ 2020-11-11 14:23 ` Chun-Kuang Hu
0 siblings, 0 replies; 27+ messages in thread
From: Chun-Kuang Hu @ 2020-11-11 14:23 UTC (permalink / raw)
To: Thomas Zimmermann
Cc: Daniel Vetter, David Airlie, Chun-Kuang Hu, Philipp Zabel,
robdclark, sean, linux-arm-msm, freedreno, DRI Development,
Christian König, Maarten Lankhorst, Maxime Ripard,
Dave Airlie, Lucas Stach, Russell King, Christian Gmeiner,
Qiang Yu, Ben Skeggs, Rob Herring, Tomeu Vizoso
Hi, Thomas:
Thomas Zimmermann <tzimmermann@suse.de> 於 2020年11月9日 週一 下午6:32寫道:
>
> 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.
Acked-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Dave Airlie <airlied@redhat.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Russell King <linux+etnaviv@armlinux.org.uk>
> Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
> Cc: Qiang Yu <yuq825@gmail.com>
> Cc: Ben Skeggs <bskeggs@redhat.com>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
> Cc: Steven Price <steven.price@arm.com>
> Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: "Christian König" <christian.koenig@amd.com>
> Cc: Sandy Huang <hjc@rock-chips.com>
> Cc: "Heiko Stübner" <heiko@sntech.de>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: Sean Paul <sean@poorly.run>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
> Cc: Melissa Wen <melissa.srw@gmail.com>
> Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
> Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> Cc: Sumit Semwal <sumit.semwal@linaro.org>
> Cc: Emil Velikov <emil.velikov@collabora.com>
> Cc: Marek Szyprowski <m.szyprowski@samsung.com>
> Cc: Arunpravin <apaneers@amd.com>
> Cc: Huang Rui <ray.huang@amd.com>
> Cc: Luben Tuikov <luben.tuikov@amd.com>
> Cc: Madhav Chauhan <madhav.chauhan@amd.com>
> Cc: Nirmoy Das <Nirmoy.Das@amd.com>
> Cc: Jason Gunthorpe <jgg@ziepe.ca>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: dri-devel@lists.freedesktop.org
> Cc: etnaviv@lists.freedesktop.org
> Cc: lima@lists.freedesktop.org
> Cc: nouveau@lists.freedesktop.org
> Cc: virtualization@lists.linux-foundation.org
> Cc: spice-devel@lists.freedesktop.org
> Cc: amd-gfx@lists.freedesktop.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-rockchip@lists.infradead.org
> Cc: xen-devel@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
>
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 2/2] drm/mediatek: Use struct dma_buf_map in GEM vmap ops
@ 2020-11-11 14:23 ` Chun-Kuang Hu
0 siblings, 0 replies; 27+ messages in thread
From: Chun-Kuang Hu @ 2020-11-11 14:23 UTC (permalink / raw)
To: Thomas Zimmermann
Cc: Haneen Mohammed, Heiko Stübner, David Airlie, nouveau,
DRI Development, Chris Wilson, Melissa Wen, Eric Anholt,
Huang Rui, Gerd Hoffmann, Madhav Chauhan, Sam Ravnborg,
Sumit Semwal, Emil Velikov, Rob Herring, xen-devel, lima,
Oleksandr Andrushchenko, linux-rockchip, amd-gfx, Steven Price,
Jason Gunthorpe, Luben Tuikov, Ben Skeggs, Russell King,
Dave Airlie, Marek Szyprowski, Alyssa Rosenzweig, Chun-Kuang Hu,
Philipp Zabel, linux-arm-msm, Maarten Lankhorst, etnaviv,
Maxime Ripard, Hans de Goede, Christian Gmeiner, spice-devel,
virtualization, sean, Arunpravin, Linux ARM, Rodrigo Siqueira,
Tomeu Vizoso, Sandy Huang, robdclark, Nirmoy Das, Qiang Yu,
Daniel Vetter, Alex Deucher, freedreno, Christian König,
Lucas Stach
Hi, Thomas:
Thomas Zimmermann <tzimmermann@suse.de> 於 2020年11月9日 週一 下午6:32寫道:
>
> 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.
Acked-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Dave Airlie <airlied@redhat.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Russell King <linux+etnaviv@armlinux.org.uk>
> Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
> Cc: Qiang Yu <yuq825@gmail.com>
> Cc: Ben Skeggs <bskeggs@redhat.com>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
> Cc: Steven Price <steven.price@arm.com>
> Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: "Christian König" <christian.koenig@amd.com>
> Cc: Sandy Huang <hjc@rock-chips.com>
> Cc: "Heiko Stübner" <heiko@sntech.de>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: Sean Paul <sean@poorly.run>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
> Cc: Melissa Wen <melissa.srw@gmail.com>
> Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
> Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> Cc: Sumit Semwal <sumit.semwal@linaro.org>
> Cc: Emil Velikov <emil.velikov@collabora.com>
> Cc: Marek Szyprowski <m.szyprowski@samsung.com>
> Cc: Arunpravin <apaneers@amd.com>
> Cc: Huang Rui <ray.huang@amd.com>
> Cc: Luben Tuikov <luben.tuikov@amd.com>
> Cc: Madhav Chauhan <madhav.chauhan@amd.com>
> Cc: Nirmoy Das <Nirmoy.Das@amd.com>
> Cc: Jason Gunthorpe <jgg@ziepe.ca>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: dri-devel@lists.freedesktop.org
> Cc: etnaviv@lists.freedesktop.org
> Cc: lima@lists.freedesktop.org
> Cc: nouveau@lists.freedesktop.org
> Cc: virtualization@lists.linux-foundation.org
> Cc: spice-devel@lists.freedesktop.org
> Cc: amd-gfx@lists.freedesktop.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-rockchip@lists.infradead.org
> Cc: xen-devel@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
>
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 2/2] drm/mediatek: Use struct dma_buf_map in GEM vmap ops
@ 2020-11-11 14:23 ` Chun-Kuang Hu
0 siblings, 0 replies; 27+ messages in thread
From: Chun-Kuang Hu @ 2020-11-11 14:23 UTC (permalink / raw)
To: Thomas Zimmermann
Cc: Haneen Mohammed, David Airlie, nouveau, DRI Development,
Chris Wilson, Melissa Wen, Huang Rui, Gerd Hoffmann,
Madhav Chauhan, Sam Ravnborg, Emil Velikov, xen-devel, lima,
Oleksandr Andrushchenko, linux-rockchip, amd-gfx, Steven Price,
Jason Gunthorpe, Luben Tuikov, Ben Skeggs, Russell King,
Dave Airlie, Marek Szyprowski, Alyssa Rosenzweig, Chun-Kuang Hu,
linux-arm-msm, etnaviv, Hans de Goede, spice-devel,
virtualization, sean, Arunpravin, Linux ARM, Rodrigo Siqueira,
Tomeu Vizoso, Sandy Huang, Nirmoy Das, Qiang Yu, Alex Deucher,
freedreno, Christian König
Hi, Thomas:
Thomas Zimmermann <tzimmermann@suse.de> 於 2020年11月9日 週一 下午6:32寫道:
>
> 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.
Acked-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Dave Airlie <airlied@redhat.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Russell King <linux+etnaviv@armlinux.org.uk>
> Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
> Cc: Qiang Yu <yuq825@gmail.com>
> Cc: Ben Skeggs <bskeggs@redhat.com>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
> Cc: Steven Price <steven.price@arm.com>
> Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: "Christian König" <christian.koenig@amd.com>
> Cc: Sandy Huang <hjc@rock-chips.com>
> Cc: "Heiko Stübner" <heiko@sntech.de>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: Sean Paul <sean@poorly.run>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
> Cc: Melissa Wen <melissa.srw@gmail.com>
> Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
> Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> Cc: Sumit Semwal <sumit.semwal@linaro.org>
> Cc: Emil Velikov <emil.velikov@collabora.com>
> Cc: Marek Szyprowski <m.szyprowski@samsung.com>
> Cc: Arunpravin <apaneers@amd.com>
> Cc: Huang Rui <ray.huang@amd.com>
> Cc: Luben Tuikov <luben.tuikov@amd.com>
> Cc: Madhav Chauhan <madhav.chauhan@amd.com>
> Cc: Nirmoy Das <Nirmoy.Das@amd.com>
> Cc: Jason Gunthorpe <jgg@ziepe.ca>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: dri-devel@lists.freedesktop.org
> Cc: etnaviv@lists.freedesktop.org
> Cc: lima@lists.freedesktop.org
> Cc: nouveau@lists.freedesktop.org
> Cc: virtualization@lists.linux-foundation.org
> Cc: spice-devel@lists.freedesktop.org
> Cc: amd-gfx@lists.freedesktop.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-rockchip@lists.infradead.org
> Cc: xen-devel@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
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 2/2] drm/mediatek: Use struct dma_buf_map in GEM vmap ops
@ 2020-11-11 14:23 ` Chun-Kuang Hu
0 siblings, 0 replies; 27+ messages in thread
From: Chun-Kuang Hu @ 2020-11-11 14:23 UTC (permalink / raw)
To: Thomas Zimmermann
Cc: Haneen Mohammed, Heiko Stübner, David Airlie, nouveau,
DRI Development, Chris Wilson, Melissa Wen, Eric Anholt,
Huang Rui, Gerd Hoffmann, Madhav Chauhan, Sam Ravnborg,
Sumit Semwal, Emil Velikov, Rob Herring, xen-devel, lima,
Oleksandr Andrushchenko, linux-rockchip, amd-gfx, Steven Price,
Jason Gunthorpe, Luben Tuikov, Ben Skeggs, Russell King,
Dave Airlie, Marek Szyprowski, Alyssa Rosenzweig, Chun-Kuang Hu,
Philipp Zabel, linux-arm-msm, Maarten Lankhorst, etnaviv,
Maxime Ripard, Hans de Goede, Christian Gmeiner, spice-devel,
virtualization, sean, Arunpravin, Linux ARM, Rodrigo Siqueira,
Tomeu Vizoso, Sandy Huang, robdclark, Nirmoy Das, Qiang Yu,
Daniel Vetter, Alex Deucher, freedreno, Christian König,
Lucas Stach
Hi, Thomas:
Thomas Zimmermann <tzimmermann@suse.de> 於 2020年11月9日 週一 下午6:32寫道:
>
> 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.
Acked-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Dave Airlie <airlied@redhat.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Russell King <linux+etnaviv@armlinux.org.uk>
> Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
> Cc: Qiang Yu <yuq825@gmail.com>
> Cc: Ben Skeggs <bskeggs@redhat.com>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
> Cc: Steven Price <steven.price@arm.com>
> Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: "Christian König" <christian.koenig@amd.com>
> Cc: Sandy Huang <hjc@rock-chips.com>
> Cc: "Heiko Stübner" <heiko@sntech.de>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: Sean Paul <sean@poorly.run>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
> Cc: Melissa Wen <melissa.srw@gmail.com>
> Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
> Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> Cc: Sumit Semwal <sumit.semwal@linaro.org>
> Cc: Emil Velikov <emil.velikov@collabora.com>
> Cc: Marek Szyprowski <m.szyprowski@samsung.com>
> Cc: Arunpravin <apaneers@amd.com>
> Cc: Huang Rui <ray.huang@amd.com>
> Cc: Luben Tuikov <luben.tuikov@amd.com>
> Cc: Madhav Chauhan <madhav.chauhan@amd.com>
> Cc: Nirmoy Das <Nirmoy.Das@amd.com>
> Cc: Jason Gunthorpe <jgg@ziepe.ca>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: dri-devel@lists.freedesktop.org
> Cc: etnaviv@lists.freedesktop.org
> Cc: lima@lists.freedesktop.org
> Cc: nouveau@lists.freedesktop.org
> Cc: virtualization@lists.linux-foundation.org
> Cc: spice-devel@lists.freedesktop.org
> Cc: amd-gfx@lists.freedesktop.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-rockchip@lists.infradead.org
> Cc: xen-devel@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
>
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 1/2] drm/msm: Use struct dma_buf_map in GEM vmap ops
2020-11-09 10:32 ` Thomas Zimmermann
` (4 preceding siblings ...)
(?)
@ 2020-11-13 8:59 ` kernel test robot
-1 siblings, 0 replies; 27+ messages in thread
From: kernel test robot @ 2020-11-13 8:59 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 21356 bytes --]
Hi Thomas,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.10-rc3]
[cannot apply to next-20201112]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Thomas-Zimmermann/drm-Build-fixes-for-msm-and-mediatek/20201109-183736
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git f8394f232b1eab649ce2df5c5f15b0e528c92091
config: arm-defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/23efc78fd2f5e71dabe163eec64d609891160175
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Thomas-Zimmermann/drm-Build-fixes-for-msm-and-mediatek/20201109-183736
git checkout 23efc78fd2f5e71dabe163eec64d609891160175
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
In file included from drivers/gpu/drm/msm/msm_gpu.h:16,
from drivers/gpu/drm/msm/adreno/adreno_gpu.h:15,
from drivers/gpu/drm/msm/adreno/adreno_device.c:9:
>> drivers/gpu/drm/msm/msm_drv.h:299:59: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
299 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.h:300:62: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
300 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
--
In file included from drivers/gpu/drm/msm/msm_gem.h:12,
from drivers/gpu/drm/msm/adreno/a6xx_gpu.c:5:
>> drivers/gpu/drm/msm/msm_drv.h:299:59: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
299 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.h:300:62: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
300 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/adreno/a6xx_gpu.c:33:6: warning: no previous prototype for 'a6xx_idle' [-Wmissing-prototypes]
33 | bool a6xx_idle(struct msm_gpu *gpu, struct msm_ringbuffer *ring)
| ^~~~~~~~~
--
In file included from drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h:10,
from drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c:17:
>> drivers/gpu/drm/msm/msm_drv.h:299:59: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
299 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.h:300:62: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
300 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c:579:5: warning: no previous prototype for 'mdp5_crtc_setup_pipeline' [-Wmissing-prototypes]
579 | int mdp5_crtc_setup_pipeline(struct drm_crtc *crtc,
| ^~~~~~~~~~~~~~~~~~~~~~~~
--
In file included from drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c:17:
>> drivers/gpu/drm/msm/msm_drv.h:299:59: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
299 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.h:300:62: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
300 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c:297:5: warning: no previous prototype for 'mdp5_disable' [-Wmissing-prototypes]
297 | int mdp5_disable(struct mdp5_kms *mdp5_kms)
| ^~~~~~~~~~~~
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c:317:5: warning: no previous prototype for 'mdp5_enable' [-Wmissing-prototypes]
317 | int mdp5_enable(struct mdp5_kms *mdp5_kms)
| ^~~~~~~~~~~
--
In file included from drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h:15,
from drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c:15:
>> drivers/gpu/drm/msm/msm_drv.h:299:59: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
299 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.h:300:62: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
300 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c: In function '_dpu_core_perf_calc_crtc':
drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c:113:25: warning: variable 'dpu_cstate' set but not used [-Wunused-but-set-variable]
113 | struct dpu_crtc_state *dpu_cstate;
| ^~~~~~~~~~
--
In file included from drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c:17:
>> drivers/gpu/drm/msm/msm_drv.h:299:59: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
299 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.h:300:62: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
300 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c: In function 'dpu_encoder_virt_mode_set':
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c:981:31: warning: variable 'num_dspp' set but not used [-Wunused-but-set-variable]
981 | int num_lm, num_ctl, num_pp, num_dspp;
| ^~~~~~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c:976:30: warning: variable 'topology' set but not used [-Wunused-but-set-variable]
976 | struct msm_display_topology topology;
| ^~~~~~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c: In function '_dpu_encoder_virt_enable_helper':
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c:1099:26: warning: variable 'priv' set but not used [-Wunused-but-set-variable]
1099 | struct msm_drm_private *priv;
| ^~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c: In function 'dpu_encoder_virt_disable':
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c:1210:18: warning: variable 'dpu_kms' set but not used [-Wunused-but-set-variable]
1210 | struct dpu_kms *dpu_kms;
| ^~~~~~~
--
In file included from drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h:11,
from drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c:9:
>> drivers/gpu/drm/msm/msm_drv.h:299:59: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
299 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.h:300:62: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
300 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c:122:19: warning: initialized field overwritten [-Woverride-init]
122 | .max_linewidth = 4096,
| ^~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c:122:19: note: (near initialization for 'sm8250_dpu_caps.max_linewidth')
In file included from drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c:11:
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog_format.h:7:23: warning: 'qcom_compressed_supported_formats' defined but not used [-Wunused-const-variable=]
7 | static const uint32_t qcom_compressed_supported_formats[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
In file included from drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:18:
>> drivers/gpu/drm/msm/msm_drv.h:299:59: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
299 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.h:300:62: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
300 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
In file included from drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:22:
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog_format.h:48:23: warning: 'plane_formats_yuv' defined but not used [-Wunused-const-variable=]
48 | static const uint32_t plane_formats_yuv[] = {
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog_format.h:17:23: warning: 'plane_formats' defined but not used [-Wunused-const-variable=]
17 | static const uint32_t plane_formats[] = {
| ^~~~~~~~~~~~~
--
In file included from drivers/gpu/drm/msm/msm_drv.c:21:
>> drivers/gpu/drm/msm/msm_drv.h:299:59: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
299 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.h:300:62: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
300 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.c:123:15: warning: no previous prototype for '_msm_ioremap' [-Wmissing-prototypes]
123 | void __iomem *_msm_ioremap(struct platform_device *pdev, const char *name,
| ^~~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.c:1016:24: error: initialization of 'void * (*)(struct drm_gem_object *)' from incompatible pointer type 'int (*)(struct drm_gem_object *, struct dma_buf_map *)' [-Werror=incompatible-pointer-types]
1016 | .gem_prime_vmap = msm_gem_prime_vmap,
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.c:1016:24: note: (near initialization for 'msm_driver.gem_prime_vmap')
drivers/gpu/drm/msm/msm_drv.c:1017:24: error: initialization of 'void (*)(struct drm_gem_object *, void *)' from incompatible pointer type 'void (*)(struct drm_gem_object *, struct dma_buf_map *)' [-Werror=incompatible-pointer-types]
1017 | .gem_prime_vunmap = msm_gem_prime_vunmap,
| ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.c:1017:24: note: (near initialization for 'msm_driver.gem_prime_vunmap')
cc1: some warnings being treated as errors
--
In file included from drivers/gpu/drm/msm/msm_fence.c:9:
>> drivers/gpu/drm/msm/msm_drv.h:299:59: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
299 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.h:300:62: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
300 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_fence.c: In function 'msm_fence_context_alloc':
drivers/gpu/drm/msm/msm_fence.c:23:2: warning: 'strncpy' specified bound 32 equals destination size [-Wstringop-truncation]
23 | strncpy(fctx->name, name, sizeof(fctx->name));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
In file included from drivers/gpu/drm/msm/msm_gem_prime.c:11:
>> drivers/gpu/drm/msm/msm_drv.h:299:59: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
299 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.h:300:62: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
300 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_gem_prime.c:25:59: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
25 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_gem_prime.c:25:5: error: conflicting types for 'msm_gem_prime_vmap'
25 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
| ^~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/msm/msm_gem_prime.c:11:
drivers/gpu/drm/msm/msm_drv.h:299:5: note: previous declaration of 'msm_gem_prime_vmap' was here
299 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_gem_prime.c: In function 'msm_gem_prime_vmap':
drivers/gpu/drm/msm/msm_gem_prime.c:32:2: error: implicit declaration of function 'dma_buf_map_set_vaddr' [-Werror=implicit-function-declaration]
32 | dma_buf_map_set_vaddr(map, vaddr);
| ^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_gem_prime.c: At top level:
drivers/gpu/drm/msm/msm_gem_prime.c:37:62: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
37 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map)
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_gem_prime.c:37:6: error: conflicting types for 'msm_gem_prime_vunmap'
37 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map)
| ^~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/msm/msm_gem_prime.c:11:
drivers/gpu/drm/msm/msm_drv.h:300:6: note: previous declaration of 'msm_gem_prime_vunmap' was here
300 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
..
vim +299 drivers/gpu/drm/msm/msm_drv.h
275
276 int msm_gem_mmap_obj(struct drm_gem_object *obj,
277 struct vm_area_struct *vma);
278 int msm_gem_mmap(struct file *filp, struct vm_area_struct *vma);
279 vm_fault_t msm_gem_fault(struct vm_fault *vmf);
280 uint64_t msm_gem_mmap_offset(struct drm_gem_object *obj);
281 int msm_gem_get_iova(struct drm_gem_object *obj,
282 struct msm_gem_address_space *aspace, uint64_t *iova);
283 int msm_gem_get_and_pin_iova_range(struct drm_gem_object *obj,
284 struct msm_gem_address_space *aspace, uint64_t *iova,
285 u64 range_start, u64 range_end);
286 int msm_gem_get_and_pin_iova(struct drm_gem_object *obj,
287 struct msm_gem_address_space *aspace, uint64_t *iova);
288 uint64_t msm_gem_iova(struct drm_gem_object *obj,
289 struct msm_gem_address_space *aspace);
290 void msm_gem_unpin_iova(struct drm_gem_object *obj,
291 struct msm_gem_address_space *aspace);
292 struct page **msm_gem_get_pages(struct drm_gem_object *obj);
293 void msm_gem_put_pages(struct drm_gem_object *obj);
294 int msm_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
295 struct drm_mode_create_dumb *args);
296 int msm_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev,
297 uint32_t handle, uint64_t *offset);
298 struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj);
> 299 int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
300 void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
301 int msm_gem_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma);
302 struct drm_gem_object *msm_gem_prime_import_sg_table(struct drm_device *dev,
303 struct dma_buf_attachment *attach, struct sg_table *sg);
304 int msm_gem_prime_pin(struct drm_gem_object *obj);
305 void msm_gem_prime_unpin(struct drm_gem_object *obj);
306 void *msm_gem_get_vaddr(struct drm_gem_object *obj);
307 void *msm_gem_get_vaddr_active(struct drm_gem_object *obj);
308 void msm_gem_put_vaddr(struct drm_gem_object *obj);
309 int msm_gem_madvise(struct drm_gem_object *obj, unsigned madv);
310 int msm_gem_sync_object(struct drm_gem_object *obj,
311 struct msm_fence_context *fctx, bool exclusive);
312 void msm_gem_active_get(struct drm_gem_object *obj, struct msm_gpu *gpu);
313 void msm_gem_active_put(struct drm_gem_object *obj);
314 int msm_gem_cpu_prep(struct drm_gem_object *obj, uint32_t op, ktime_t *timeout);
315 int msm_gem_cpu_fini(struct drm_gem_object *obj);
316 void msm_gem_free_object(struct drm_gem_object *obj);
317 int msm_gem_new_handle(struct drm_device *dev, struct drm_file *file,
318 uint32_t size, uint32_t flags, uint32_t *handle, char *name);
319 struct drm_gem_object *msm_gem_new(struct drm_device *dev,
320 uint32_t size, uint32_t flags);
321 struct drm_gem_object *msm_gem_new_locked(struct drm_device *dev,
322 uint32_t size, uint32_t flags);
323 void *msm_gem_kernel_new(struct drm_device *dev, uint32_t size,
324 uint32_t flags, struct msm_gem_address_space *aspace,
325 struct drm_gem_object **bo, uint64_t *iova);
326 void *msm_gem_kernel_new_locked(struct drm_device *dev, uint32_t size,
327 uint32_t flags, struct msm_gem_address_space *aspace,
328 struct drm_gem_object **bo, uint64_t *iova);
329 void msm_gem_kernel_put(struct drm_gem_object *bo,
330 struct msm_gem_address_space *aspace, bool locked);
331 struct drm_gem_object *msm_gem_import(struct drm_device *dev,
332 struct dma_buf *dmabuf, struct sg_table *sgt);
333 void msm_gem_free_work(struct work_struct *work);
334
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 53798 bytes --]
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 2/2] drm/mediatek: Use struct dma_buf_map in GEM vmap ops
2020-11-09 10:32 ` Thomas Zimmermann
` (5 preceding siblings ...)
(?)
@ 2020-11-13 9:30 ` kernel test robot
-1 siblings, 0 replies; 27+ messages in thread
From: kernel test robot @ 2020-11-13 9:30 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 8776 bytes --]
Hi Thomas,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.10-rc3]
[cannot apply to next-20201112]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Thomas-Zimmermann/drm-Build-fixes-for-msm-and-mediatek/20201109-183736
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git f8394f232b1eab649ce2df5c5f15b0e528c92091
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/1e81f225d3ffc9e951faab8deb96ef6209db7742
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Thomas-Zimmermann/drm-Build-fixes-for-msm-and-mediatek/20201109-183736
git checkout 1e81f225d3ffc9e951faab8deb96ef6209db7742
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
In file included from drivers/gpu/drm/mediatek/mtk_drm_crtc.c:23:
>> drivers/gpu/drm/mediatek/mtk_drm_gem.h:48:63: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
48 | int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_gem.h:49:66: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
49 | void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
--
In file included from drivers/gpu/drm/mediatek/mtk_drm_drv.c:32:
>> drivers/gpu/drm/mediatek/mtk_drm_gem.h:48:63: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
48 | int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_gem.h:49:66: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
49 | void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_drv.c:316:24: warning: no previous prototype for 'mtk_drm_gem_prime_import' [-Wmissing-prototypes]
316 | struct drm_gem_object *mtk_drm_gem_prime_import(struct drm_device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_drv.c:337:20: error: initialization of 'void * (*)(struct drm_gem_object *)' from incompatible pointer type 'int (*)(struct drm_gem_object *, struct dma_buf_map *)' [-Werror=incompatible-pointer-types]
337 | .gem_prime_vmap = mtk_drm_gem_prime_vmap,
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_drv.c:337:20: note: (near initialization for 'mtk_drm_driver.gem_prime_vmap')
drivers/gpu/drm/mediatek/mtk_drm_drv.c:338:22: error: initialization of 'void (*)(struct drm_gem_object *, void *)' from incompatible pointer type 'void (*)(struct drm_gem_object *, struct dma_buf_map *)' [-Werror=incompatible-pointer-types]
338 | .gem_prime_vunmap = mtk_drm_gem_prime_vunmap,
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_drv.c:338:22: note: (near initialization for 'mtk_drm_driver.gem_prime_vunmap')
cc1: some warnings being treated as errors
--
In file included from drivers/gpu/drm/mediatek/mtk_drm_gem.c:14:
>> drivers/gpu/drm/mediatek/mtk_drm_gem.h:48:63: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
48 | int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_gem.h:49:66: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
49 | void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_gem.c:232:63: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
232 | int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
| ^~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_gem.c:232:5: error: conflicting types for 'mtk_drm_gem_prime_vmap'
232 | int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/mediatek/mtk_drm_gem.c:14:
drivers/gpu/drm/mediatek/mtk_drm_gem.h:48:5: note: previous declaration of 'mtk_drm_gem_prime_vmap' was here
48 | int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_gem.c: In function 'mtk_drm_gem_prime_vmap':
drivers/gpu/drm/mediatek/mtk_drm_gem.c:259:2: error: implicit declaration of function 'dma_buf_map_set_vaddr' [-Werror=implicit-function-declaration]
259 | dma_buf_map_set_vaddr(map, mtk_gem->kvaddr);
| ^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_gem.c: At top level:
drivers/gpu/drm/mediatek/mtk_drm_gem.c:264:66: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
264 | void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map)
| ^~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_gem.c:264:6: error: conflicting types for 'mtk_drm_gem_prime_vunmap'
264 | void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map)
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/mediatek/mtk_drm_gem.c:14:
drivers/gpu/drm/mediatek/mtk_drm_gem.h:49:6: note: previous declaration of 'mtk_drm_gem_prime_vunmap' was here
49 | void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_gem.c: In function 'mtk_drm_gem_prime_vunmap':
drivers/gpu/drm/mediatek/mtk_drm_gem.c:267:19: error: dereferencing pointer to incomplete type 'struct dma_buf_map'
267 | void *vaddr = map->vaddr;
| ^~
cc1: some warnings being treated as errors
vim +48 drivers/gpu/drm/mediatek/mtk_drm_gem.h
36
37 void mtk_drm_gem_free_object(struct drm_gem_object *gem);
38 struct mtk_drm_gem_obj *mtk_drm_gem_create(struct drm_device *dev, size_t size,
39 bool alloc_kmap);
40 int mtk_drm_gem_dumb_create(struct drm_file *file_priv, struct drm_device *dev,
41 struct drm_mode_create_dumb *args);
42 int mtk_drm_gem_mmap(struct file *filp, struct vm_area_struct *vma);
43 int mtk_drm_gem_mmap_buf(struct drm_gem_object *obj,
44 struct vm_area_struct *vma);
45 struct sg_table *mtk_gem_prime_get_sg_table(struct drm_gem_object *obj);
46 struct drm_gem_object *mtk_gem_prime_import_sg_table(struct drm_device *dev,
47 struct dma_buf_attachment *attach, struct sg_table *sg);
> 48 int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
49 void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
50
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 75362 bytes --]
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 2/2] drm/mediatek: Use struct dma_buf_map in GEM vmap ops
2020-11-09 10:32 ` Thomas Zimmermann
` (6 preceding siblings ...)
(?)
@ 2020-11-14 7:30 ` kernel test robot
-1 siblings, 0 replies; 27+ messages in thread
From: kernel test robot @ 2020-11-14 7:30 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 8627 bytes --]
Hi Thomas,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.10-rc3]
[cannot apply to next-20201113]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Thomas-Zimmermann/drm-Build-fixes-for-msm-and-mediatek/20201109-183736
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git f8394f232b1eab649ce2df5c5f15b0e528c92091
config: arm64-randconfig-r006-20201113 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 9a85643cd357e412cff69067bb5c4840e228c2ab)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/1e81f225d3ffc9e951faab8deb96ef6209db7742
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Thomas-Zimmermann/drm-Build-fixes-for-msm-and-mediatek/20201109-183736
git checkout 1e81f225d3ffc9e951faab8deb96ef6209db7742
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
In file included from drivers/gpu/drm/mediatek/mtk_drm_crtc.c:23:
>> drivers/gpu/drm/mediatek/mtk_drm_gem.h:48:63: warning: declaration of 'struct dma_buf_map' will not be visible outside of this function [-Wvisibility]
int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
^
drivers/gpu/drm/mediatek/mtk_drm_gem.h:49:66: warning: declaration of 'struct dma_buf_map' will not be visible outside of this function [-Wvisibility]
void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
^
2 warnings generated.
--
In file included from drivers/gpu/drm/mediatek/mtk_drm_drv.c:32:
>> drivers/gpu/drm/mediatek/mtk_drm_gem.h:48:63: warning: declaration of 'struct dma_buf_map' will not be visible outside of this function [-Wvisibility]
int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
^
drivers/gpu/drm/mediatek/mtk_drm_gem.h:49:66: warning: declaration of 'struct dma_buf_map' will not be visible outside of this function [-Wvisibility]
void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
^
drivers/gpu/drm/mediatek/mtk_drm_drv.c:316:24: warning: no previous prototype for function 'mtk_drm_gem_prime_import' [-Wmissing-prototypes]
struct drm_gem_object *mtk_drm_gem_prime_import(struct drm_device *dev,
^
drivers/gpu/drm/mediatek/mtk_drm_drv.c:316:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
struct drm_gem_object *mtk_drm_gem_prime_import(struct drm_device *dev,
^
static
drivers/gpu/drm/mediatek/mtk_drm_drv.c:337:20: error: incompatible function pointer types initializing 'void *(*)(struct drm_gem_object *)' with an expression of type 'int (struct drm_gem_object *, struct dma_buf_map *)' [-Werror,-Wincompatible-function-pointer-types]
.gem_prime_vmap = mtk_drm_gem_prime_vmap,
^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_drv.c:338:22: error: incompatible function pointer types initializing 'void (*)(struct drm_gem_object *, void *)' with an expression of type 'void (struct drm_gem_object *, struct dma_buf_map *)' [-Werror,-Wincompatible-function-pointer-types]
.gem_prime_vunmap = mtk_drm_gem_prime_vunmap,
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_drv.c:500:15: warning: cast to smaller integer type 'enum mtk_ddp_comp_type' from 'const void *' [-Wvoid-pointer-to-enum-cast]
comp_type = (enum mtk_ddp_comp_type)of_id->data;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 warnings and 2 errors generated.
--
In file included from drivers/gpu/drm/mediatek/mtk_drm_gem.c:14:
>> drivers/gpu/drm/mediatek/mtk_drm_gem.h:48:63: warning: declaration of 'struct dma_buf_map' will not be visible outside of this function [-Wvisibility]
int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
^
drivers/gpu/drm/mediatek/mtk_drm_gem.h:49:66: warning: declaration of 'struct dma_buf_map' will not be visible outside of this function [-Wvisibility]
void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
^
drivers/gpu/drm/mediatek/mtk_drm_gem.c:232:63: warning: declaration of 'struct dma_buf_map' will not be visible outside of this function [-Wvisibility]
int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
^
drivers/gpu/drm/mediatek/mtk_drm_gem.c:232:5: error: conflicting types for 'mtk_drm_gem_prime_vmap'
int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
^
drivers/gpu/drm/mediatek/mtk_drm_gem.h:48:5: note: previous declaration is here
int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
^
drivers/gpu/drm/mediatek/mtk_drm_gem.c:259:2: error: implicit declaration of function 'dma_buf_map_set_vaddr' [-Werror,-Wimplicit-function-declaration]
dma_buf_map_set_vaddr(map, mtk_gem->kvaddr);
^
drivers/gpu/drm/mediatek/mtk_drm_gem.c:264:66: warning: declaration of 'struct dma_buf_map' will not be visible outside of this function [-Wvisibility]
void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map)
^
drivers/gpu/drm/mediatek/mtk_drm_gem.c:264:6: error: conflicting types for 'mtk_drm_gem_prime_vunmap'
void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map)
^
drivers/gpu/drm/mediatek/mtk_drm_gem.h:49:6: note: previous declaration is here
void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
^
drivers/gpu/drm/mediatek/mtk_drm_gem.c:267:19: error: incomplete definition of type 'struct dma_buf_map'
void *vaddr = map->vaddr;
~~~^
drivers/gpu/drm/mediatek/mtk_drm_gem.c:264:66: note: forward declaration of 'struct dma_buf_map'
void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map)
^
4 warnings and 4 errors generated.
vim +48 drivers/gpu/drm/mediatek/mtk_drm_gem.h
36
37 void mtk_drm_gem_free_object(struct drm_gem_object *gem);
38 struct mtk_drm_gem_obj *mtk_drm_gem_create(struct drm_device *dev, size_t size,
39 bool alloc_kmap);
40 int mtk_drm_gem_dumb_create(struct drm_file *file_priv, struct drm_device *dev,
41 struct drm_mode_create_dumb *args);
42 int mtk_drm_gem_mmap(struct file *filp, struct vm_area_struct *vma);
43 int mtk_drm_gem_mmap_buf(struct drm_gem_object *obj,
44 struct vm_area_struct *vma);
45 struct sg_table *mtk_gem_prime_get_sg_table(struct drm_gem_object *obj);
46 struct drm_gem_object *mtk_gem_prime_import_sg_table(struct drm_device *dev,
47 struct dma_buf_attachment *attach, struct sg_table *sg);
> 48 int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
49 void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
50
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 41065 bytes --]
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 1/2] drm/msm: Use struct dma_buf_map in GEM vmap ops
2020-11-09 10:32 ` Thomas Zimmermann
` (5 preceding siblings ...)
(?)
@ 2020-11-16 6:17 ` kernel test robot
-1 siblings, 0 replies; 27+ messages in thread
From: kernel test robot @ 2020-11-16 6:17 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 10335 bytes --]
Hi Thomas,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.10-rc4]
[cannot apply to next-20201113]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Thomas-Zimmermann/drm-Build-fixes-for-msm-and-mediatek/20201109-183736
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git f8394f232b1eab649ce2df5c5f15b0e528c92091
config: arm-defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/23efc78fd2f5e71dabe163eec64d609891160175
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Thomas-Zimmermann/drm-Build-fixes-for-msm-and-mediatek/20201109-183736
git checkout 23efc78fd2f5e71dabe163eec64d609891160175
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
In file included from drivers/gpu/drm/msm/msm_drv.c:21:
drivers/gpu/drm/msm/msm_drv.h:299:59: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
299 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.h:300:62: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
300 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.c:123:15: warning: no previous prototype for '_msm_ioremap' [-Wmissing-prototypes]
123 | void __iomem *_msm_ioremap(struct platform_device *pdev, const char *name,
| ^~~~~~~~~~~~
>> drivers/gpu/drm/msm/msm_drv.c:1016:24: error: initialization of 'void * (*)(struct drm_gem_object *)' from incompatible pointer type 'int (*)(struct drm_gem_object *, struct dma_buf_map *)' [-Werror=incompatible-pointer-types]
1016 | .gem_prime_vmap = msm_gem_prime_vmap,
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.c:1016:24: note: (near initialization for 'msm_driver.gem_prime_vmap')
>> drivers/gpu/drm/msm/msm_drv.c:1017:24: error: initialization of 'void (*)(struct drm_gem_object *, void *)' from incompatible pointer type 'void (*)(struct drm_gem_object *, struct dma_buf_map *)' [-Werror=incompatible-pointer-types]
1017 | .gem_prime_vunmap = msm_gem_prime_vunmap,
| ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.c:1017:24: note: (near initialization for 'msm_driver.gem_prime_vunmap')
cc1: some warnings being treated as errors
--
In file included from drivers/gpu/drm/msm/msm_gem_prime.c:11:
drivers/gpu/drm/msm/msm_drv.h:299:59: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
299 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.h:300:62: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
300 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
>> drivers/gpu/drm/msm/msm_gem_prime.c:25:59: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
25 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
| ^~~~~~~~~~~
>> drivers/gpu/drm/msm/msm_gem_prime.c:25:5: error: conflicting types for 'msm_gem_prime_vmap'
25 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
| ^~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/msm/msm_gem_prime.c:11:
drivers/gpu/drm/msm/msm_drv.h:299:5: note: previous declaration of 'msm_gem_prime_vmap' was here
299 | int msm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_gem_prime.c: In function 'msm_gem_prime_vmap':
>> drivers/gpu/drm/msm/msm_gem_prime.c:32:2: error: implicit declaration of function 'dma_buf_map_set_vaddr' [-Werror=implicit-function-declaration]
32 | dma_buf_map_set_vaddr(map, vaddr);
| ^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_gem_prime.c: At top level:
drivers/gpu/drm/msm/msm_gem_prime.c:37:62: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
37 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map)
| ^~~~~~~~~~~
>> drivers/gpu/drm/msm/msm_gem_prime.c:37:6: error: conflicting types for 'msm_gem_prime_vunmap'
37 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map)
| ^~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/msm/msm_gem_prime.c:11:
drivers/gpu/drm/msm/msm_drv.h:300:6: note: previous declaration of 'msm_gem_prime_vunmap' was here
300 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +1016 drivers/gpu/drm/msm/msm_drv.c
c8afe684c95cd17 Rob Clark 2013-06-26 992
c8afe684c95cd17 Rob Clark 2013-06-26 993 static struct drm_driver msm_driver = {
5b38e7475e3dc54 Daniel Vetter 2019-01-29 994 .driver_features = DRIVER_GEM |
b4b15c865da67e6 Rob Clark 2013-09-28 995 DRIVER_RENDER |
a5436e1d241488f Rob Clark 2015-06-04 996 DRIVER_ATOMIC |
ab723b7a992a19b Bas Nieuwenhuizen 2020-01-24 997 DRIVER_MODESET |
ab723b7a992a19b Bas Nieuwenhuizen 2020-01-24 998 DRIVER_SYNCOBJ,
7198e6b03155f6d Rob Clark 2013-07-19 999 .open = msm_open,
94df145c7e17c62 Daniel Vetter 2017-03-08 1000 .postclose = msm_postclose,
4ccbc6e57562965 Noralf Trønnes 2017-12-05 1001 .lastclose = drm_fb_helper_lastclose,
c8afe684c95cd17 Rob Clark 2013-06-26 1002 .irq_handler = msm_irq,
c8afe684c95cd17 Rob Clark 2013-06-26 1003 .irq_preinstall = msm_irq_preinstall,
c8afe684c95cd17 Rob Clark 2013-06-26 1004 .irq_postinstall = msm_irq_postinstall,
c8afe684c95cd17 Rob Clark 2013-06-26 1005 .irq_uninstall = msm_irq_uninstall,
48e7f18392c66f9 Kristian H. Kristensen 2019-03-20 1006 .gem_free_object_unlocked = msm_gem_free_object,
c8afe684c95cd17 Rob Clark 2013-06-26 1007 .gem_vm_ops = &vm_ops,
c8afe684c95cd17 Rob Clark 2013-06-26 1008 .dumb_create = msm_gem_dumb_create,
c8afe684c95cd17 Rob Clark 2013-06-26 1009 .dumb_map_offset = msm_gem_dumb_map_offset,
05b849111c07454 Rob Clark 2013-09-28 1010 .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
05b849111c07454 Rob Clark 2013-09-28 1011 .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
05b849111c07454 Rob Clark 2013-09-28 1012 .gem_prime_pin = msm_gem_prime_pin,
05b849111c07454 Rob Clark 2013-09-28 1013 .gem_prime_unpin = msm_gem_prime_unpin,
05b849111c07454 Rob Clark 2013-09-28 1014 .gem_prime_get_sg_table = msm_gem_prime_get_sg_table,
05b849111c07454 Rob Clark 2013-09-28 1015 .gem_prime_import_sg_table = msm_gem_prime_import_sg_table,
05b849111c07454 Rob Clark 2013-09-28 @1016 .gem_prime_vmap = msm_gem_prime_vmap,
05b849111c07454 Rob Clark 2013-09-28 @1017 .gem_prime_vunmap = msm_gem_prime_vunmap,
77a147e742afe33 Daniel Thompson 2014-11-12 1018 .gem_prime_mmap = msm_gem_prime_mmap,
c8afe684c95cd17 Rob Clark 2013-06-26 1019 #ifdef CONFIG_DEBUG_FS
c8afe684c95cd17 Rob Clark 2013-06-26 1020 .debugfs_init = msm_debugfs_init,
c8afe684c95cd17 Rob Clark 2013-06-26 1021 #endif
7198e6b03155f6d Rob Clark 2013-07-19 1022 .ioctls = msm_ioctls,
167b606aa262270 Jordan Crouse 2017-05-08 1023 .num_ioctls = ARRAY_SIZE(msm_ioctls),
c8afe684c95cd17 Rob Clark 2013-06-26 1024 .fops = &fops,
c8afe684c95cd17 Rob Clark 2013-06-26 1025 .name = "msm",
c8afe684c95cd17 Rob Clark 2013-06-26 1026 .desc = "MSM Snapdragon DRM",
c8afe684c95cd17 Rob Clark 2013-06-26 1027 .date = "20130625",
a8d854c102f8809 Rob Clark 2016-06-01 1028 .major = MSM_VERSION_MAJOR,
a8d854c102f8809 Rob Clark 2016-06-01 1029 .minor = MSM_VERSION_MINOR,
a8d854c102f8809 Rob Clark 2016-06-01 1030 .patchlevel = MSM_VERSION_PATCHLEVEL,
c8afe684c95cd17 Rob Clark 2013-06-26 1031 };
c8afe684c95cd17 Rob Clark 2013-06-26 1032
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 53829 bytes --]
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 2/2] drm/mediatek: Use struct dma_buf_map in GEM vmap ops
2020-11-09 10:32 ` Thomas Zimmermann
` (7 preceding siblings ...)
(?)
@ 2020-11-16 6:41 ` kernel test robot
-1 siblings, 0 replies; 27+ messages in thread
From: kernel test robot @ 2020-11-16 6:41 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 5993 bytes --]
Hi Thomas,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.10-rc4]
[cannot apply to next-20201113]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Thomas-Zimmermann/drm-Build-fixes-for-msm-and-mediatek/20201109-183736
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git f8394f232b1eab649ce2df5c5f15b0e528c92091
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/1e81f225d3ffc9e951faab8deb96ef6209db7742
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Thomas-Zimmermann/drm-Build-fixes-for-msm-and-mediatek/20201109-183736
git checkout 1e81f225d3ffc9e951faab8deb96ef6209db7742
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
In file included from drivers/gpu/drm/mediatek/mtk_drm_gem.c:14:
drivers/gpu/drm/mediatek/mtk_drm_gem.h:48:63: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
48 | int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_gem.h:49:66: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
49 | void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~
>> drivers/gpu/drm/mediatek/mtk_drm_gem.c:232:63: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
232 | int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
| ^~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_gem.c:232:5: error: conflicting types for 'mtk_drm_gem_prime_vmap'
232 | int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/mediatek/mtk_drm_gem.c:14:
drivers/gpu/drm/mediatek/mtk_drm_gem.h:48:5: note: previous declaration of 'mtk_drm_gem_prime_vmap' was here
48 | int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_gem.c: In function 'mtk_drm_gem_prime_vmap':
drivers/gpu/drm/mediatek/mtk_drm_gem.c:259:2: error: implicit declaration of function 'dma_buf_map_set_vaddr' [-Werror=implicit-function-declaration]
259 | dma_buf_map_set_vaddr(map, mtk_gem->kvaddr);
| ^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_gem.c: At top level:
drivers/gpu/drm/mediatek/mtk_drm_gem.c:264:66: warning: 'struct dma_buf_map' declared inside parameter list will not be visible outside of this definition or declaration
264 | void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map)
| ^~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_gem.c:264:6: error: conflicting types for 'mtk_drm_gem_prime_vunmap'
264 | void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map)
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/mediatek/mtk_drm_gem.c:14:
drivers/gpu/drm/mediatek/mtk_drm_gem.h:49:6: note: previous declaration of 'mtk_drm_gem_prime_vunmap' was here
49 | void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map);
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/mediatek/mtk_drm_gem.c: In function 'mtk_drm_gem_prime_vunmap':
drivers/gpu/drm/mediatek/mtk_drm_gem.c:267:19: error: dereferencing pointer to incomplete type 'struct dma_buf_map'
267 | void *vaddr = map->vaddr;
| ^~
cc1: some warnings being treated as errors
vim +232 drivers/gpu/drm/mediatek/mtk_drm_gem.c
231
> 232 int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
233 {
234 struct mtk_drm_gem_obj *mtk_gem = to_mtk_gem_obj(obj);
235 struct sg_table *sgt = NULL;
236 unsigned int npages;
237
238 if (mtk_gem->kvaddr)
239 goto out;
240
241 sgt = mtk_gem_prime_get_sg_table(obj);
242 if (IS_ERR(sgt))
243 return PTR_ERR(sgt);
244
245 npages = obj->size >> PAGE_SHIFT;
246 mtk_gem->pages = kcalloc(npages, sizeof(*mtk_gem->pages), GFP_KERNEL);
247 if (!mtk_gem->pages) {
248 kfree(sgt);
249 return -ENOMEM;
250 }
251
252 drm_prime_sg_to_page_addr_arrays(sgt, mtk_gem->pages, NULL, npages);
253
254 mtk_gem->kvaddr = vmap(mtk_gem->pages, npages, VM_MAP,
255 pgprot_writecombine(PAGE_KERNEL));
256
257 out:
258 kfree(sgt);
259 dma_buf_map_set_vaddr(map, mtk_gem->kvaddr);
260
261 return 0;
262 }
263
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 75361 bytes --]
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 0/2] drm: Build fixes for msm and mediatek
2020-11-09 10:32 ` Thomas Zimmermann
` (3 preceding siblings ...)
(?)
@ 2020-12-29 20:15 ` patchwork-bot+linux-arm-msm
-1 siblings, 0 replies; 27+ messages in thread
From: patchwork-bot+linux-arm-msm @ 2020-12-29 20:15 UTC (permalink / raw)
To: Thomas Zimmermann; +Cc: linux-arm-msm
Hello:
This series was applied to qcom/linux.git (refs/heads/for-next):
On Mon, 9 Nov 2020 11:32:40 +0100 you wrote:
> Commit 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and
> convert GEM backends") changed DRM's internal GEM vmap callbacks. Msm and
> mediatek were forgotten during the conversion.
>
> Thomas Zimmermann (2):
> drm/msm: Use struct dma_buf_map in GEM vmap ops
> drm/mediatek: Use struct dma_buf_map in GEM vmap ops
>
> [...]
Here is the summary with links:
- [1/2] drm/msm: Use struct dma_buf_map in GEM vmap ops
https://git.kernel.org/qcom/c/b47f9f92d6fe
- [2/2] drm/mediatek: Use struct dma_buf_map in GEM vmap ops
https://git.kernel.org/qcom/c/7e542ff8b463
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 27+ messages in thread
end of thread, other threads:[~2020-12-29 20:17 UTC | newest]
Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-09 10:32 [PATCH 0/2] drm: Build fixes for msm and mediatek Thomas Zimmermann
2020-11-09 10:32 ` Thomas Zimmermann
2020-11-09 10:32 ` [PATCH 1/2] drm/msm: Use struct dma_buf_map in GEM vmap ops Thomas Zimmermann
2020-11-09 10:32 ` Thomas Zimmermann
2020-11-09 10:32 ` Thomas Zimmermann
2020-11-09 10:32 ` Thomas Zimmermann
2020-11-09 10:32 ` Thomas Zimmermann
2020-11-09 10:32 ` Thomas Zimmermann
2020-11-13 8:59 ` kernel test robot
2020-11-16 6:17 ` kernel test robot
2020-11-09 10:32 ` [PATCH 2/2] drm/mediatek: " Thomas Zimmermann
2020-11-09 10:32 ` Thomas Zimmermann
2020-11-09 10:32 ` Thomas Zimmermann
2020-11-09 10:32 ` Thomas Zimmermann
2020-11-09 10:32 ` Thomas Zimmermann
2020-11-09 10:32 ` Thomas Zimmermann
2020-11-11 14:23 ` Chun-Kuang Hu
2020-11-11 14:23 ` Chun-Kuang Hu
2020-11-11 14:23 ` Chun-Kuang Hu
2020-11-11 14:23 ` Chun-Kuang Hu
2020-11-11 14:23 ` Chun-Kuang Hu
2020-11-13 9:30 ` kernel test robot
2020-11-14 7:30 ` kernel test robot
2020-11-16 6:41 ` kernel test robot
2020-11-10 9:33 ` [PATCH 0/2] drm: Build fixes for msm and mediatek Daniel Vetter
2020-11-10 9:33 ` Daniel Vetter
2020-12-29 20:15 ` patchwork-bot+linux-arm-msm
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.