All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.