dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions
@ 2020-06-05  7:32 Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 01/43] drm/cma-helper: Rename symbols from drm_cma_gem_ to drm_gem_cma_ Thomas Zimmermann
                   ` (43 more replies)
  0 siblings, 44 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel

Most of the CMA-based drivers use the default implementation for the
callbacks in struct drm_driver. With this patch, these interfaces are
initialized with a common helper macro and GEM object functions replace
several deprecated interfaces.

To address Laurent's comment on the amount of changes per patch, I re-
organized the series.

 1) There are now DRIVER_OPS macros for drivers that require a virtual
    address on imported buffers, and macros for drivers that don't. Therefore,
    drivers don't switch to drm_gem_cma_prime_import_sg_table_vmap()
    implicitly when they begin using the DRIVER_OPS macro.

 2) I split each driver's patch into two: the first converts the driver to
    GEM CMA object functions, the second introduces the DRIVER_OPS macro.
    Neither patch should result in a functional change. I kept existing R-b
    and A-b tags on both patches. Existing Tested-by tags are only on the
    final patch, as that's closest to what has been tested.

 3) I dropped the conversion to drm_gem_prime_mmap() from the patchset. As
    part of this change, the CMA object functions could provide an mmap
    function, which is worth it's own series. The patch for aspeed requires
    drm_gem_prime_mmap(), so I removed it from the series.

Patches 1 to 3 update the existing macro and helper to similar naming as with
SHMEM, add a new DRIVER_OPS macro, and add helpers for drivers that override
the default implementation for .dumb_create(). The remaining patches up to
the final one convert the drivers. The kirin driver also changes to the
default dumb_create function. The final patch deletes .gem_print_info from
struct drm_driver.

I don't have much of the hardware, so it's only compile-tested on aarch64,
arm and x86-64 only. Several patches have Tested-by tags.

v3:
	* reorganized the series
	* split each driver patch into two small ones (Laurent)
	* drop the conversion to drm_gem_prime_mmap()
	* remove the patch for aspeed
v2:
  	* add more detailed commit messages (Laurent, Sam)
	* use default .dumb_create implementation in kirin (Emil)
	* fix zte build error (Sam, Emil)
	* introduce DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE (everyone)

Thomas Zimmermann (43):
  drm/cma-helper: Rename symbols from drm_cma_gem_ to drm_gem_cma_
  drm/cma-helper: Rework DRM_GEM_CMA_VMAP_DRIVER_OPS macro
  drm/cma-helper: Add DRM_GEM_CMA_DRIVER_OPS to set default GEM CMA
    functions
  drm/arc: Use GEM CMA object functions
  drm/arc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  drm/arm: Use GEM CMA object functions
  drm/arm: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  drm/atmel-hlcdc: Use GEM CMA object functions
  drm/atmel-hlcdc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  drm/fsl-dcu: Use GEM CMA object functions
  drm/fsl-dcu: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  drm/hisilicon/kirin: Set .dumb_create to drm_gem_cma_dumb_create()
  drm/hisilicon/kirin: Use GEM CMA object functions
  drm/hisilicon/kirin: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  drm/imx: Use GEM CMA object functions
  drm/imx: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  drm/ingenic: Use GEM CMA object functions
  drm/ingenic: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  drm/komeda: Use GEM CMA object functions
  drm/komeda: Set GEM CMA functions with
    DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE
  drm/malidp: Use GEM CMA object functions
  drm/malidp: Set GEM CMA functions with
    DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE
  drm/mcde: Use GEM CMA object functions
  drm/mcde: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  drm/meson: Use GEM CMA object functions
  drm/meson: Set GEM CMA functions with
    DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE
  drm/mxsfb: Use GEM CMA object functions
  drm/mxsfb: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  drm/rcar-du: Use GEM CMA object functions
  drm/rcar-du: Set GEM CMA functions with
    DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE
  drm/shmobile: Use GEM CMA object functions
  drm/shmobile: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  drm/stm: Use GEM CMA object functions
  drm/stm: Set GEM CMA functions with
    DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE
  drm/sti: Use GEM CMA object functions
  drm/sti: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  drm/tilcdc: Use GEM CMA object functions
  drm/tilcdc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  drm/tve200: Use GEM CMA object functions
  drm/tve200: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  drm/zte: Use GEM CMA object functions
  drm/zte: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  drm: Remove struct drm_driver.gem_print_info

 drivers/gpu/drm/arc/arcpgu_drv.c              | 12 +--
 .../gpu/drm/arm/display/komeda/komeda_kms.c   | 11 +--
 drivers/gpu/drm/arm/hdlcd_drv.c               | 12 +--
 drivers/gpu/drm/arm/malidp_drv.c              | 11 +--
 drivers/gpu/drm/aspeed/aspeed_gfx_drv.c       |  2 +-
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c  | 11 +--
 drivers/gpu/drm/drm_gem.c                     |  2 -
 drivers/gpu/drm/drm_gem_cma_helper.c          | 12 +--
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c     | 11 +--
 .../gpu/drm/hisilicon/kirin/kirin_drm_ade.c   | 12 +--
 drivers/gpu/drm/imx/imx-drm-core.c            | 12 +--
 drivers/gpu/drm/ingenic/ingenic-drm.c         | 13 +---
 drivers/gpu/drm/mcde/mcde_drv.c               | 12 +--
 drivers/gpu/drm/meson/meson_drv.c             | 15 +---
 drivers/gpu/drm/mxsfb/mxsfb_drv.c             | 11 +--
 drivers/gpu/drm/rcar-du/rcar_du_drv.c         | 11 +--
 drivers/gpu/drm/shmobile/shmob_drm_drv.c      | 11 +--
 drivers/gpu/drm/sti/sti_drv.c                 | 12 +--
 drivers/gpu/drm/stm/drv.c                     | 11 +--
 drivers/gpu/drm/sun4i/sun4i_drv.c             |  3 +-
 drivers/gpu/drm/tidss/tidss_drv.c             |  2 +-
 drivers/gpu/drm/tilcdc/tilcdc_drv.c           | 13 +---
 drivers/gpu/drm/tiny/hx8357d.c                |  2 +-
 drivers/gpu/drm/tiny/ili9225.c                |  2 +-
 drivers/gpu/drm/tiny/ili9341.c                |  2 +-
 drivers/gpu/drm/tiny/ili9486.c                |  2 +-
 drivers/gpu/drm/tiny/mi0283qt.c               |  2 +-
 drivers/gpu/drm/tiny/repaper.c                |  2 +-
 drivers/gpu/drm/tiny/st7586.c                 |  2 +-
 drivers/gpu/drm/tiny/st7735r.c                |  2 +-
 drivers/gpu/drm/tve200/tve200_drv.c           | 12 +--
 drivers/gpu/drm/zte/zx_drm_drv.c              | 11 +--
 include/drm/drm_drv.h                         | 17 -----
 include/drm/drm_gem_cma_helper.h              | 74 +++++++++++++++++--
 34 files changed, 105 insertions(+), 247 deletions(-)

--
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 58+ messages in thread

* [PATCH v3 01/43] drm/cma-helper: Rename symbols from drm_cma_gem_ to drm_gem_cma_
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  8:40   ` Laurent Pinchart
  2020-06-05  7:32 ` [PATCH v3 02/43] drm/cma-helper: Rework DRM_GEM_CMA_VMAP_DRIVER_OPS macro Thomas Zimmermann
                   ` (42 subsequent siblings)
  43 siblings, 1 reply; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel

This fixes the naming of several symbols within CMA helpers. No functional
changes are made.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/aspeed/aspeed_gfx_drv.c |  2 +-
 drivers/gpu/drm/drm_gem_cma_helper.c    | 10 +++++-----
 include/drm/drm_gem_cma_helper.h        |  4 ++--
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c b/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
index 6b27242b9ee3c..5e7ea0459d018 100644
--- a/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
+++ b/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
@@ -188,7 +188,7 @@ DEFINE_DRM_GEM_CMA_FOPS(fops);
 
 static struct drm_driver aspeed_gfx_driver = {
 	.driver_features        = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
-	.gem_create_object	= drm_cma_gem_create_object_default_funcs,
+	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
 	.dumb_create		= drm_gem_cma_dumb_create,
 	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
diff --git a/drivers/gpu/drm/drm_gem_cma_helper.c b/drivers/gpu/drm/drm_gem_cma_helper.c
index b3db3ca7bd7a7..842e2fa332354 100644
--- a/drivers/gpu/drm/drm_gem_cma_helper.c
+++ b/drivers/gpu/drm/drm_gem_cma_helper.c
@@ -572,7 +572,7 @@ void drm_gem_cma_prime_vunmap(struct drm_gem_object *obj, void *vaddr)
 }
 EXPORT_SYMBOL_GPL(drm_gem_cma_prime_vunmap);
 
-static const struct drm_gem_object_funcs drm_cma_gem_default_funcs = {
+static const struct drm_gem_object_funcs drm_gem_cma_default_funcs = {
 	.free = drm_gem_cma_free_object,
 	.print_info = drm_gem_cma_print_info,
 	.get_sg_table = drm_gem_cma_prime_get_sg_table,
@@ -581,7 +581,7 @@ static const struct drm_gem_object_funcs drm_cma_gem_default_funcs = {
 };
 
 /**
- * drm_cma_gem_create_object_default_funcs - Create a CMA GEM object with a
+ * drm_gem_cma_create_object_default_funcs - Create a CMA GEM object with a
  *                                           default function table
  * @dev: DRM device
  * @size: Size of the object to allocate
@@ -593,7 +593,7 @@ static const struct drm_gem_object_funcs drm_cma_gem_default_funcs = {
  * A pointer to a allocated GEM object or an error pointer on failure.
  */
 struct drm_gem_object *
-drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size)
+drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size)
 {
 	struct drm_gem_cma_object *cma_obj;
 
@@ -601,11 +601,11 @@ drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size)
 	if (!cma_obj)
 		return NULL;
 
-	cma_obj->base.funcs = &drm_cma_gem_default_funcs;
+	cma_obj->base.funcs = &drm_gem_cma_default_funcs;
 
 	return &cma_obj->base;
 }
-EXPORT_SYMBOL(drm_cma_gem_create_object_default_funcs);
+EXPORT_SYMBOL(drm_gem_cma_create_object_default_funcs);
 
 /**
  * drm_gem_cma_prime_import_sg_table_vmap - PRIME import another driver's
diff --git a/include/drm/drm_gem_cma_helper.h b/include/drm/drm_gem_cma_helper.h
index 947ac95eb24a9..64b7e9d42129a 100644
--- a/include/drm/drm_gem_cma_helper.h
+++ b/include/drm/drm_gem_cma_helper.h
@@ -107,7 +107,7 @@ void *drm_gem_cma_prime_vmap(struct drm_gem_object *obj);
 void drm_gem_cma_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
 
 struct drm_gem_object *
-drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size);
+drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size);
 
 /**
  * DRM_GEM_CMA_VMAP_DRIVER_OPS - CMA GEM driver operations ensuring a virtual
@@ -118,7 +118,7 @@ drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size);
  * imported buffers.
  */
 #define DRM_GEM_CMA_VMAP_DRIVER_OPS \
-	.gem_create_object	= drm_cma_gem_create_object_default_funcs, \
+	.gem_create_object	= drm_gem_cma_create_object_default_funcs, \
 	.dumb_create		= drm_gem_cma_dumb_create, \
 	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd, \
 	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle, \
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 02/43] drm/cma-helper: Rework DRM_GEM_CMA_VMAP_DRIVER_OPS macro
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 01/43] drm/cma-helper: Rename symbols from drm_cma_gem_ to drm_gem_cma_ Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 03/43] drm/cma-helper: Add DRM_GEM_CMA_DRIVER_OPS to set default GEM CMA functions Thomas Zimmermann
                   ` (41 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Rename the macro to DRM_GEM_CMA_DRIVER_OPS_VMAP to align naming with
SHMEM helpers and drm_gem_cma_prime_import_sg_table_vmap(). An variant of
the macro is provided for drivers that override the default .dumb_create
callback. Adapt drivers to the changes.

v3:
	* rename macro to signal implicit vmap on imported buffers
v2:
	* provide DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/drm_gem_cma_helper.c |  2 +-
 drivers/gpu/drm/sun4i/sun4i_drv.c    |  3 +--
 drivers/gpu/drm/tidss/tidss_drv.c    |  2 +-
 drivers/gpu/drm/tiny/hx8357d.c       |  2 +-
 drivers/gpu/drm/tiny/ili9225.c       |  2 +-
 drivers/gpu/drm/tiny/ili9341.c       |  2 +-
 drivers/gpu/drm/tiny/ili9486.c       |  2 +-
 drivers/gpu/drm/tiny/mi0283qt.c      |  2 +-
 drivers/gpu/drm/tiny/repaper.c       |  2 +-
 drivers/gpu/drm/tiny/st7586.c        |  2 +-
 drivers/gpu/drm/tiny/st7735r.c       |  2 +-
 include/drm/drm_gem_cma_helper.h     | 30 ++++++++++++++++++++++++----
 12 files changed, 37 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/drm_gem_cma_helper.c b/drivers/gpu/drm/drm_gem_cma_helper.c
index 842e2fa332354..06a5b9ee1fe07 100644
--- a/drivers/gpu/drm/drm_gem_cma_helper.c
+++ b/drivers/gpu/drm/drm_gem_cma_helper.c
@@ -620,7 +620,7 @@ EXPORT_SYMBOL(drm_gem_cma_create_object_default_funcs);
  * address set. This address is released when the object is freed.
  *
  * This function can be used as the &drm_driver.gem_prime_import_sg_table
- * callback. The DRM_GEM_CMA_VMAP_DRIVER_OPS() macro provides a shortcut to set
+ * callback. The &DRM_GEM_CMA_DRIVER_OPS_VMAP macro provides a shortcut to set
  * the necessary DRM driver operations.
  *
  * Returns:
diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c
index 328272ff77d84..29861fc81b35f 100644
--- a/drivers/gpu/drm/sun4i/sun4i_drv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
@@ -52,8 +52,7 @@ static struct drm_driver sun4i_drv_driver = {
 	.minor			= 0,
 
 	/* GEM Operations */
-	DRM_GEM_CMA_VMAP_DRIVER_OPS,
-	.dumb_create		= drm_sun4i_gem_dumb_create,
+	DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE(drm_sun4i_gem_dumb_create),
 };
 
 static int sun4i_drv_bind(struct device *dev)
diff --git a/drivers/gpu/drm/tidss/tidss_drv.c b/drivers/gpu/drm/tidss/tidss_drv.c
index 99edc66ebdef2..fee2f6fa35069 100644
--- a/drivers/gpu/drm/tidss/tidss_drv.c
+++ b/drivers/gpu/drm/tidss/tidss_drv.c
@@ -112,7 +112,7 @@ static struct drm_driver tidss_driver = {
 	.driver_features	= DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
 	.fops			= &tidss_fops,
 	.release		= tidss_release,
-	DRM_GEM_CMA_VMAP_DRIVER_OPS,
+	DRM_GEM_CMA_DRIVER_OPS_VMAP,
 	.name			= "tidss",
 	.desc			= "TI Keystone DSS",
 	.date			= "20180215",
diff --git a/drivers/gpu/drm/tiny/hx8357d.c b/drivers/gpu/drm/tiny/hx8357d.c
index b4bc358a3269a..0998309b0d958 100644
--- a/drivers/gpu/drm/tiny/hx8357d.c
+++ b/drivers/gpu/drm/tiny/hx8357d.c
@@ -196,7 +196,7 @@ DEFINE_DRM_GEM_CMA_FOPS(hx8357d_fops);
 static struct drm_driver hx8357d_driver = {
 	.driver_features	= DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
 	.fops			= &hx8357d_fops,
-	DRM_GEM_CMA_VMAP_DRIVER_OPS,
+	DRM_GEM_CMA_DRIVER_OPS_VMAP,
 	.debugfs_init		= mipi_dbi_debugfs_init,
 	.name			= "hx8357d",
 	.desc			= "HX8357D",
diff --git a/drivers/gpu/drm/tiny/ili9225.c b/drivers/gpu/drm/tiny/ili9225.c
index d1a5ab6747d5c..16400064320f3 100644
--- a/drivers/gpu/drm/tiny/ili9225.c
+++ b/drivers/gpu/drm/tiny/ili9225.c
@@ -346,7 +346,7 @@ DEFINE_DRM_GEM_CMA_FOPS(ili9225_fops);
 static struct drm_driver ili9225_driver = {
 	.driver_features	= DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
 	.fops			= &ili9225_fops,
-	DRM_GEM_CMA_VMAP_DRIVER_OPS,
+	DRM_GEM_CMA_DRIVER_OPS_VMAP,
 	.name			= "ili9225",
 	.desc			= "Ilitek ILI9225",
 	.date			= "20171106",
diff --git a/drivers/gpu/drm/tiny/ili9341.c b/drivers/gpu/drm/tiny/ili9341.c
index bb819f45a5d3b..d39c39df56ada 100644
--- a/drivers/gpu/drm/tiny/ili9341.c
+++ b/drivers/gpu/drm/tiny/ili9341.c
@@ -152,7 +152,7 @@ DEFINE_DRM_GEM_CMA_FOPS(ili9341_fops);
 static struct drm_driver ili9341_driver = {
 	.driver_features	= DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
 	.fops			= &ili9341_fops,
-	DRM_GEM_CMA_VMAP_DRIVER_OPS,
+	DRM_GEM_CMA_DRIVER_OPS_VMAP,
 	.debugfs_init		= mipi_dbi_debugfs_init,
 	.name			= "ili9341",
 	.desc			= "Ilitek ILI9341",
diff --git a/drivers/gpu/drm/tiny/ili9486.c b/drivers/gpu/drm/tiny/ili9486.c
index 2702ea557d297..403af68fa4400 100644
--- a/drivers/gpu/drm/tiny/ili9486.c
+++ b/drivers/gpu/drm/tiny/ili9486.c
@@ -165,7 +165,7 @@ DEFINE_DRM_GEM_CMA_FOPS(ili9486_fops);
 static struct drm_driver ili9486_driver = {
 	.driver_features	= DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
 	.fops			= &ili9486_fops,
-	DRM_GEM_CMA_VMAP_DRIVER_OPS,
+	DRM_GEM_CMA_DRIVER_OPS_VMAP,
 	.debugfs_init		= mipi_dbi_debugfs_init,
 	.name			= "ili9486",
 	.desc			= "Ilitek ILI9486",
diff --git a/drivers/gpu/drm/tiny/mi0283qt.c b/drivers/gpu/drm/tiny/mi0283qt.c
index 08ac549ab0f7f..2131b4268c00e 100644
--- a/drivers/gpu/drm/tiny/mi0283qt.c
+++ b/drivers/gpu/drm/tiny/mi0283qt.c
@@ -156,7 +156,7 @@ DEFINE_DRM_GEM_CMA_FOPS(mi0283qt_fops);
 static struct drm_driver mi0283qt_driver = {
 	.driver_features	= DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
 	.fops			= &mi0283qt_fops,
-	DRM_GEM_CMA_VMAP_DRIVER_OPS,
+	DRM_GEM_CMA_DRIVER_OPS_VMAP,
 	.debugfs_init		= mipi_dbi_debugfs_init,
 	.name			= "mi0283qt",
 	.desc			= "Multi-Inno MI0283QT",
diff --git a/drivers/gpu/drm/tiny/repaper.c b/drivers/gpu/drm/tiny/repaper.c
index 1c0e7169545b4..08164e2a2d13b 100644
--- a/drivers/gpu/drm/tiny/repaper.c
+++ b/drivers/gpu/drm/tiny/repaper.c
@@ -946,7 +946,7 @@ DEFINE_DRM_GEM_CMA_FOPS(repaper_fops);
 static struct drm_driver repaper_driver = {
 	.driver_features	= DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
 	.fops			= &repaper_fops,
-	DRM_GEM_CMA_VMAP_DRIVER_OPS,
+	DRM_GEM_CMA_DRIVER_OPS_VMAP,
 	.name			= "repaper",
 	.desc			= "Pervasive Displays RePaper e-ink panels",
 	.date			= "20170405",
diff --git a/drivers/gpu/drm/tiny/st7586.c b/drivers/gpu/drm/tiny/st7586.c
index 2a1fae422f7a2..1311e5df87211 100644
--- a/drivers/gpu/drm/tiny/st7586.c
+++ b/drivers/gpu/drm/tiny/st7586.c
@@ -285,7 +285,7 @@ DEFINE_DRM_GEM_CMA_FOPS(st7586_fops);
 static struct drm_driver st7586_driver = {
 	.driver_features	= DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
 	.fops			= &st7586_fops,
-	DRM_GEM_CMA_VMAP_DRIVER_OPS,
+	DRM_GEM_CMA_DRIVER_OPS_VMAP,
 	.debugfs_init		= mipi_dbi_debugfs_init,
 	.name			= "st7586",
 	.desc			= "Sitronix ST7586",
diff --git a/drivers/gpu/drm/tiny/st7735r.c b/drivers/gpu/drm/tiny/st7735r.c
index 0af1b15efdf8a..c0bc2a18edde9 100644
--- a/drivers/gpu/drm/tiny/st7735r.c
+++ b/drivers/gpu/drm/tiny/st7735r.c
@@ -157,7 +157,7 @@ DEFINE_DRM_GEM_CMA_FOPS(st7735r_fops);
 static struct drm_driver st7735r_driver = {
 	.driver_features	= DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
 	.fops			= &st7735r_fops,
-	DRM_GEM_CMA_VMAP_DRIVER_OPS,
+	DRM_GEM_CMA_DRIVER_OPS_VMAP,
 	.debugfs_init		= mipi_dbi_debugfs_init,
 	.name			= "st7735r",
 	.desc			= "Sitronix ST7735R",
diff --git a/include/drm/drm_gem_cma_helper.h b/include/drm/drm_gem_cma_helper.h
index 64b7e9d42129a..2cdf333ae585d 100644
--- a/include/drm/drm_gem_cma_helper.h
+++ b/include/drm/drm_gem_cma_helper.h
@@ -110,21 +110,43 @@ struct drm_gem_object *
 drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size);
 
 /**
- * DRM_GEM_CMA_VMAP_DRIVER_OPS - CMA GEM driver operations ensuring a virtual
- *                               address on the buffer
+ * DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE - CMA GEM driver operations
+ *                                                ensuring a virtual address
+ *                                                on the buffer
+ * @dumb_create_func: callback function for .dumb_create
  *
  * This macro provides a shortcut for setting the default GEM operations in the
  * &drm_driver structure for drivers that need the virtual address also on
  * imported buffers.
+ *
+ * This macro is a variant of DRM_GEM_CMA_DRIVER_OPS_VMAP for drivers that
+ * override the default implementation of &struct rm_driver.dumb_create. Use
+ * DRM_GEM_CMA_DRIVER_OPS_VMAP if possible.
  */
-#define DRM_GEM_CMA_VMAP_DRIVER_OPS \
+#define DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE(dumb_create_func) \
 	.gem_create_object	= drm_gem_cma_create_object_default_funcs, \
-	.dumb_create		= drm_gem_cma_dumb_create, \
+	.dumb_create		= (dumb_create_func), \
 	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd, \
 	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle, \
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table_vmap, \
 	.gem_prime_mmap		= drm_gem_prime_mmap
 
+/**
+ * DRM_GEM_CMA_DRIVER_OPS_VMAP - CMA GEM driver operations ensuring a virtual
+ *                               address on the buffer
+ *
+ * This macro provides a shortcut for setting the default GEM operations in the
+ * &drm_driver structure for drivers that need the virtual address also on
+ * imported buffers.
+ *
+ * Drivers that come with their own implementation of
+ * &struct drm_driver.dumb_create should use
+ * DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE() instead. Use
+ * DRM_GEM_CMA_DRIVER_OPS_VMAP if possible.
+ */
+#define DRM_GEM_CMA_DRIVER_OPS_VMAP \
+	DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE(drm_gem_cma_dumb_create)
+
 struct drm_gem_object *
 drm_gem_cma_prime_import_sg_table_vmap(struct drm_device *drm,
 				       struct dma_buf_attachment *attach,
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 03/43] drm/cma-helper: Add DRM_GEM_CMA_DRIVER_OPS to set default GEM CMA functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 01/43] drm/cma-helper: Rename symbols from drm_cma_gem_ to drm_gem_cma_ Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 02/43] drm/cma-helper: Rework DRM_GEM_CMA_VMAP_DRIVER_OPS macro Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  8:16   ` Laurent Pinchart
  2020-06-05  7:32 ` [PATCH v3 04/43] drm/arc: Use GEM CMA object functions Thomas Zimmermann
                   ` (40 subsequent siblings)
  43 siblings, 1 reply; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

The macro to DRM_GEM_CMA_DRIVER_OPS sets GEM callbacks in struct drm_driver
to their defaults for CMA. An variant of the macro is provided for drivers
that override the default .dumb_create callback. Adapt drivers to the changes.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 include/drm/drm_gem_cma_helper.h | 46 +++++++++++++++++++++++++++++---
 1 file changed, 43 insertions(+), 3 deletions(-)

diff --git a/include/drm/drm_gem_cma_helper.h b/include/drm/drm_gem_cma_helper.h
index 2cdf333ae585d..5e1e595c0e72d 100644
--- a/include/drm/drm_gem_cma_helper.h
+++ b/include/drm/drm_gem_cma_helper.h
@@ -109,6 +109,42 @@ void drm_gem_cma_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
 struct drm_gem_object *
 drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size);
 
+/**
+ * DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE - CMA GEM driver operations
+ * @dumb_create_func: callback function for .dumb_create
+ *
+ * This macro provides a shortcut for setting the default GEM operations in the
+ * &drm_driver structure.
+ *
+ * This macro is a variant of DRM_GEM_CMA_DRIVER_OPS for drivers that
+ * override the default implementation of &struct rm_driver.dumb_create. Use
+ * DRM_GEM_CMA_DRIVER_OPS if possible. Drivers that require a virtual address
+ * on imported buffers should use
+ * DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE() instead.
+ */
+#define DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(dumb_create_func) \
+	.gem_create_object	= drm_gem_cma_create_object_default_funcs, \
+	.dumb_create		= (dumb_create_func), \
+	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd, \
+	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle, \
+	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table, \
+	.gem_prime_mmap		= drm_gem_cma_prime_mmap
+
+/**
+ * DRM_GEM_CMA_DRIVER_OPS - CMA GEM driver operations
+ *
+ * This macro provides a shortcut for setting the default GEM operations in the
+ * &drm_driver structure.
+ *
+ * Drivers that come with their own implementation of
+ * &struct drm_driver.dumb_create should use
+ * DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE() instead. Use
+ * DRM_GEM_CMA_DRIVER_OPS if possible. Drivers that require a virtual address
+ * on imported buffers should use DRM_GEM_CMA_DRIVER_OPS_VMAP instead.
+ */
+#define DRM_GEM_CMA_DRIVER_OPS \
+	DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(drm_gem_cma_dumb_create)
+
 /**
  * DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE - CMA GEM driver operations
  *                                                ensuring a virtual address
@@ -120,8 +156,10 @@ drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size);
  * imported buffers.
  *
  * This macro is a variant of DRM_GEM_CMA_DRIVER_OPS_VMAP for drivers that
- * override the default implementation of &struct rm_driver.dumb_create. Use
- * DRM_GEM_CMA_DRIVER_OPS_VMAP if possible.
+ * override the default implementation of &struct drm_driver.dumb_create. Use
+ * DRM_GEM_CMA_DRIVER_OPS_VMAP if possible. Drivers that do not require a
+ * virtual address on imported buffers should use
+ * DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE() instead.
  */
 #define DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE(dumb_create_func) \
 	.gem_create_object	= drm_gem_cma_create_object_default_funcs, \
@@ -142,7 +180,9 @@ drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size);
  * Drivers that come with their own implementation of
  * &struct drm_driver.dumb_create should use
  * DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE() instead. Use
- * DRM_GEM_CMA_DRIVER_OPS_VMAP if possible.
+ * DRM_GEM_CMA_DRIVER_OPS_VMAP if possible. Drivers that do not require a
+ * virtual address on imported buffers should use DRM_GEM_CMA_DRIVER_OPS
+ * instead.
  */
 #define DRM_GEM_CMA_DRIVER_OPS_VMAP \
 	DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE(drm_gem_cma_dumb_create)
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 04/43] drm/arc: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (2 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 03/43] drm/cma-helper: Add DRM_GEM_CMA_DRIVER_OPS to set default GEM CMA functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 05/43] drm/arc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
                   ` (39 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/arc/arcpgu_drv.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/arc/arcpgu_drv.c b/drivers/gpu/drm/arc/arcpgu_drv.c
index c05d001163e0e..64ddd998aa44b 100644
--- a/drivers/gpu/drm/arc/arcpgu_drv.c
+++ b/drivers/gpu/drm/arc/arcpgu_drv.c
@@ -154,16 +154,11 @@ static struct drm_driver arcpgu_drm_driver = {
 	.minor = 0,
 	.patchlevel = 0,
 	.fops = &arcpgu_drm_ops,
+	.gem_create_object = drm_gem_cma_create_object_default_funcs,
 	.dumb_create = drm_gem_cma_dumb_create,
 	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_print_info = drm_gem_cma_print_info,
-	.gem_vm_ops = &drm_gem_cma_vm_ops,
-	.gem_prime_get_sg_table = drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap = drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap = drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap = drm_gem_cma_prime_mmap,
 #ifdef CONFIG_DEBUG_FS
 	.debugfs_init = arcpgu_debugfs_init,
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 05/43] drm/arc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (3 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 04/43] drm/arc: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 06/43] drm/arm: Use GEM CMA object functions Thomas Zimmermann
                   ` (38 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS sets the functions in struct drm_driver
to their defaults. No functional changes are made.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/arc/arcpgu_drv.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/arc/arcpgu_drv.c b/drivers/gpu/drm/arc/arcpgu_drv.c
index 64ddd998aa44b..f164818ec477a 100644
--- a/drivers/gpu/drm/arc/arcpgu_drv.c
+++ b/drivers/gpu/drm/arc/arcpgu_drv.c
@@ -154,12 +154,7 @@ static struct drm_driver arcpgu_drm_driver = {
 	.minor = 0,
 	.patchlevel = 0,
 	.fops = &arcpgu_drm_ops,
-	.gem_create_object = drm_gem_cma_create_object_default_funcs,
-	.dumb_create = drm_gem_cma_dumb_create,
-	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap = drm_gem_cma_prime_mmap,
+	DRM_GEM_CMA_DRIVER_OPS,
 #ifdef CONFIG_DEBUG_FS
 	.debugfs_init = arcpgu_debugfs_init,
 #endif
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 06/43] drm/arm: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (4 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 05/43] drm/arc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 07/43] drm/arm: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
                   ` (37 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/arm/hdlcd_drv.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c b/drivers/gpu/drm/arm/hdlcd_drv.c
index 194419f47c5e5..dd4db48ff6361 100644
--- a/drivers/gpu/drm/arm/hdlcd_drv.c
+++ b/drivers/gpu/drm/arm/hdlcd_drv.c
@@ -240,16 +240,11 @@ static struct drm_driver hdlcd_driver = {
 	.irq_preinstall = hdlcd_irq_preinstall,
 	.irq_postinstall = hdlcd_irq_postinstall,
 	.irq_uninstall = hdlcd_irq_uninstall,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_print_info = drm_gem_cma_print_info,
-	.gem_vm_ops = &drm_gem_cma_vm_ops,
+	.gem_create_object = drm_gem_cma_create_object_default_funcs,
 	.dumb_create = drm_gem_cma_dumb_create,
 	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_prime_get_sg_table = drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap = drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap = drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap = drm_gem_cma_prime_mmap,
 #ifdef CONFIG_DEBUG_FS
 	.debugfs_init = hdlcd_debugfs_init,
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 07/43] drm/arm: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (5 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 06/43] drm/arm: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 08/43] drm/atmel-hlcdc: Use GEM CMA object functions Thomas Zimmermann
                   ` (36 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS sets the functions in struct drm_driver
to their defaults. No functional changes are made.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/arm/hdlcd_drv.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c b/drivers/gpu/drm/arm/hdlcd_drv.c
index dd4db48ff6361..c83b81a3a582a 100644
--- a/drivers/gpu/drm/arm/hdlcd_drv.c
+++ b/drivers/gpu/drm/arm/hdlcd_drv.c
@@ -240,12 +240,7 @@ static struct drm_driver hdlcd_driver = {
 	.irq_preinstall = hdlcd_irq_preinstall,
 	.irq_postinstall = hdlcd_irq_postinstall,
 	.irq_uninstall = hdlcd_irq_uninstall,
-	.gem_create_object = drm_gem_cma_create_object_default_funcs,
-	.dumb_create = drm_gem_cma_dumb_create,
-	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap = drm_gem_cma_prime_mmap,
+	DRM_GEM_CMA_DRIVER_OPS,
 #ifdef CONFIG_DEBUG_FS
 	.debugfs_init = hdlcd_debugfs_init,
 #endif
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 08/43] drm/atmel-hlcdc: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (6 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 07/43] drm/arm: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 09/43] drm/atmel-hlcdc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
                   ` (35 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
index 112aa5066ceed..e028c58f56c93 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
@@ -821,14 +821,10 @@ static struct drm_driver atmel_hlcdc_dc_driver = {
 	.irq_preinstall = atmel_hlcdc_dc_irq_uninstall,
 	.irq_postinstall = atmel_hlcdc_dc_irq_postinstall,
 	.irq_uninstall = atmel_hlcdc_dc_irq_uninstall,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_vm_ops = &drm_gem_cma_vm_ops,
+	.gem_create_object = drm_gem_cma_create_object_default_funcs,
 	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_prime_get_sg_table = drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap = drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap = drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap = drm_gem_cma_prime_mmap,
 	.dumb_create = drm_gem_cma_dumb_create,
 	.fops = &fops,
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 09/43] drm/atmel-hlcdc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (7 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 08/43] drm/atmel-hlcdc: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 10/43] drm/fsl-dcu: Use GEM CMA object functions Thomas Zimmermann
                   ` (34 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS sets the functions in struct drm_driver
to their defaults. No functional changes are made.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
index e028c58f56c93..871293d1aeeba 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
@@ -821,12 +821,7 @@ static struct drm_driver atmel_hlcdc_dc_driver = {
 	.irq_preinstall = atmel_hlcdc_dc_irq_uninstall,
 	.irq_postinstall = atmel_hlcdc_dc_irq_postinstall,
 	.irq_uninstall = atmel_hlcdc_dc_irq_uninstall,
-	.gem_create_object = drm_gem_cma_create_object_default_funcs,
-	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap = drm_gem_cma_prime_mmap,
-	.dumb_create = drm_gem_cma_dumb_create,
+	DRM_GEM_CMA_DRIVER_OPS,
 	.fops = &fops,
 	.name = "atmel-hlcdc",
 	.desc = "Atmel HLCD Controller DRM",
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 10/43] drm/fsl-dcu: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (8 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 09/43] drm/atmel-hlcdc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 11/43] drm/fsl-dcu: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
                   ` (33 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
index f15d2e7967a3e..113d2e30cf952 100644
--- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
@@ -141,14 +141,10 @@ static struct drm_driver fsl_dcu_drm_driver = {
 	.irq_handler		= fsl_dcu_drm_irq,
 	.irq_preinstall		= fsl_dcu_irq_uninstall,
 	.irq_uninstall		= fsl_dcu_irq_uninstall,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_vm_ops		= &drm_gem_cma_vm_ops,
+	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
 	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_get_sg_table	= drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap		= drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap	= drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
 	.dumb_create		= drm_gem_cma_dumb_create,
 	.fops			= &fsl_dcu_drm_fops,
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 11/43] drm/fsl-dcu: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (9 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 10/43] drm/fsl-dcu: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 12/43] drm/hisilicon/kirin: Set .dumb_create to drm_gem_cma_dumb_create() Thomas Zimmermann
                   ` (32 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS sets the functions in struct drm_driver
to their defaults. No functional changes are made.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
index 113d2e30cf952..abbc1ddbf27f0 100644
--- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
@@ -141,12 +141,7 @@ static struct drm_driver fsl_dcu_drm_driver = {
 	.irq_handler		= fsl_dcu_drm_irq,
 	.irq_preinstall		= fsl_dcu_irq_uninstall,
 	.irq_uninstall		= fsl_dcu_irq_uninstall,
-	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
-	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
-	.dumb_create		= drm_gem_cma_dumb_create,
+	DRM_GEM_CMA_DRIVER_OPS,
 	.fops			= &fsl_dcu_drm_fops,
 	.name			= "fsl-dcu-drm",
 	.desc			= "Freescale DCU DRM",
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 12/43] drm/hisilicon/kirin: Set .dumb_create to drm_gem_cma_dumb_create()
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (10 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 11/43] drm/fsl-dcu: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 13/43] drm/hisilicon/kirin: Use GEM CMA object functions Thomas Zimmermann
                   ` (31 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: Xu YiPing, linux-aspeed, dri-devel, Xinliang Liu,
	Thomas Zimmermann, linux-arm-kernel, Emil Velikov

The kirin drivers uses drm_gem_cma_dumb_create_internal() for its
.dumb_create implementation. The function is meant for internal use
only by drivers that require additional buffer setup.

Kirin does not do an additional setup, so convert it over to
drm_gem_cma_dumb_create().

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Tested-by: John Stultz <john.stultz@linaro.org>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
Cc: Xu YiPing <xuyiping@hisilicon.com>
Cc: Rongrong Zou <zourongrong@gmail.com>
Cc: Xinliang Liu <z.liuxinliang@hisilicon.com>
---
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
index c339e632522a9..18e57e571e054 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
@@ -923,7 +923,7 @@ static struct drm_driver ade_driver = {
 	.fops = &ade_fops,
 	.gem_free_object_unlocked = drm_gem_cma_free_object,
 	.gem_vm_ops = &drm_gem_cma_vm_ops,
-	.dumb_create = drm_gem_cma_dumb_create_internal,
+	.dumb_create = drm_gem_cma_dumb_create,
 	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
 	.gem_prime_get_sg_table = drm_gem_cma_prime_get_sg_table,
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 13/43] drm/hisilicon/kirin: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (11 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 12/43] drm/hisilicon/kirin: Set .dumb_create to drm_gem_cma_dumb_create() Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 14/43] drm/hisilicon/kirin: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
                   ` (30 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: Xu YiPing, linux-aspeed, dri-devel, Xinliang Liu,
	Thomas Zimmermann, linux-arm-kernel, Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
Cc: Xu YiPing <xuyiping@hisilicon.com>
Cc: Rongrong Zou <zourongrong@gmail.com>
Cc: Xinliang Liu <z.liuxinliang@hisilicon.com>
---
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
index 18e57e571e054..a550e464153b6 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
@@ -921,15 +921,11 @@ DEFINE_DRM_GEM_CMA_FOPS(ade_fops);
 static struct drm_driver ade_driver = {
 	.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
 	.fops = &ade_fops,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_vm_ops = &drm_gem_cma_vm_ops,
+	.gem_create_object = drm_gem_cma_create_object_default_funcs,
 	.dumb_create = drm_gem_cma_dumb_create,
 	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_get_sg_table = drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap = drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap = drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap = drm_gem_cma_prime_mmap,
 
 	.name = "kirin",
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 14/43] drm/hisilicon/kirin: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (12 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 13/43] drm/hisilicon/kirin: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 15/43] drm/imx: Use GEM CMA object functions Thomas Zimmermann
                   ` (29 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: Xu YiPing, linux-aspeed, dri-devel, Xinliang Liu,
	Thomas Zimmermann, linux-arm-kernel, Emil Velikov

DRM_GEM_CMA_DRIVER_OPS sets the functions in struct drm_driver
to their defaults. No functional changes are made.

v2:
	* use DRM_GEM_CMA_DRIVER_OPS

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Tested-by: John Stultz <john.stultz@linaro.org>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
Cc: Xu YiPing <xuyiping@hisilicon.com>
Cc: Rongrong Zou <zourongrong@gmail.com>
Cc: Xinliang Liu <z.liuxinliang@hisilicon.com>
---
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
index a550e464153b6..e1108c1735ad0 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
@@ -921,13 +921,7 @@ DEFINE_DRM_GEM_CMA_FOPS(ade_fops);
 static struct drm_driver ade_driver = {
 	.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
 	.fops = &ade_fops,
-	.gem_create_object = drm_gem_cma_create_object_default_funcs,
-	.dumb_create = drm_gem_cma_dumb_create,
-	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap = drm_gem_cma_prime_mmap,
-
+	DRM_GEM_CMA_DRIVER_OPS,
 	.name = "kirin",
 	.desc = "Hisilicon Kirin620 SoC DRM Driver",
 	.date = "20150718",
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 15/43] drm/imx: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (13 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 14/43] drm/hisilicon/kirin: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 16/43] drm/imx: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
                   ` (28 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/imx/imx-drm-core.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
index 2e38f1a5cf8da..f13e7cd9b7d16 100644
--- a/drivers/gpu/drm/imx/imx-drm-core.c
+++ b/drivers/gpu/drm/imx/imx-drm-core.c
@@ -146,16 +146,12 @@ static const struct drm_ioctl_desc imx_drm_ioctls[] = {
 
 static struct drm_driver imx_drm_driver = {
 	.driver_features	= DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_vm_ops		= &drm_gem_cma_vm_ops,
+	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
 	.dumb_create		= drm_gem_cma_dumb_create,
 
 	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_get_sg_table	= drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap		= drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap	= drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
 	.ioctls			= imx_drm_ioctls,
 	.num_ioctls		= ARRAY_SIZE(imx_drm_ioctls),
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 16/43] drm/imx: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (14 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 15/43] drm/imx: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 17/43] drm/ingenic: Use GEM CMA object functions Thomas Zimmermann
                   ` (27 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS sets the functions in struct drm_driver
to their defaults. No functional changes are made.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/imx/imx-drm-core.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
index f13e7cd9b7d16..36037b2e65647 100644
--- a/drivers/gpu/drm/imx/imx-drm-core.c
+++ b/drivers/gpu/drm/imx/imx-drm-core.c
@@ -146,13 +146,7 @@ static const struct drm_ioctl_desc imx_drm_ioctls[] = {
 
 static struct drm_driver imx_drm_driver = {
 	.driver_features	= DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
-	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
-	.dumb_create		= drm_gem_cma_dumb_create,
-
-	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
+	DRM_GEM_CMA_DRIVER_OPS,
 	.ioctls			= imx_drm_ioctls,
 	.num_ioctls		= ARRAY_SIZE(imx_drm_ioctls),
 	.fops			= &imx_drm_driver_fops,
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 17/43] drm/ingenic: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (15 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 16/43] drm/imx: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 18/43] drm/ingenic: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
                   ` (26 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Paul Cercueil <paul@crapouillou.net>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/ingenic/ingenic-drm.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/ingenic/ingenic-drm.c b/drivers/gpu/drm/ingenic/ingenic-drm.c
index 55b49a31729bf..7f02debaf5a0d 100644
--- a/drivers/gpu/drm/ingenic/ingenic-drm.c
+++ b/drivers/gpu/drm/ingenic/ingenic-drm.c
@@ -520,16 +520,12 @@ static struct drm_driver ingenic_drm_driver_data = {
 
 	.fops			= &ingenic_drm_fops,
 
+	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
 	.dumb_create		= drm_gem_cma_dumb_create,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_vm_ops		= &drm_gem_cma_vm_ops,
 
 	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_get_sg_table	= drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap		= drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap	= drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
 
 	.irq_handler		= ingenic_drm_irq_handler,
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 18/43] drm/ingenic: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (16 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 17/43] drm/ingenic: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 19/43] drm/komeda: Use GEM CMA object functions Thomas Zimmermann
                   ` (25 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS sets the functions in struct drm_driver
to their defaults. No functional changes are made.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Tested-by: Paul Cercueil <paul@crapouillou.net>
Reviewed-by: Paul Cercueil <paul@crapouillou.net>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/ingenic/ingenic-drm.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/ingenic/ingenic-drm.c b/drivers/gpu/drm/ingenic/ingenic-drm.c
index 7f02debaf5a0d..16f0740df507c 100644
--- a/drivers/gpu/drm/ingenic/ingenic-drm.c
+++ b/drivers/gpu/drm/ingenic/ingenic-drm.c
@@ -519,14 +519,7 @@ static struct drm_driver ingenic_drm_driver_data = {
 	.patchlevel		= 0,
 
 	.fops			= &ingenic_drm_fops,
-
-	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
-	.dumb_create		= drm_gem_cma_dumb_create,
-
-	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
+	DRM_GEM_CMA_DRIVER_OPS,
 
 	.irq_handler		= ingenic_drm_irq_handler,
 };
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 19/43] drm/komeda: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (17 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 18/43] drm/ingenic: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 20/43] drm/komeda: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE Thomas Zimmermann
                   ` (24 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/arm/display/komeda/komeda_kms.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
index 6b85d5f4caa85..af24dca1cab63 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
@@ -61,15 +61,11 @@ static irqreturn_t komeda_kms_irq_handler(int irq, void *data)
 static struct drm_driver komeda_kms_driver = {
 	.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
 	.lastclose			= drm_fb_helper_lastclose,
-	.gem_free_object_unlocked	= drm_gem_cma_free_object,
-	.gem_vm_ops			= &drm_gem_cma_vm_ops,
+	.gem_create_object		= drm_gem_cma_create_object_default_funcs,
 	.dumb_create			= komeda_gem_cma_dumb_create,
 	.prime_handle_to_fd		= drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle		= drm_gem_prime_fd_to_handle,
-	.gem_prime_get_sg_table		= drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table	= drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap			= drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap		= drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap			= drm_gem_cma_prime_mmap,
 	.fops = &komeda_cma_fops,
 	.name = "komeda",
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 20/43] drm/komeda: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (18 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 19/43] drm/komeda: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 21/43] drm/malidp: Use GEM CMA object functions Thomas Zimmermann
                   ` (23 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE sets the functions in
struct drm_driver to their defaults. No functional changes are
made.

v2:
	* update for DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/arm/display/komeda/komeda_kms.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
index af24dca1cab63..1f6682032ca49 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
@@ -61,12 +61,7 @@ static irqreturn_t komeda_kms_irq_handler(int irq, void *data)
 static struct drm_driver komeda_kms_driver = {
 	.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
 	.lastclose			= drm_fb_helper_lastclose,
-	.gem_create_object		= drm_gem_cma_create_object_default_funcs,
-	.dumb_create			= komeda_gem_cma_dumb_create,
-	.prime_handle_to_fd		= drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle		= drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table	= drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap			= drm_gem_cma_prime_mmap,
+	DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(komeda_gem_cma_dumb_create),
 	.fops = &komeda_cma_fops,
 	.name = "komeda",
 	.desc = "Arm Komeda Display Processor driver",
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 21/43] drm/malidp: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (19 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 20/43] drm/komeda: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 22/43] drm/malidp: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE Thomas Zimmermann
                   ` (22 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/arm/malidp_drv.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c
index c2507b7d8512b..a56a93fc7bc2e 100644
--- a/drivers/gpu/drm/arm/malidp_drv.c
+++ b/drivers/gpu/drm/arm/malidp_drv.c
@@ -563,15 +563,11 @@ static void malidp_debugfs_init(struct drm_minor *minor)
 
 static struct drm_driver malidp_driver = {
 	.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_vm_ops = &drm_gem_cma_vm_ops,
+	.gem_create_object = drm_gem_cma_create_object_default_funcs,
 	.dumb_create = malidp_dumb_create,
 	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_prime_get_sg_table = drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap = drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap = drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap = drm_gem_cma_prime_mmap,
 #ifdef CONFIG_DEBUG_FS
 	.debugfs_init = malidp_debugfs_init,
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 22/43] drm/malidp: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (20 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 21/43] drm/malidp: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 23/43] drm/mcde: Use GEM CMA object functions Thomas Zimmermann
                   ` (21 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE sets the functions in
struct drm_driver to their defaults. No functional changes are
made.

v2:
	* update for DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/arm/malidp_drv.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c
index a56a93fc7bc2e..cbd35fd305803 100644
--- a/drivers/gpu/drm/arm/malidp_drv.c
+++ b/drivers/gpu/drm/arm/malidp_drv.c
@@ -563,12 +563,7 @@ static void malidp_debugfs_init(struct drm_minor *minor)
 
 static struct drm_driver malidp_driver = {
 	.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
-	.gem_create_object = drm_gem_cma_create_object_default_funcs,
-	.dumb_create = malidp_dumb_create,
-	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap = drm_gem_cma_prime_mmap,
+	DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(malidp_dumb_create),
 #ifdef CONFIG_DEBUG_FS
 	.debugfs_init = malidp_debugfs_init,
 #endif
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 23/43] drm/mcde: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (21 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 22/43] drm/malidp: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 24/43] drm/mcde: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
                   ` (20 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/mcde/mcde_drv.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/mcde/mcde_drv.c b/drivers/gpu/drm/mcde/mcde_drv.c
index 84f3e2dbd77bd..1a715b9e698ad 100644
--- a/drivers/gpu/drm/mcde/mcde_drv.c
+++ b/drivers/gpu/drm/mcde/mcde_drv.c
@@ -228,16 +228,12 @@ static struct drm_driver mcde_drm_driver = {
 	.major = 1,
 	.minor = 0,
 	.patchlevel = 0,
+	.gem_create_object = drm_gem_cma_create_object_default_funcs,
 	.dumb_create = drm_gem_cma_dumb_create,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_vm_ops = &drm_gem_cma_vm_ops,
 
 	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_prime_get_sg_table	= drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap = drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap = drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap = drm_gem_cma_prime_mmap,
 };
 
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 24/43] drm/mcde: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (22 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 23/43] drm/mcde: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 25/43] drm/meson: Use GEM CMA object functions Thomas Zimmermann
                   ` (19 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS sets the functions in struct drm_driver
to their defaults. No functional changes are made.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/mcde/mcde_drv.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/mcde/mcde_drv.c b/drivers/gpu/drm/mcde/mcde_drv.c
index 1a715b9e698ad..d300be5ee463d 100644
--- a/drivers/gpu/drm/mcde/mcde_drv.c
+++ b/drivers/gpu/drm/mcde/mcde_drv.c
@@ -228,13 +228,7 @@ static struct drm_driver mcde_drm_driver = {
 	.major = 1,
 	.minor = 0,
 	.patchlevel = 0,
-	.gem_create_object = drm_gem_cma_create_object_default_funcs,
-	.dumb_create = drm_gem_cma_dumb_create,
-
-	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap = drm_gem_cma_prime_mmap,
+	DRM_GEM_CMA_DRIVER_OPS,
 };
 
 static int mcde_drm_bind(struct device *dev)
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 25/43] drm/meson: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (23 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 24/43] drm/mcde: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 26/43] drm/meson: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE Thomas Zimmermann
                   ` (18 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
---
 drivers/gpu/drm/meson/meson_drv.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c
index 4c5aafcec7991..036af6e69bb78 100644
--- a/drivers/gpu/drm/meson/meson_drv.c
+++ b/drivers/gpu/drm/meson/meson_drv.c
@@ -99,16 +99,12 @@ static struct drm_driver meson_driver = {
 	/* PRIME Ops */
 	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_get_sg_table	= drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap		= drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap	= drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
 
 	/* GEM Ops */
+	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
 	.dumb_create		= meson_dumb_create,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_vm_ops		= &drm_gem_cma_vm_ops,
 
 	/* Misc */
 	.fops			= &fops,
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 26/43] drm/meson: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (24 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 25/43] drm/meson: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 27/43] drm/mxsfb: Use GEM CMA object functions Thomas Zimmermann
                   ` (17 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE sets the functions in
struct drm_driver to their defaults. No functional changes are
made.

v2:
	* update for DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
---
 drivers/gpu/drm/meson/meson_drv.c | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c
index 036af6e69bb78..8b9c8dd788c41 100644
--- a/drivers/gpu/drm/meson/meson_drv.c
+++ b/drivers/gpu/drm/meson/meson_drv.c
@@ -96,15 +96,8 @@ static struct drm_driver meson_driver = {
 	/* IRQ */
 	.irq_handler		= meson_irq,
 
-	/* PRIME Ops */
-	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
-
-	/* GEM Ops */
-	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
-	.dumb_create		= meson_dumb_create,
+	/* CMA Ops */
+	DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(meson_dumb_create),
 
 	/* Misc */
 	.fops			= &fops,
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 27/43] drm/mxsfb: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (25 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 26/43] drm/meson: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 28/43] drm/mxsfb: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
                   ` (16 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/mxsfb/mxsfb_drv.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
index 497cf443a9afa..afdf1e0accba6 100644
--- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c
+++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
@@ -356,15 +356,11 @@ static struct drm_driver mxsfb_driver = {
 	.irq_handler		= mxsfb_irq_handler,
 	.irq_preinstall		= mxsfb_irq_preinstall,
 	.irq_uninstall		= mxsfb_irq_preinstall,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_vm_ops		= &drm_gem_cma_vm_ops,
+	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
 	.dumb_create		= drm_gem_cma_dumb_create,
 	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_get_sg_table	= drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap		= drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap	= drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
 	.fops	= &fops,
 	.name	= "mxsfb-drm",
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 28/43] drm/mxsfb: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (26 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 27/43] drm/mxsfb: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 29/43] drm/rcar-du: Use GEM CMA object functions Thomas Zimmermann
                   ` (15 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS sets the functions in struct drm_driver
to their defaults. No functional changes are made.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/mxsfb/mxsfb_drv.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
index afdf1e0accba6..47c7dce03da4a 100644
--- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c
+++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
@@ -356,12 +356,7 @@ static struct drm_driver mxsfb_driver = {
 	.irq_handler		= mxsfb_irq_handler,
 	.irq_preinstall		= mxsfb_irq_preinstall,
 	.irq_uninstall		= mxsfb_irq_preinstall,
-	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
-	.dumb_create		= drm_gem_cma_dumb_create,
-	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
+	DRM_GEM_CMA_DRIVER_OPS,
 	.fops	= &fops,
 	.name	= "mxsfb-drm",
 	.desc	= "MXSFB Controller DRM",
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 29/43] drm/rcar-du: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (27 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 28/43] drm/mxsfb: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  8:23   ` Laurent Pinchart
  2020-06-05  7:32 ` [PATCH v3 30/43] drm/rcar-du: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE Thomas Zimmermann
                   ` (14 subsequent siblings)
  43 siblings, 1 reply; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/rcar-du/rcar_du_drv.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
index 3e67cf70f0402..43610d5bf8820 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
@@ -476,14 +476,10 @@ DEFINE_DRM_GEM_CMA_FOPS(rcar_du_fops);
 
 static struct drm_driver rcar_du_driver = {
 	.driver_features	= DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_vm_ops		= &drm_gem_cma_vm_ops,
+	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
 	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_get_sg_table	= drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap		= drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap	= drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
 	.dumb_create		= rcar_du_dumb_create,
 	.fops			= &rcar_du_fops,
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 30/43] drm/rcar-du: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (28 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 29/43] drm/rcar-du: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  8:14   ` Laurent Pinchart
  2020-06-05  7:32 ` [PATCH v3 31/43] drm/shmobile: Use GEM CMA object functions Thomas Zimmermann
                   ` (13 subsequent siblings)
  43 siblings, 1 reply; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE sets the functions in
struct drm_driver to their defaults. No functional changes are
made.

v2:
	* update for DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Tested-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/rcar-du/rcar_du_drv.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
index 43610d5bf8820..f53b0ec710850 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
@@ -476,12 +476,7 @@ DEFINE_DRM_GEM_CMA_FOPS(rcar_du_fops);
 
 static struct drm_driver rcar_du_driver = {
 	.driver_features	= DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
-	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
-	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
-	.dumb_create		= rcar_du_dumb_create,
+	DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(rcar_du_dumb_create),
 	.fops			= &rcar_du_fops,
 	.name			= "rcar-du",
 	.desc			= "Renesas R-Car Display Unit",
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 31/43] drm/shmobile: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (29 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 30/43] drm/rcar-du: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  8:20   ` Laurent Pinchart
  2020-06-05  7:32 ` [PATCH v3 32/43] drm/shmobile: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
                   ` (12 subsequent siblings)
  43 siblings, 1 reply; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/shmobile/shmob_drm_drv.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/shmobile/shmob_drm_drv.c b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
index ae9d6b8d3ca87..e209610d4b8a1 100644
--- a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
+++ b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
@@ -131,14 +131,10 @@ DEFINE_DRM_GEM_CMA_FOPS(shmob_drm_fops);
 static struct drm_driver shmob_drm_driver = {
 	.driver_features	= DRIVER_GEM | DRIVER_MODESET,
 	.irq_handler		= shmob_drm_irq,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_vm_ops		= &drm_gem_cma_vm_ops,
+	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
 	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_get_sg_table	= drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap		= drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap	= drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
 	.dumb_create		= drm_gem_cma_dumb_create,
 	.fops			= &shmob_drm_fops,
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 32/43] drm/shmobile: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (30 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 31/43] drm/shmobile: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  8:13   ` Laurent Pinchart
  2020-06-05  7:32 ` [PATCH v3 33/43] drm/stm: Use GEM CMA object functions Thomas Zimmermann
                   ` (11 subsequent siblings)
  43 siblings, 1 reply; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS sets the functions in struct drm_driver
to their defaults. No functional changes are made.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/shmobile/shmob_drm_drv.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/shmobile/shmob_drm_drv.c b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
index e209610d4b8a1..26a15c214bd3f 100644
--- a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
+++ b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
@@ -131,12 +131,7 @@ DEFINE_DRM_GEM_CMA_FOPS(shmob_drm_fops);
 static struct drm_driver shmob_drm_driver = {
 	.driver_features	= DRIVER_GEM | DRIVER_MODESET,
 	.irq_handler		= shmob_drm_irq,
-	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
-	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
-	.dumb_create		= drm_gem_cma_dumb_create,
+	DRM_GEM_CMA_DRIVER_OPS,
 	.fops			= &shmob_drm_fops,
 	.name			= "shmob-drm",
 	.desc			= "Renesas SH Mobile DRM",
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 33/43] drm/stm: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (31 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 32/43] drm/shmobile: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 34/43] drm/stm: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE Thomas Zimmermann
                   ` (10 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Philippe Cornu <philippe.cornu@st.com>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/stm/drv.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c
index 0f85dd86cafa7..441c5b2af9698 100644
--- a/drivers/gpu/drm/stm/drv.c
+++ b/drivers/gpu/drm/stm/drv.c
@@ -62,15 +62,11 @@ static struct drm_driver drv_driver = {
 	.minor = 0,
 	.patchlevel = 0,
 	.fops = &drv_driver_fops,
+	.gem_create_object = drm_gem_cma_create_object_default_funcs,
 	.dumb_create = stm_gem_cma_dumb_create,
 	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_vm_ops = &drm_gem_cma_vm_ops,
-	.gem_prime_get_sg_table = drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap = drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap = drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap = drm_gem_cma_prime_mmap,
 };
 
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 34/43] drm/stm: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (32 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 33/43] drm/stm: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 35/43] drm/sti: Use GEM CMA object functions Thomas Zimmermann
                   ` (9 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE sets the functions in
struct drm_driver to their defaults. No functional changes are
made.

v2:
	* update for DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Philippe Cornu <philippe.cornu@st.com>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/stm/drv.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c
index 441c5b2af9698..411103f013e25 100644
--- a/drivers/gpu/drm/stm/drv.c
+++ b/drivers/gpu/drm/stm/drv.c
@@ -62,12 +62,7 @@ static struct drm_driver drv_driver = {
 	.minor = 0,
 	.patchlevel = 0,
 	.fops = &drv_driver_fops,
-	.gem_create_object = drm_gem_cma_create_object_default_funcs,
-	.dumb_create = stm_gem_cma_dumb_create,
-	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap = drm_gem_cma_prime_mmap,
+	DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(stm_gem_cma_dumb_create),
 };
 
 static int drv_load(struct drm_device *ddev)
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 35/43] drm/sti: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (33 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 34/43] drm/stm: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 36/43] drm/sti: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
                   ` (8 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/sti/sti_drv.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/sti/sti_drv.c b/drivers/gpu/drm/sti/sti_drv.c
index 3f9db3e3f3978..1e9dba309f12e 100644
--- a/drivers/gpu/drm/sti/sti_drv.c
+++ b/drivers/gpu/drm/sti/sti_drv.c
@@ -132,17 +132,13 @@ DEFINE_DRM_GEM_CMA_FOPS(sti_driver_fops);
 
 static struct drm_driver sti_driver = {
 	.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_vm_ops = &drm_gem_cma_vm_ops,
+	.gem_create_object = drm_gem_cma_create_object_default_funcs,
 	.dumb_create = drm_gem_cma_dumb_create,
 	.fops = &sti_driver_fops,
 
 	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_prime_get_sg_table = drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap = drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap = drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap = drm_gem_cma_prime_mmap,
 
 	.debugfs_init = sti_drm_dbg_init,
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 36/43] drm/sti: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (34 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 35/43] drm/sti: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 37/43] drm/tilcdc: Use GEM CMA object functions Thomas Zimmermann
                   ` (7 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS sets the functions in struct drm_driver
to their defaults. No functional changes are made.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/sti/sti_drv.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/sti/sti_drv.c b/drivers/gpu/drm/sti/sti_drv.c
index 1e9dba309f12e..3f54efa360981 100644
--- a/drivers/gpu/drm/sti/sti_drv.c
+++ b/drivers/gpu/drm/sti/sti_drv.c
@@ -132,14 +132,8 @@ DEFINE_DRM_GEM_CMA_FOPS(sti_driver_fops);
 
 static struct drm_driver sti_driver = {
 	.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
-	.gem_create_object = drm_gem_cma_create_object_default_funcs,
-	.dumb_create = drm_gem_cma_dumb_create,
 	.fops = &sti_driver_fops,
-
-	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap = drm_gem_cma_prime_mmap,
+	DRM_GEM_CMA_DRIVER_OPS,
 
 	.debugfs_init = sti_drm_dbg_init,
 
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 37/43] drm/tilcdc: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (35 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 36/43] drm/sti: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-24  9:03   ` Jyri Sarha
  2020-06-05  7:32 ` [PATCH v3 38/43] drm/tilcdc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
                   ` (6 subsequent siblings)
  43 siblings, 1 reply; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/tilcdc/tilcdc_drv.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
index a5e9ee4c7fbf4..a6582325651bd 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
@@ -496,17 +496,12 @@ DEFINE_DRM_GEM_CMA_FOPS(fops);
 static struct drm_driver tilcdc_driver = {
 	.driver_features    = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
 	.irq_handler        = tilcdc_irq,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_print_info     = drm_gem_cma_print_info,
-	.gem_vm_ops         = &drm_gem_cma_vm_ops,
+	.gem_create_object  = drm_gem_cma_create_object_default_funcs,
 	.dumb_create        = drm_gem_cma_dumb_create,
 
 	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_get_sg_table	= drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap		= drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap	= drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
 #ifdef CONFIG_DEBUG_FS
 	.debugfs_init       = tilcdc_debugfs_init,
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 38/43] drm/tilcdc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (36 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 37/43] drm/tilcdc: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-24  9:03   ` Jyri Sarha
  2020-06-05  7:32 ` [PATCH v3 39/43] drm/tve200: Use GEM CMA object functions Thomas Zimmermann
                   ` (5 subsequent siblings)
  43 siblings, 1 reply; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS sets the functions in struct drm_driver
to their defaults. No functional changes are made.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/tilcdc/tilcdc_drv.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
index a6582325651bd..0d74a64432633 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
@@ -496,13 +496,7 @@ DEFINE_DRM_GEM_CMA_FOPS(fops);
 static struct drm_driver tilcdc_driver = {
 	.driver_features    = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
 	.irq_handler        = tilcdc_irq,
-	.gem_create_object  = drm_gem_cma_create_object_default_funcs,
-	.dumb_create        = drm_gem_cma_dumb_create,
-
-	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
+	DRM_GEM_CMA_DRIVER_OPS,
 #ifdef CONFIG_DEBUG_FS
 	.debugfs_init       = tilcdc_debugfs_init,
 #endif
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 39/43] drm/tve200: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (37 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 38/43] drm/tilcdc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 40/43] drm/tve200: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
                   ` (4 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/tve200/tve200_drv.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/tve200/tve200_drv.c b/drivers/gpu/drm/tve200/tve200_drv.c
index 00ba9e5ce1307..f10d5bb1323ca 100644
--- a/drivers/gpu/drm/tve200/tve200_drv.c
+++ b/drivers/gpu/drm/tve200/tve200_drv.c
@@ -147,16 +147,12 @@ static struct drm_driver tve200_drm_driver = {
 	.major = 1,
 	.minor = 0,
 	.patchlevel = 0,
+	.gem_create_object = drm_gem_cma_create_object_default_funcs,
 	.dumb_create = drm_gem_cma_dumb_create,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_vm_ops = &drm_gem_cma_vm_ops,
 
 	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_prime_get_sg_table	= drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap = drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap = drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap = drm_gem_cma_prime_mmap,
 };
 
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 40/43] drm/tve200: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (38 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 39/43] drm/tve200: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 41/43] drm/zte: Use GEM CMA object functions Thomas Zimmermann
                   ` (3 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS sets the functions in struct drm_driver
to their defaults. No functional changes are made.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/tve200/tve200_drv.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/tve200/tve200_drv.c b/drivers/gpu/drm/tve200/tve200_drv.c
index f10d5bb1323ca..c3aa39bd38ecd 100644
--- a/drivers/gpu/drm/tve200/tve200_drv.c
+++ b/drivers/gpu/drm/tve200/tve200_drv.c
@@ -147,13 +147,7 @@ static struct drm_driver tve200_drm_driver = {
 	.major = 1,
 	.minor = 0,
 	.patchlevel = 0,
-	.gem_create_object = drm_gem_cma_create_object_default_funcs,
-	.dumb_create = drm_gem_cma_dumb_create,
-
-	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap = drm_gem_cma_prime_mmap,
+	DRM_GEM_CMA_DRIVER_OPS,
 };
 
 static int tve200_probe(struct platform_device *pdev)
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 41/43] drm/zte: Use GEM CMA object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (39 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 40/43] drm/tve200: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 42/43] drm/zte: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
                   ` (2 subsequent siblings)
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
allocates the object and sets CMA's default object functions. Corresponding
callbacks in struct drm_driver are cleared. No functional changes are made.

Driver and object-function instances use the same callback functions, with
the exception of vunmap. The implementation of vunmap is empty and left out
in CMA's default object functions.

v3:
	* convert to DRIVER_OPS macro in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/zte/zx_drm_drv.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/zte/zx_drm_drv.c b/drivers/gpu/drm/zte/zx_drm_drv.c
index 1141c1ed1ed04..305394923e04c 100644
--- a/drivers/gpu/drm/zte/zx_drm_drv.c
+++ b/drivers/gpu/drm/zte/zx_drm_drv.c
@@ -36,15 +36,11 @@ DEFINE_DRM_GEM_CMA_FOPS(zx_drm_fops);
 
 static struct drm_driver zx_drm_driver = {
 	.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
-	.gem_free_object_unlocked = drm_gem_cma_free_object,
-	.gem_vm_ops = &drm_gem_cma_vm_ops,
+	.gem_create_object = drm_gem_cma_create_object_default_funcs,
 	.dumb_create = drm_gem_cma_dumb_create,
 	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
 	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_prime_get_sg_table = drm_gem_cma_prime_get_sg_table,
 	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_vmap = drm_gem_cma_prime_vmap,
-	.gem_prime_vunmap = drm_gem_cma_prime_vunmap,
 	.gem_prime_mmap = drm_gem_cma_prime_mmap,
 	.fops = &zx_drm_fops,
 	.name = "zx-vou",
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 42/43] drm/zte: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (40 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 41/43] drm/zte: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  7:32 ` [PATCH v3 43/43] drm: Remove struct drm_driver.gem_print_info Thomas Zimmermann
  2020-06-05 15:40 ` [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Emil Velikov
  43 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

DRM_GEM_CMA_DRIVER_OPS sets the functions in struct drm_driver
to their defaults. No functional changes are made.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/zte/zx_drm_drv.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/zte/zx_drm_drv.c b/drivers/gpu/drm/zte/zx_drm_drv.c
index 305394923e04c..31014a451f8bd 100644
--- a/drivers/gpu/drm/zte/zx_drm_drv.c
+++ b/drivers/gpu/drm/zte/zx_drm_drv.c
@@ -36,12 +36,7 @@ DEFINE_DRM_GEM_CMA_FOPS(zx_drm_fops);
 
 static struct drm_driver zx_drm_driver = {
 	.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
-	.gem_create_object = drm_gem_cma_create_object_default_funcs,
-	.dumb_create = drm_gem_cma_dumb_create,
-	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
-	.gem_prime_mmap = drm_gem_cma_prime_mmap,
+	DRM_GEM_CMA_DRIVER_OPS,
 	.fops = &zx_drm_fops,
 	.name = "zx-vou",
 	.desc = "ZTE VOU Controller DRM",
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH v3 43/43] drm: Remove struct drm_driver.gem_print_info
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (41 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 42/43] drm/zte: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
@ 2020-06-05  7:32 ` Thomas Zimmermann
  2020-06-05  8:37   ` Laurent Pinchart
  2020-06-05 15:40 ` [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Emil Velikov
  43 siblings, 1 reply; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05  7:32 UTC (permalink / raw)
  To: abrodkin, airlied, daniel, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, joel, andrew, sam, bbrezillon,
	nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jsarha, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, Thomas Zimmermann, linux-aspeed, dri-devel,
	Emil Velikov

The .gem_print_info callback in struct drm_driver is obsolete and has
no users left. Remove it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Suggested-by: Emil Velikov <emil.velikov@collabora.com>
---
 drivers/gpu/drm/drm_gem.c |  2 --
 include/drm/drm_drv.h     | 17 -----------------
 2 files changed, 19 deletions(-)

diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index efc0367841e2b..08b3fa27ec406 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -1191,8 +1191,6 @@ void drm_gem_print_info(struct drm_printer *p, unsigned int indent,
 
 	if (obj->funcs && obj->funcs->print_info)
 		obj->funcs->print_info(p, indent, obj);
-	else if (obj->dev->driver->gem_print_info)
-		obj->dev->driver->gem_print_info(p, indent, obj);
 }
 
 int drm_gem_pin(struct drm_gem_object *obj)
diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h
index bb924cddc09c1..8f110a28b6a23 100644
--- a/include/drm/drm_drv.h
+++ b/include/drm/drm_drv.h
@@ -353,23 +353,6 @@ struct drm_driver {
 	 */
 	void (*gem_close_object) (struct drm_gem_object *, struct drm_file *);
 
-	/**
-	 * @gem_print_info:
-	 *
-	 * This callback is deprecated in favour of
-	 * &drm_gem_object_funcs.print_info.
-	 *
-	 * If driver subclasses struct &drm_gem_object, it can implement this
-	 * optional hook for printing additional driver specific info.
-	 *
-	 * drm_printf_indent() should be used in the callback passing it the
-	 * indent argument.
-	 *
-	 * This callback is called from drm_gem_print_info().
-	 */
-	void (*gem_print_info)(struct drm_printer *p, unsigned int indent,
-			       const struct drm_gem_object *obj);
-
 	/**
 	 * @gem_create_object: constructor for gem objects
 	 *
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 58+ messages in thread

* Re: [PATCH v3 32/43] drm/shmobile: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  2020-06-05  7:32 ` [PATCH v3 32/43] drm/shmobile: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
@ 2020-06-05  8:13   ` Laurent Pinchart
  0 siblings, 0 replies; 58+ messages in thread
From: Laurent Pinchart @ 2020-06-05  8:13 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: alexandre.belloni, linux-aspeed, narmstrong, airlied,
	liviu.dudau, philippe.cornu, paul, mihail.atanassov, sam,
	alexandre.torgue, marex, abrodkin, ludovic.desroches,
	xinliang.liu, kong.kongxinwei, tomi.valkeinen, james.qian.wang,
	joel, Emil Velikov, linux-imx, puck.chen, s.hauer, alison.wang,
	jsarha, wens, vincent.abriou, kernel, linux-arm-kernel,
	mcoquelin.stm32, bbrezillon, andrew, dri-devel, nicolas.ferre,
	yannick.fertre, kieran.bingham+renesas, khilman, zourongrong,
	shawnguo

Hi Thomas,

Thank you for the patch.

On Fri, Jun 05, 2020 at 09:32:36AM +0200, Thomas Zimmermann wrote:
> DRM_GEM_CMA_DRIVER_OPS sets the functions in struct drm_driver
> to their defaults. No functional changes are made.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Acked-by: Emil Velikov <emil.velikov@collabora.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/shmobile/shmob_drm_drv.c | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/shmobile/shmob_drm_drv.c b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> index e209610d4b8a1..26a15c214bd3f 100644
> --- a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> +++ b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> @@ -131,12 +131,7 @@ DEFINE_DRM_GEM_CMA_FOPS(shmob_drm_fops);
>  static struct drm_driver shmob_drm_driver = {
>  	.driver_features	= DRIVER_GEM | DRIVER_MODESET,
>  	.irq_handler		= shmob_drm_irq,
> -	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
> -	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
> -	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
> -	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
> -	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
> -	.dumb_create		= drm_gem_cma_dumb_create,
> +	DRM_GEM_CMA_DRIVER_OPS,
>  	.fops			= &shmob_drm_fops,
>  	.name			= "shmob-drm",
>  	.desc			= "Renesas SH Mobile DRM",

-- 
Regards,

Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH v3 30/43] drm/rcar-du: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE
  2020-06-05  7:32 ` [PATCH v3 30/43] drm/rcar-du: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE Thomas Zimmermann
@ 2020-06-05  8:14   ` Laurent Pinchart
  0 siblings, 0 replies; 58+ messages in thread
From: Laurent Pinchart @ 2020-06-05  8:14 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: alexandre.belloni, linux-aspeed, narmstrong, airlied,
	liviu.dudau, philippe.cornu, paul, mihail.atanassov, sam,
	alexandre.torgue, marex, abrodkin, ludovic.desroches,
	xinliang.liu, kong.kongxinwei, tomi.valkeinen, james.qian.wang,
	joel, Emil Velikov, linux-imx, puck.chen, s.hauer, alison.wang,
	jsarha, wens, vincent.abriou, kernel, linux-arm-kernel,
	mcoquelin.stm32, bbrezillon, andrew, dri-devel, nicolas.ferre,
	yannick.fertre, kieran.bingham+renesas, khilman, zourongrong,
	shawnguo

Hi Thomas,

Thank you for the patch.

On Fri, Jun 05, 2020 at 09:32:34AM +0200, Thomas Zimmermann wrote:
> DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE sets the functions in
> struct drm_driver to their defaults. No functional changes are
> made.
> 
> v2:
> 	* update for DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Tested-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
> Acked-by: Emil Velikov <emil.velikov@collabora.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> index 43610d5bf8820..f53b0ec710850 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> @@ -476,12 +476,7 @@ DEFINE_DRM_GEM_CMA_FOPS(rcar_du_fops);
>  
>  static struct drm_driver rcar_du_driver = {
>  	.driver_features	= DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
> -	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
> -	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
> -	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
> -	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
> -	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
> -	.dumb_create		= rcar_du_dumb_create,
> +	DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(rcar_du_dumb_create),
>  	.fops			= &rcar_du_fops,
>  	.name			= "rcar-du",
>  	.desc			= "Renesas R-Car Display Unit",

-- 
Regards,

Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH v3 03/43] drm/cma-helper: Add DRM_GEM_CMA_DRIVER_OPS to set default GEM CMA functions
  2020-06-05  7:32 ` [PATCH v3 03/43] drm/cma-helper: Add DRM_GEM_CMA_DRIVER_OPS to set default GEM CMA functions Thomas Zimmermann
@ 2020-06-05  8:16   ` Laurent Pinchart
  2020-06-09  9:45     ` Thomas Zimmermann
  0 siblings, 1 reply; 58+ messages in thread
From: Laurent Pinchart @ 2020-06-05  8:16 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: alexandre.belloni, linux-aspeed, narmstrong, airlied,
	liviu.dudau, philippe.cornu, paul, mihail.atanassov, sam,
	alexandre.torgue, marex, abrodkin, ludovic.desroches,
	xinliang.liu, kong.kongxinwei, tomi.valkeinen, james.qian.wang,
	joel, Emil Velikov, linux-imx, puck.chen, s.hauer, alison.wang,
	jsarha, wens, vincent.abriou, kernel, linux-arm-kernel,
	mcoquelin.stm32, bbrezillon, andrew, dri-devel, nicolas.ferre,
	yannick.fertre, kieran.bingham+renesas, khilman, zourongrong,
	shawnguo

Hi Thomas,

Thank you for the patch.

On Fri, Jun 05, 2020 at 09:32:07AM +0200, Thomas Zimmermann wrote:
> The macro to DRM_GEM_CMA_DRIVER_OPS sets GEM callbacks in struct drm_driver
> to their defaults for CMA. An variant of the macro is provided for drivers

s/An variant/A variant/

> that override the default .dumb_create callback. Adapt drivers to the changes.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Emil Velikov <emil.velikov@collabora.com>
> ---
>  include/drm/drm_gem_cma_helper.h | 46 +++++++++++++++++++++++++++++---
>  1 file changed, 43 insertions(+), 3 deletions(-)
> 
> diff --git a/include/drm/drm_gem_cma_helper.h b/include/drm/drm_gem_cma_helper.h
> index 2cdf333ae585d..5e1e595c0e72d 100644
> --- a/include/drm/drm_gem_cma_helper.h
> +++ b/include/drm/drm_gem_cma_helper.h
> @@ -109,6 +109,42 @@ void drm_gem_cma_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
>  struct drm_gem_object *
>  drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size);
>  
> +/**
> + * DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE - CMA GEM driver operations
> + * @dumb_create_func: callback function for .dumb_create
> + *
> + * This macro provides a shortcut for setting the default GEM operations in the
> + * &drm_driver structure.
> + *
> + * This macro is a variant of DRM_GEM_CMA_DRIVER_OPS for drivers that
> + * override the default implementation of &struct rm_driver.dumb_create. Use
> + * DRM_GEM_CMA_DRIVER_OPS if possible. Drivers that require a virtual address
> + * on imported buffers should use
> + * DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE() instead.
> + */
> +#define DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(dumb_create_func) \
> +	.gem_create_object	= drm_gem_cma_create_object_default_funcs, \
> +	.dumb_create		= (dumb_create_func), \

Do we need parentheses here ?

> +	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd, \
> +	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle, \
> +	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table, \
> +	.gem_prime_mmap		= drm_gem_cma_prime_mmap
> +
> +/**
> + * DRM_GEM_CMA_DRIVER_OPS - CMA GEM driver operations
> + *
> + * This macro provides a shortcut for setting the default GEM operations in the
> + * &drm_driver structure.
> + *
> + * Drivers that come with their own implementation of
> + * &struct drm_driver.dumb_create should use
> + * DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE() instead. Use
> + * DRM_GEM_CMA_DRIVER_OPS if possible. Drivers that require a virtual address
> + * on imported buffers should use DRM_GEM_CMA_DRIVER_OPS_VMAP instead.
> + */
> +#define DRM_GEM_CMA_DRIVER_OPS \
> +	DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(drm_gem_cma_dumb_create)
> +
>  /**
>   * DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE - CMA GEM driver operations
>   *                                                ensuring a virtual address
> @@ -120,8 +156,10 @@ drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size);
>   * imported buffers.
>   *
>   * This macro is a variant of DRM_GEM_CMA_DRIVER_OPS_VMAP for drivers that
> - * override the default implementation of &struct rm_driver.dumb_create. Use
> - * DRM_GEM_CMA_DRIVER_OPS_VMAP if possible.
> + * override the default implementation of &struct drm_driver.dumb_create. Use
> + * DRM_GEM_CMA_DRIVER_OPS_VMAP if possible. Drivers that do not require a
> + * virtual address on imported buffers should use
> + * DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE() instead.
>   */
>  #define DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE(dumb_create_func) \
>  	.gem_create_object	= drm_gem_cma_create_object_default_funcs, \
> @@ -142,7 +180,9 @@ drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size);
>   * Drivers that come with their own implementation of
>   * &struct drm_driver.dumb_create should use
>   * DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE() instead. Use
> - * DRM_GEM_CMA_DRIVER_OPS_VMAP if possible.
> + * DRM_GEM_CMA_DRIVER_OPS_VMAP if possible. Drivers that do not require a
> + * virtual address on imported buffers should use DRM_GEM_CMA_DRIVER_OPS
> + * instead.
>   */
>  #define DRM_GEM_CMA_DRIVER_OPS_VMAP \
>  	DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE(drm_gem_cma_dumb_create)
> 

-- 
Regards,

Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH v3 31/43] drm/shmobile: Use GEM CMA object functions
  2020-06-05  7:32 ` [PATCH v3 31/43] drm/shmobile: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  8:20   ` Laurent Pinchart
  0 siblings, 0 replies; 58+ messages in thread
From: Laurent Pinchart @ 2020-06-05  8:20 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: alexandre.belloni, linux-aspeed, narmstrong, airlied,
	liviu.dudau, philippe.cornu, paul, mihail.atanassov, sam,
	alexandre.torgue, marex, abrodkin, ludovic.desroches,
	xinliang.liu, kong.kongxinwei, tomi.valkeinen, james.qian.wang,
	joel, Emil Velikov, linux-imx, puck.chen, s.hauer, alison.wang,
	jsarha, wens, vincent.abriou, kernel, linux-arm-kernel,
	mcoquelin.stm32, bbrezillon, andrew, dri-devel, nicolas.ferre,
	yannick.fertre, kieran.bingham+renesas, khilman, zourongrong,
	shawnguo

Hi Thomas,

Thank you for the patch.

On Fri, Jun 05, 2020 at 09:32:35AM +0200, Thomas Zimmermann wrote:
> Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
> allocates the object and sets CMA's default object functions. Corresponding
> callbacks in struct drm_driver are cleared. No functional changes are made.
> 
> Driver and object-function instances use the same callback functions, with
> the exception of vunmap. The implementation of vunmap is empty and left out
> in CMA's default object functions.
> 
> v3:
> 	* convert to DRIVER_OPS macro in a separate patch
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Acked-by: Emil Velikov <emil.velikov@collabora.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/shmobile/shmob_drm_drv.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/shmobile/shmob_drm_drv.c b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> index ae9d6b8d3ca87..e209610d4b8a1 100644
> --- a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> +++ b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> @@ -131,14 +131,10 @@ DEFINE_DRM_GEM_CMA_FOPS(shmob_drm_fops);
>  static struct drm_driver shmob_drm_driver = {
>  	.driver_features	= DRIVER_GEM | DRIVER_MODESET,
>  	.irq_handler		= shmob_drm_irq,
> -	.gem_free_object_unlocked = drm_gem_cma_free_object,
> -	.gem_vm_ops		= &drm_gem_cma_vm_ops,
> +	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
>  	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
>  	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
> -	.gem_prime_get_sg_table	= drm_gem_cma_prime_get_sg_table,
>  	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
> -	.gem_prime_vmap		= drm_gem_cma_prime_vmap,
> -	.gem_prime_vunmap	= drm_gem_cma_prime_vunmap,
>  	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
>  	.dumb_create		= drm_gem_cma_dumb_create,
>  	.fops			= &shmob_drm_fops,
> -- 
> 2.26.2
> 

-- 
Regards,

Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH v3 29/43] drm/rcar-du: Use GEM CMA object functions
  2020-06-05  7:32 ` [PATCH v3 29/43] drm/rcar-du: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-05  8:23   ` Laurent Pinchart
  0 siblings, 0 replies; 58+ messages in thread
From: Laurent Pinchart @ 2020-06-05  8:23 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: alexandre.belloni, linux-aspeed, narmstrong, airlied,
	liviu.dudau, philippe.cornu, paul, mihail.atanassov, sam,
	alexandre.torgue, marex, abrodkin, ludovic.desroches,
	xinliang.liu, kong.kongxinwei, tomi.valkeinen, james.qian.wang,
	joel, Emil Velikov, linux-imx, puck.chen, s.hauer, alison.wang,
	jsarha, wens, vincent.abriou, kernel, linux-arm-kernel,
	mcoquelin.stm32, bbrezillon, andrew, dri-devel, nicolas.ferre,
	yannick.fertre, kieran.bingham+renesas, khilman, zourongrong,
	shawnguo

Hi Thomas,

Thank you for the patch.

On Fri, Jun 05, 2020 at 09:32:33AM +0200, Thomas Zimmermann wrote:
> Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
> allocates the object and sets CMA's default object functions. Corresponding
> callbacks in struct drm_driver are cleared. No functional changes are made.
> 
> Driver and object-function instances use the same callback functions, with
> the exception of vunmap. The implementation of vunmap is empty and left out
> in CMA's default object functions.
> 
> v3:
> 	* convert to DRIVER_OPS macro in a separate patch
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Acked-by: Emil Velikov <emil.velikov@collabora.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> index 3e67cf70f0402..43610d5bf8820 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> @@ -476,14 +476,10 @@ DEFINE_DRM_GEM_CMA_FOPS(rcar_du_fops);
>  
>  static struct drm_driver rcar_du_driver = {
>  	.driver_features	= DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
> -	.gem_free_object_unlocked = drm_gem_cma_free_object,
> -	.gem_vm_ops		= &drm_gem_cma_vm_ops,
> +	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
>  	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
>  	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
> -	.gem_prime_get_sg_table	= drm_gem_cma_prime_get_sg_table,
>  	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
> -	.gem_prime_vmap		= drm_gem_cma_prime_vmap,
> -	.gem_prime_vunmap	= drm_gem_cma_prime_vunmap,
>  	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
>  	.dumb_create		= rcar_du_dumb_create,
>  	.fops			= &rcar_du_fops,

-- 
Regards,

Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH v3 43/43] drm: Remove struct drm_driver.gem_print_info
  2020-06-05  7:32 ` [PATCH v3 43/43] drm: Remove struct drm_driver.gem_print_info Thomas Zimmermann
@ 2020-06-05  8:37   ` Laurent Pinchart
  0 siblings, 0 replies; 58+ messages in thread
From: Laurent Pinchart @ 2020-06-05  8:37 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: alexandre.belloni, linux-aspeed, narmstrong, airlied,
	liviu.dudau, philippe.cornu, paul, mihail.atanassov, sam,
	alexandre.torgue, marex, abrodkin, ludovic.desroches,
	xinliang.liu, kong.kongxinwei, tomi.valkeinen, james.qian.wang,
	joel, Emil Velikov, linux-imx, puck.chen, s.hauer, alison.wang,
	jsarha, wens, vincent.abriou, kernel, linux-arm-kernel,
	mcoquelin.stm32, bbrezillon, andrew, dri-devel, nicolas.ferre,
	yannick.fertre, kieran.bingham+renesas, khilman, zourongrong,
	shawnguo

Hi Thomas,

Thank you for the patch.

On Fri, Jun 05, 2020 at 09:32:47AM +0200, Thomas Zimmermann wrote:
> The .gem_print_info callback in struct drm_driver is obsolete and has
> no users left. Remove it.

I like code removal :-) Looking forward to the removal of more
GEM-related fields from struct drm_driver.

> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Suggested-by: Emil Velikov <emil.velikov@collabora.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/drm_gem.c |  2 --
>  include/drm/drm_drv.h     | 17 -----------------
>  2 files changed, 19 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
> index efc0367841e2b..08b3fa27ec406 100644
> --- a/drivers/gpu/drm/drm_gem.c
> +++ b/drivers/gpu/drm/drm_gem.c
> @@ -1191,8 +1191,6 @@ void drm_gem_print_info(struct drm_printer *p, unsigned int indent,
>  
>  	if (obj->funcs && obj->funcs->print_info)
>  		obj->funcs->print_info(p, indent, obj);
> -	else if (obj->dev->driver->gem_print_info)
> -		obj->dev->driver->gem_print_info(p, indent, obj);
>  }
>  
>  int drm_gem_pin(struct drm_gem_object *obj)
> diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h
> index bb924cddc09c1..8f110a28b6a23 100644
> --- a/include/drm/drm_drv.h
> +++ b/include/drm/drm_drv.h
> @@ -353,23 +353,6 @@ struct drm_driver {
>  	 */
>  	void (*gem_close_object) (struct drm_gem_object *, struct drm_file *);
>  
> -	/**
> -	 * @gem_print_info:
> -	 *
> -	 * This callback is deprecated in favour of
> -	 * &drm_gem_object_funcs.print_info.
> -	 *
> -	 * If driver subclasses struct &drm_gem_object, it can implement this
> -	 * optional hook for printing additional driver specific info.
> -	 *
> -	 * drm_printf_indent() should be used in the callback passing it the
> -	 * indent argument.
> -	 *
> -	 * This callback is called from drm_gem_print_info().
> -	 */
> -	void (*gem_print_info)(struct drm_printer *p, unsigned int indent,
> -			       const struct drm_gem_object *obj);
> -
>  	/**
>  	 * @gem_create_object: constructor for gem objects
>  	 *

-- 
Regards,

Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH v3 01/43] drm/cma-helper: Rename symbols from drm_cma_gem_ to drm_gem_cma_
  2020-06-05  7:32 ` [PATCH v3 01/43] drm/cma-helper: Rename symbols from drm_cma_gem_ to drm_gem_cma_ Thomas Zimmermann
@ 2020-06-05  8:40   ` Laurent Pinchart
  2020-06-05 14:15     ` Thomas Zimmermann
  0 siblings, 1 reply; 58+ messages in thread
From: Laurent Pinchart @ 2020-06-05  8:40 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: alexandre.belloni, linux-aspeed, narmstrong, airlied,
	liviu.dudau, philippe.cornu, paul, mihail.atanassov, sam,
	alexandre.torgue, marex, abrodkin, ludovic.desroches,
	xinliang.liu, kong.kongxinwei, tomi.valkeinen, james.qian.wang,
	joel, linux-imx, puck.chen, s.hauer, alison.wang, jsarha, wens,
	vincent.abriou, kernel, linux-arm-kernel, mcoquelin.stm32,
	bbrezillon, andrew, dri-devel, nicolas.ferre, yannick.fertre,
	kieran.bingham+renesas, khilman, zourongrong, shawnguo

Hi Thomas,

Thank you for the patch.

On Fri, Jun 05, 2020 at 09:32:05AM +0200, Thomas Zimmermann wrote:
> This fixes the naming of several symbols within CMA helpers. No functional
> changes are made.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Thank you for the patch.

Speaking of naming, I wish we could rename drm_gem_cma_* to something
else, as those helpers don't use CMA directly (and may not use it at
all), but I think that would be too much intrusive changes for too
little gain :-(

> ---
>  drivers/gpu/drm/aspeed/aspeed_gfx_drv.c |  2 +-
>  drivers/gpu/drm/drm_gem_cma_helper.c    | 10 +++++-----
>  include/drm/drm_gem_cma_helper.h        |  4 ++--
>  3 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c b/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
> index 6b27242b9ee3c..5e7ea0459d018 100644
> --- a/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
> +++ b/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
> @@ -188,7 +188,7 @@ DEFINE_DRM_GEM_CMA_FOPS(fops);
>  
>  static struct drm_driver aspeed_gfx_driver = {
>  	.driver_features        = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
> -	.gem_create_object	= drm_cma_gem_create_object_default_funcs,
> +	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
>  	.dumb_create		= drm_gem_cma_dumb_create,
>  	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
>  	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
> diff --git a/drivers/gpu/drm/drm_gem_cma_helper.c b/drivers/gpu/drm/drm_gem_cma_helper.c
> index b3db3ca7bd7a7..842e2fa332354 100644
> --- a/drivers/gpu/drm/drm_gem_cma_helper.c
> +++ b/drivers/gpu/drm/drm_gem_cma_helper.c
> @@ -572,7 +572,7 @@ void drm_gem_cma_prime_vunmap(struct drm_gem_object *obj, void *vaddr)
>  }
>  EXPORT_SYMBOL_GPL(drm_gem_cma_prime_vunmap);
>  
> -static const struct drm_gem_object_funcs drm_cma_gem_default_funcs = {
> +static const struct drm_gem_object_funcs drm_gem_cma_default_funcs = {
>  	.free = drm_gem_cma_free_object,
>  	.print_info = drm_gem_cma_print_info,
>  	.get_sg_table = drm_gem_cma_prime_get_sg_table,
> @@ -581,7 +581,7 @@ static const struct drm_gem_object_funcs drm_cma_gem_default_funcs = {
>  };
>  
>  /**
> - * drm_cma_gem_create_object_default_funcs - Create a CMA GEM object with a
> + * drm_gem_cma_create_object_default_funcs - Create a CMA GEM object with a
>   *                                           default function table
>   * @dev: DRM device
>   * @size: Size of the object to allocate
> @@ -593,7 +593,7 @@ static const struct drm_gem_object_funcs drm_cma_gem_default_funcs = {
>   * A pointer to a allocated GEM object or an error pointer on failure.
>   */
>  struct drm_gem_object *
> -drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size)
> +drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size)
>  {
>  	struct drm_gem_cma_object *cma_obj;
>  
> @@ -601,11 +601,11 @@ drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size)
>  	if (!cma_obj)
>  		return NULL;
>  
> -	cma_obj->base.funcs = &drm_cma_gem_default_funcs;
> +	cma_obj->base.funcs = &drm_gem_cma_default_funcs;
>  
>  	return &cma_obj->base;
>  }
> -EXPORT_SYMBOL(drm_cma_gem_create_object_default_funcs);
> +EXPORT_SYMBOL(drm_gem_cma_create_object_default_funcs);
>  
>  /**
>   * drm_gem_cma_prime_import_sg_table_vmap - PRIME import another driver's
> diff --git a/include/drm/drm_gem_cma_helper.h b/include/drm/drm_gem_cma_helper.h
> index 947ac95eb24a9..64b7e9d42129a 100644
> --- a/include/drm/drm_gem_cma_helper.h
> +++ b/include/drm/drm_gem_cma_helper.h
> @@ -107,7 +107,7 @@ void *drm_gem_cma_prime_vmap(struct drm_gem_object *obj);
>  void drm_gem_cma_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
>  
>  struct drm_gem_object *
> -drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size);
> +drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size);
>  
>  /**
>   * DRM_GEM_CMA_VMAP_DRIVER_OPS - CMA GEM driver operations ensuring a virtual
> @@ -118,7 +118,7 @@ drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size);
>   * imported buffers.
>   */
>  #define DRM_GEM_CMA_VMAP_DRIVER_OPS \
> -	.gem_create_object	= drm_cma_gem_create_object_default_funcs, \
> +	.gem_create_object	= drm_gem_cma_create_object_default_funcs, \
>  	.dumb_create		= drm_gem_cma_dumb_create, \
>  	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd, \
>  	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle, \

-- 
Regards,

Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH v3 01/43] drm/cma-helper: Rename symbols from drm_cma_gem_ to drm_gem_cma_
  2020-06-05  8:40   ` Laurent Pinchart
@ 2020-06-05 14:15     ` Thomas Zimmermann
  2020-06-05 14:23       ` Sam Ravnborg
  0 siblings, 1 reply; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05 14:15 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: alexandre.belloni, linux-aspeed, narmstrong, airlied,
	liviu.dudau, philippe.cornu, paul, mihail.atanassov, sam,
	alexandre.torgue, marex, abrodkin, ludovic.desroches,
	xinliang.liu, kong.kongxinwei, tomi.valkeinen, james.qian.wang,
	joel, linux-imx, puck.chen, s.hauer, alison.wang, jsarha, wens,
	vincent.abriou, kernel, linux-arm-kernel, mcoquelin.stm32,
	bbrezillon, andrew, dri-devel, nicolas.ferre, yannick.fertre,
	kieran.bingham+renesas, khilman, zourongrong, shawnguo


[-- Attachment #1.1.1: Type: text/plain, Size: 5444 bytes --]

Hi

Am 05.06.20 um 10:40 schrieb Laurent Pinchart:
> Hi Thomas,
> 
> Thank you for the patch.
> 
> On Fri, Jun 05, 2020 at 09:32:05AM +0200, Thomas Zimmermann wrote:
>> This fixes the naming of several symbols within CMA helpers. No functional
>> changes are made.
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> 
> Thank you for the patch.
> 
> Speaking of naming, I wish we could rename drm_gem_cma_* to something
> else, as those helpers don't use CMA directly (and may not use it at
> all), but I think that would be too much intrusive changes for too
> little gain :-(

I agree. Calling them GEM DMA helpers would be more precise. But I don't
really see an easy solution without either a big patch that touches
everything, or a lot of small patches with ugly intermediate states.

IMHO the best option would probably be an additional header file
drm_gem_dma_helper.h that defines a dma name for each cma name. Drivers
could then be converted individually with a single per-driver patch.

Best regards
Thomas

> 
>> ---
>>  drivers/gpu/drm/aspeed/aspeed_gfx_drv.c |  2 +-
>>  drivers/gpu/drm/drm_gem_cma_helper.c    | 10 +++++-----
>>  include/drm/drm_gem_cma_helper.h        |  4 ++--
>>  3 files changed, 8 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c b/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
>> index 6b27242b9ee3c..5e7ea0459d018 100644
>> --- a/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
>> +++ b/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
>> @@ -188,7 +188,7 @@ DEFINE_DRM_GEM_CMA_FOPS(fops);
>>  
>>  static struct drm_driver aspeed_gfx_driver = {
>>  	.driver_features        = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
>> -	.gem_create_object	= drm_cma_gem_create_object_default_funcs,
>> +	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
>>  	.dumb_create		= drm_gem_cma_dumb_create,
>>  	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
>>  	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
>> diff --git a/drivers/gpu/drm/drm_gem_cma_helper.c b/drivers/gpu/drm/drm_gem_cma_helper.c
>> index b3db3ca7bd7a7..842e2fa332354 100644
>> --- a/drivers/gpu/drm/drm_gem_cma_helper.c
>> +++ b/drivers/gpu/drm/drm_gem_cma_helper.c
>> @@ -572,7 +572,7 @@ void drm_gem_cma_prime_vunmap(struct drm_gem_object *obj, void *vaddr)
>>  }
>>  EXPORT_SYMBOL_GPL(drm_gem_cma_prime_vunmap);
>>  
>> -static const struct drm_gem_object_funcs drm_cma_gem_default_funcs = {
>> +static const struct drm_gem_object_funcs drm_gem_cma_default_funcs = {
>>  	.free = drm_gem_cma_free_object,
>>  	.print_info = drm_gem_cma_print_info,
>>  	.get_sg_table = drm_gem_cma_prime_get_sg_table,
>> @@ -581,7 +581,7 @@ static const struct drm_gem_object_funcs drm_cma_gem_default_funcs = {
>>  };
>>  
>>  /**
>> - * drm_cma_gem_create_object_default_funcs - Create a CMA GEM object with a
>> + * drm_gem_cma_create_object_default_funcs - Create a CMA GEM object with a
>>   *                                           default function table
>>   * @dev: DRM device
>>   * @size: Size of the object to allocate
>> @@ -593,7 +593,7 @@ static const struct drm_gem_object_funcs drm_cma_gem_default_funcs = {
>>   * A pointer to a allocated GEM object or an error pointer on failure.
>>   */
>>  struct drm_gem_object *
>> -drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size)
>> +drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size)
>>  {
>>  	struct drm_gem_cma_object *cma_obj;
>>  
>> @@ -601,11 +601,11 @@ drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size)
>>  	if (!cma_obj)
>>  		return NULL;
>>  
>> -	cma_obj->base.funcs = &drm_cma_gem_default_funcs;
>> +	cma_obj->base.funcs = &drm_gem_cma_default_funcs;
>>  
>>  	return &cma_obj->base;
>>  }
>> -EXPORT_SYMBOL(drm_cma_gem_create_object_default_funcs);
>> +EXPORT_SYMBOL(drm_gem_cma_create_object_default_funcs);
>>  
>>  /**
>>   * drm_gem_cma_prime_import_sg_table_vmap - PRIME import another driver's
>> diff --git a/include/drm/drm_gem_cma_helper.h b/include/drm/drm_gem_cma_helper.h
>> index 947ac95eb24a9..64b7e9d42129a 100644
>> --- a/include/drm/drm_gem_cma_helper.h
>> +++ b/include/drm/drm_gem_cma_helper.h
>> @@ -107,7 +107,7 @@ void *drm_gem_cma_prime_vmap(struct drm_gem_object *obj);
>>  void drm_gem_cma_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
>>  
>>  struct drm_gem_object *
>> -drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size);
>> +drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size);
>>  
>>  /**
>>   * DRM_GEM_CMA_VMAP_DRIVER_OPS - CMA GEM driver operations ensuring a virtual
>> @@ -118,7 +118,7 @@ drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size);
>>   * imported buffers.
>>   */
>>  #define DRM_GEM_CMA_VMAP_DRIVER_OPS \
>> -	.gem_create_object	= drm_cma_gem_create_object_default_funcs, \
>> +	.gem_create_object	= drm_gem_cma_create_object_default_funcs, \
>>  	.dumb_create		= drm_gem_cma_dumb_create, \
>>  	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd, \
>>  	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle, \
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH v3 01/43] drm/cma-helper: Rename symbols from drm_cma_gem_ to drm_gem_cma_
  2020-06-05 14:15     ` Thomas Zimmermann
@ 2020-06-05 14:23       ` Sam Ravnborg
  2020-06-05 14:40         ` Thomas Zimmermann
  0 siblings, 1 reply; 58+ messages in thread
From: Sam Ravnborg @ 2020-06-05 14:23 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: alexandre.belloni, linux-aspeed, narmstrong, airlied,
	liviu.dudau, philippe.cornu, paul, Laurent Pinchart,
	mihail.atanassov, alexandre.torgue, marex, khilman, abrodkin,
	ludovic.desroches, xinliang.liu, kong.kongxinwei, tomi.valkeinen,
	james.qian.wang, joel, linux-imx, puck.chen, s.hauer,
	alison.wang, jsarha, wens, vincent.abriou, kernel,
	linux-arm-kernel, mcoquelin.stm32, bbrezillon, andrew, dri-devel,
	nicolas.ferre, yannick.fertre, kieran.bingham+renesas,
	zourongrong, shawnguo

On Fri, Jun 05, 2020 at 04:15:46PM +0200, Thomas Zimmermann wrote:
> Hi
> 
> Am 05.06.20 um 10:40 schrieb Laurent Pinchart:
> > Hi Thomas,
> > 
> > Thank you for the patch.
> > 
> > On Fri, Jun 05, 2020 at 09:32:05AM +0200, Thomas Zimmermann wrote:
> >> This fixes the naming of several symbols within CMA helpers. No functional
> >> changes are made.
> >>
> >> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> > 
> > Thank you for the patch.
> > 
> > Speaking of naming, I wish we could rename drm_gem_cma_* to something
> > else, as those helpers don't use CMA directly (and may not use it at
> > all), but I think that would be too much intrusive changes for too
> > little gain :-(
> 
> I agree. Calling them GEM DMA helpers would be more precise. But I don't
> really see an easy solution without either a big patch that touches
> everything, or a lot of small patches with ugly intermediate states.
> 
> IMHO the best option would probably be an additional header file
> drm_gem_dma_helper.h that defines a dma name for each cma name. Drivers
> could then be converted individually with a single per-driver patch.

From todo.rst:

"
Rename CMA helpers to DMA helpers
---------------------------------

CMA (standing for contiguous memory allocator) is really a bit an accident of
what these were used for first, a much better name would be DMA helpers. In the
text these should even be called coherent DMA memory helpers (so maybe CDM, but
no one knows what that means) since underneath they just use dma_alloc_coherent.

Contact: Laurent Pinchart, Daniel Vetter

Level: Intermediate (mostly because it is a huge tasks without good partial
milestones, not technically itself that challenging)
"

The same?

	Sam

> 
> Best regards
> Thomas
> 
> > 
> >> ---
> >>  drivers/gpu/drm/aspeed/aspeed_gfx_drv.c |  2 +-
> >>  drivers/gpu/drm/drm_gem_cma_helper.c    | 10 +++++-----
> >>  include/drm/drm_gem_cma_helper.h        |  4 ++--
> >>  3 files changed, 8 insertions(+), 8 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c b/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
> >> index 6b27242b9ee3c..5e7ea0459d018 100644
> >> --- a/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
> >> +++ b/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
> >> @@ -188,7 +188,7 @@ DEFINE_DRM_GEM_CMA_FOPS(fops);
> >>  
> >>  static struct drm_driver aspeed_gfx_driver = {
> >>  	.driver_features        = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
> >> -	.gem_create_object	= drm_cma_gem_create_object_default_funcs,
> >> +	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
> >>  	.dumb_create		= drm_gem_cma_dumb_create,
> >>  	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
> >>  	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
> >> diff --git a/drivers/gpu/drm/drm_gem_cma_helper.c b/drivers/gpu/drm/drm_gem_cma_helper.c
> >> index b3db3ca7bd7a7..842e2fa332354 100644
> >> --- a/drivers/gpu/drm/drm_gem_cma_helper.c
> >> +++ b/drivers/gpu/drm/drm_gem_cma_helper.c
> >> @@ -572,7 +572,7 @@ void drm_gem_cma_prime_vunmap(struct drm_gem_object *obj, void *vaddr)
> >>  }
> >>  EXPORT_SYMBOL_GPL(drm_gem_cma_prime_vunmap);
> >>  
> >> -static const struct drm_gem_object_funcs drm_cma_gem_default_funcs = {
> >> +static const struct drm_gem_object_funcs drm_gem_cma_default_funcs = {
> >>  	.free = drm_gem_cma_free_object,
> >>  	.print_info = drm_gem_cma_print_info,
> >>  	.get_sg_table = drm_gem_cma_prime_get_sg_table,
> >> @@ -581,7 +581,7 @@ static const struct drm_gem_object_funcs drm_cma_gem_default_funcs = {
> >>  };
> >>  
> >>  /**
> >> - * drm_cma_gem_create_object_default_funcs - Create a CMA GEM object with a
> >> + * drm_gem_cma_create_object_default_funcs - Create a CMA GEM object with a
> >>   *                                           default function table
> >>   * @dev: DRM device
> >>   * @size: Size of the object to allocate
> >> @@ -593,7 +593,7 @@ static const struct drm_gem_object_funcs drm_cma_gem_default_funcs = {
> >>   * A pointer to a allocated GEM object or an error pointer on failure.
> >>   */
> >>  struct drm_gem_object *
> >> -drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size)
> >> +drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size)
> >>  {
> >>  	struct drm_gem_cma_object *cma_obj;
> >>  
> >> @@ -601,11 +601,11 @@ drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size)
> >>  	if (!cma_obj)
> >>  		return NULL;
> >>  
> >> -	cma_obj->base.funcs = &drm_cma_gem_default_funcs;
> >> +	cma_obj->base.funcs = &drm_gem_cma_default_funcs;
> >>  
> >>  	return &cma_obj->base;
> >>  }
> >> -EXPORT_SYMBOL(drm_cma_gem_create_object_default_funcs);
> >> +EXPORT_SYMBOL(drm_gem_cma_create_object_default_funcs);
> >>  
> >>  /**
> >>   * drm_gem_cma_prime_import_sg_table_vmap - PRIME import another driver's
> >> diff --git a/include/drm/drm_gem_cma_helper.h b/include/drm/drm_gem_cma_helper.h
> >> index 947ac95eb24a9..64b7e9d42129a 100644
> >> --- a/include/drm/drm_gem_cma_helper.h
> >> +++ b/include/drm/drm_gem_cma_helper.h
> >> @@ -107,7 +107,7 @@ void *drm_gem_cma_prime_vmap(struct drm_gem_object *obj);
> >>  void drm_gem_cma_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
> >>  
> >>  struct drm_gem_object *
> >> -drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size);
> >> +drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size);
> >>  
> >>  /**
> >>   * DRM_GEM_CMA_VMAP_DRIVER_OPS - CMA GEM driver operations ensuring a virtual
> >> @@ -118,7 +118,7 @@ drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size);
> >>   * imported buffers.
> >>   */
> >>  #define DRM_GEM_CMA_VMAP_DRIVER_OPS \
> >> -	.gem_create_object	= drm_cma_gem_create_object_default_funcs, \
> >> +	.gem_create_object	= drm_gem_cma_create_object_default_funcs, \
> >>  	.dumb_create		= drm_gem_cma_dumb_create, \
> >>  	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd, \
> >>  	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle, \
> > 
> 
> -- 
> Thomas Zimmermann
> Graphics Driver Developer
> SUSE Software Solutions Germany GmbH
> Maxfeldstr. 5, 90409 Nürnberg, Germany
> (HRB 36809, AG Nürnberg)
> Geschäftsführer: Felix Imendörffer
> 



_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH v3 01/43] drm/cma-helper: Rename symbols from drm_cma_gem_ to drm_gem_cma_
  2020-06-05 14:23       ` Sam Ravnborg
@ 2020-06-05 14:40         ` Thomas Zimmermann
  0 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-05 14:40 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: alexandre.belloni, linux-aspeed, narmstrong, airlied,
	liviu.dudau, dri-devel, nicolas.ferre, paul, Laurent Pinchart,
	mihail.atanassov, marex, khilman, abrodkin, kong.kongxinwei,
	xinliang.liu, ludovic.desroches, tomi.valkeinen, james.qian.wang,
	linux-imx, joel, alexandre.torgue, puck.chen, s.hauer,
	alison.wang, jsarha, wens, vincent.abriou, linux-arm-kernel,
	mcoquelin.stm32, bbrezillon, andrew, philippe.cornu,
	yannick.fertre, kieran.bingham+renesas, kernel, zourongrong,
	shawnguo


[-- Attachment #1.1.1: Type: text/plain, Size: 7020 bytes --]

Hi

Am 05.06.20 um 16:23 schrieb Sam Ravnborg:
> On Fri, Jun 05, 2020 at 04:15:46PM +0200, Thomas Zimmermann wrote:
>> Hi
>>
>> Am 05.06.20 um 10:40 schrieb Laurent Pinchart:
>>> Hi Thomas,
>>>
>>> Thank you for the patch.
>>>
>>> On Fri, Jun 05, 2020 at 09:32:05AM +0200, Thomas Zimmermann wrote:
>>>> This fixes the naming of several symbols within CMA helpers. No functional
>>>> changes are made.
>>>>
>>>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>>>
>>> Thank you for the patch.
>>>
>>> Speaking of naming, I wish we could rename drm_gem_cma_* to something
>>> else, as those helpers don't use CMA directly (and may not use it at
>>> all), but I think that would be too much intrusive changes for too
>>> little gain :-(
>>
>> I agree. Calling them GEM DMA helpers would be more precise. But I don't
>> really see an easy solution without either a big patch that touches
>> everything, or a lot of small patches with ugly intermediate states.
>>
>> IMHO the best option would probably be an additional header file
>> drm_gem_dma_helper.h that defines a dma name for each cma name. Drivers
>> could then be converted individually with a single per-driver patch.
> 
> From todo.rst:
> 
> "
> Rename CMA helpers to DMA helpers
> ---------------------------------
> 
> CMA (standing for contiguous memory allocator) is really a bit an accident of
> what these were used for first, a much better name would be DMA helpers. In the
> text these should even be called coherent DMA memory helpers (so maybe CDM, but
> no one knows what that means) since underneath they just use dma_alloc_coherent.
> 
> Contact: Laurent Pinchart, Daniel Vetter
> 
> Level: Intermediate (mostly because it is a huge tasks without good partial
> milestones, not technically itself that challenging)
> "
> 
> The same?

Yes, I've been thinking of this. That would be a good task for someone
to get familiar with the DRM code.

Best regards
Thomas

> 
> 	Sam
> 
>>
>> Best regards
>> Thomas
>>
>>>
>>>> ---
>>>>  drivers/gpu/drm/aspeed/aspeed_gfx_drv.c |  2 +-
>>>>  drivers/gpu/drm/drm_gem_cma_helper.c    | 10 +++++-----
>>>>  include/drm/drm_gem_cma_helper.h        |  4 ++--
>>>>  3 files changed, 8 insertions(+), 8 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c b/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
>>>> index 6b27242b9ee3c..5e7ea0459d018 100644
>>>> --- a/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
>>>> +++ b/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
>>>> @@ -188,7 +188,7 @@ DEFINE_DRM_GEM_CMA_FOPS(fops);
>>>>  
>>>>  static struct drm_driver aspeed_gfx_driver = {
>>>>  	.driver_features        = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
>>>> -	.gem_create_object	= drm_cma_gem_create_object_default_funcs,
>>>> +	.gem_create_object	= drm_gem_cma_create_object_default_funcs,
>>>>  	.dumb_create		= drm_gem_cma_dumb_create,
>>>>  	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
>>>>  	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
>>>> diff --git a/drivers/gpu/drm/drm_gem_cma_helper.c b/drivers/gpu/drm/drm_gem_cma_helper.c
>>>> index b3db3ca7bd7a7..842e2fa332354 100644
>>>> --- a/drivers/gpu/drm/drm_gem_cma_helper.c
>>>> +++ b/drivers/gpu/drm/drm_gem_cma_helper.c
>>>> @@ -572,7 +572,7 @@ void drm_gem_cma_prime_vunmap(struct drm_gem_object *obj, void *vaddr)
>>>>  }
>>>>  EXPORT_SYMBOL_GPL(drm_gem_cma_prime_vunmap);
>>>>  
>>>> -static const struct drm_gem_object_funcs drm_cma_gem_default_funcs = {
>>>> +static const struct drm_gem_object_funcs drm_gem_cma_default_funcs = {
>>>>  	.free = drm_gem_cma_free_object,
>>>>  	.print_info = drm_gem_cma_print_info,
>>>>  	.get_sg_table = drm_gem_cma_prime_get_sg_table,
>>>> @@ -581,7 +581,7 @@ static const struct drm_gem_object_funcs drm_cma_gem_default_funcs = {
>>>>  };
>>>>  
>>>>  /**
>>>> - * drm_cma_gem_create_object_default_funcs - Create a CMA GEM object with a
>>>> + * drm_gem_cma_create_object_default_funcs - Create a CMA GEM object with a
>>>>   *                                           default function table
>>>>   * @dev: DRM device
>>>>   * @size: Size of the object to allocate
>>>> @@ -593,7 +593,7 @@ static const struct drm_gem_object_funcs drm_cma_gem_default_funcs = {
>>>>   * A pointer to a allocated GEM object or an error pointer on failure.
>>>>   */
>>>>  struct drm_gem_object *
>>>> -drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size)
>>>> +drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size)
>>>>  {
>>>>  	struct drm_gem_cma_object *cma_obj;
>>>>  
>>>> @@ -601,11 +601,11 @@ drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size)
>>>>  	if (!cma_obj)
>>>>  		return NULL;
>>>>  
>>>> -	cma_obj->base.funcs = &drm_cma_gem_default_funcs;
>>>> +	cma_obj->base.funcs = &drm_gem_cma_default_funcs;
>>>>  
>>>>  	return &cma_obj->base;
>>>>  }
>>>> -EXPORT_SYMBOL(drm_cma_gem_create_object_default_funcs);
>>>> +EXPORT_SYMBOL(drm_gem_cma_create_object_default_funcs);
>>>>  
>>>>  /**
>>>>   * drm_gem_cma_prime_import_sg_table_vmap - PRIME import another driver's
>>>> diff --git a/include/drm/drm_gem_cma_helper.h b/include/drm/drm_gem_cma_helper.h
>>>> index 947ac95eb24a9..64b7e9d42129a 100644
>>>> --- a/include/drm/drm_gem_cma_helper.h
>>>> +++ b/include/drm/drm_gem_cma_helper.h
>>>> @@ -107,7 +107,7 @@ void *drm_gem_cma_prime_vmap(struct drm_gem_object *obj);
>>>>  void drm_gem_cma_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
>>>>  
>>>>  struct drm_gem_object *
>>>> -drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size);
>>>> +drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size);
>>>>  
>>>>  /**
>>>>   * DRM_GEM_CMA_VMAP_DRIVER_OPS - CMA GEM driver operations ensuring a virtual
>>>> @@ -118,7 +118,7 @@ drm_cma_gem_create_object_default_funcs(struct drm_device *dev, size_t size);
>>>>   * imported buffers.
>>>>   */
>>>>  #define DRM_GEM_CMA_VMAP_DRIVER_OPS \
>>>> -	.gem_create_object	= drm_cma_gem_create_object_default_funcs, \
>>>> +	.gem_create_object	= drm_gem_cma_create_object_default_funcs, \
>>>>  	.dumb_create		= drm_gem_cma_dumb_create, \
>>>>  	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd, \
>>>>  	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle, \
>>>
>>
>> -- 
>> Thomas Zimmermann
>> Graphics Driver Developer
>> SUSE Software Solutions Germany GmbH
>> Maxfeldstr. 5, 90409 Nürnberg, Germany
>> (HRB 36809, AG Nürnberg)
>> Geschäftsführer: Felix Imendörffer
>>
> 
> 
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions
  2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
                   ` (42 preceding siblings ...)
  2020-06-05  7:32 ` [PATCH v3 43/43] drm: Remove struct drm_driver.gem_print_info Thomas Zimmermann
@ 2020-06-05 15:40 ` Emil Velikov
  43 siblings, 0 replies; 58+ messages in thread
From: Emil Velikov @ 2020-06-05 15:40 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: alexandre.belloni, linux-aspeed, Neil Armstrong, Dave Airlie,
	Liviu Dudau, Philippe Cornu, Paul Cercueil, Laurent Pinchart,
	Mihail Atanassov, Sam Ravnborg, Alexandre Torgue,
	Marek Vašut, Alexey Brodkin, ludovic.desroches,
	Xinliang Liu, Xinwei Kong, Tomi Valkeinen,
	james qian wang (Arm Technology China),
	joel, NXP Linux Team, Chen Feng, Sascha Hauer, Alison Wang,
	Jyri Sarha, Chen-Yu Tsai, Vincent Abriou, Sascha Hauer, LAKML,
	Maxime Coquelin, bbrezillon, andrew, ML dri-devel, nicolas.ferre,
	Yannick Fertre, Kieran Bingham, khilman, Rongrong Zou, Shawn Guo

Hi Thomas,

On Fri, 5 Jun 2020 at 08:33, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>
> Most of the CMA-based drivers use the default implementation for the
> callbacks in struct drm_driver. With this patch, these interfaces are
> initialized with a common helper macro and GEM object functions replace
> several deprecated interfaces.
>
> To address Laurent's comment on the amount of changes per patch, I re-
> organized the series.
>
>  1) There are now DRIVER_OPS macros for drivers that require a virtual
>     address on imported buffers, and macros for drivers that don't. Therefore,
>     drivers don't switch to drm_gem_cma_prime_import_sg_table_vmap()
>     implicitly when they begin using the DRIVER_OPS macro.
>
>  2) I split each driver's patch into two: the first converts the driver to
>     GEM CMA object functions, the second introduces the DRIVER_OPS macro.
>     Neither patch should result in a functional change. I kept existing R-b
>     and A-b tags on both patches. Existing Tested-by tags are only on the
>     final patch, as that's closest to what has been tested.
>
>  3) I dropped the conversion to drm_gem_prime_mmap() from the patchset. As
>     part of this change, the CMA object functions could provide an mmap
>     function, which is worth it's own series. The patch for aspeed requires
>     drm_gem_prime_mmap(), so I removed it from the series.
>
> Patches 1 to 3 update the existing macro and helper to similar naming as with
> SHMEM, add a new DRIVER_OPS macro, and add helpers for drivers that override
> the default implementation for .dumb_create(). The remaining patches up to
> the final one convert the drivers. The kirin driver also changes to the
> default dumb_create function. The final patch deletes .gem_print_info from
> struct drm_driver.
>
> I don't have much of the hardware, so it's only compile-tested on aarch64,
> arm and x86-64 only. Several patches have Tested-by tags.
>

For the whole updated series:
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>

-Emil
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH v3 03/43] drm/cma-helper: Add DRM_GEM_CMA_DRIVER_OPS to set default GEM CMA functions
  2020-06-05  8:16   ` Laurent Pinchart
@ 2020-06-09  9:45     ` Thomas Zimmermann
  0 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2020-06-09  9:45 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: alexandre.belloni, linux-aspeed, narmstrong, airlied,
	liviu.dudau, philippe.cornu, paul, mihail.atanassov, sam,
	alexandre.torgue, marex, abrodkin, ludovic.desroches,
	xinliang.liu, kong.kongxinwei, tomi.valkeinen, james.qian.wang,
	joel, Emil Velikov, linux-imx, puck.chen, s.hauer, alison.wang,
	jsarha, wens, vincent.abriou, kernel, linux-arm-kernel,
	mcoquelin.stm32, bbrezillon, andrew, dri-devel, nicolas.ferre,
	yannick.fertre, kieran.bingham+renesas, khilman, zourongrong,
	shawnguo


[-- Attachment #1.1.1: Type: text/plain, Size: 4869 bytes --]

Hi

Am 05.06.20 um 10:16 schrieb Laurent Pinchart:
> Hi Thomas,
> 
> Thank you for the patch.
> 
> On Fri, Jun 05, 2020 at 09:32:07AM +0200, Thomas Zimmermann wrote:
>> The macro to DRM_GEM_CMA_DRIVER_OPS sets GEM callbacks in struct drm_driver
>> to their defaults for CMA. An variant of the macro is provided for drivers
> 
> s/An variant/A variant/
> 
>> that override the default .dumb_create callback. Adapt drivers to the changes.
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> Acked-by: Emil Velikov <emil.velikov@collabora.com>
>> ---
>>  include/drm/drm_gem_cma_helper.h | 46 +++++++++++++++++++++++++++++---
>>  1 file changed, 43 insertions(+), 3 deletions(-)
>>
>> diff --git a/include/drm/drm_gem_cma_helper.h b/include/drm/drm_gem_cma_helper.h
>> index 2cdf333ae585d..5e1e595c0e72d 100644
>> --- a/include/drm/drm_gem_cma_helper.h
>> +++ b/include/drm/drm_gem_cma_helper.h
>> @@ -109,6 +109,42 @@ void drm_gem_cma_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
>>  struct drm_gem_object *
>>  drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size);
>>  
>> +/**
>> + * DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE - CMA GEM driver operations
>> + * @dumb_create_func: callback function for .dumb_create
>> + *
>> + * This macro provides a shortcut for setting the default GEM operations in the
>> + * &drm_driver structure.
>> + *
>> + * This macro is a variant of DRM_GEM_CMA_DRIVER_OPS for drivers that
>> + * override the default implementation of &struct rm_driver.dumb_create. Use
>> + * DRM_GEM_CMA_DRIVER_OPS if possible. Drivers that require a virtual address
>> + * on imported buffers should use
>> + * DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE() instead.
>> + */
>> +#define DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(dumb_create_func) \
>> +	.gem_create_object	= drm_gem_cma_create_object_default_funcs, \
>> +	.dumb_create		= (dumb_create_func), \
> 
> Do we need parentheses here ?

That can probably be removed.

Best regards
Thomas

> 
>> +	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd, \
>> +	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle, \
>> +	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table, \
>> +	.gem_prime_mmap		= drm_gem_cma_prime_mmap
>> +
>> +/**
>> + * DRM_GEM_CMA_DRIVER_OPS - CMA GEM driver operations
>> + *
>> + * This macro provides a shortcut for setting the default GEM operations in the
>> + * &drm_driver structure.
>> + *
>> + * Drivers that come with their own implementation of
>> + * &struct drm_driver.dumb_create should use
>> + * DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE() instead. Use
>> + * DRM_GEM_CMA_DRIVER_OPS if possible. Drivers that require a virtual address
>> + * on imported buffers should use DRM_GEM_CMA_DRIVER_OPS_VMAP instead.
>> + */
>> +#define DRM_GEM_CMA_DRIVER_OPS \
>> +	DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(drm_gem_cma_dumb_create)
>> +
>>  /**
>>   * DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE - CMA GEM driver operations
>>   *                                                ensuring a virtual address
>> @@ -120,8 +156,10 @@ drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size);
>>   * imported buffers.
>>   *
>>   * This macro is a variant of DRM_GEM_CMA_DRIVER_OPS_VMAP for drivers that
>> - * override the default implementation of &struct rm_driver.dumb_create. Use
>> - * DRM_GEM_CMA_DRIVER_OPS_VMAP if possible.
>> + * override the default implementation of &struct drm_driver.dumb_create. Use
>> + * DRM_GEM_CMA_DRIVER_OPS_VMAP if possible. Drivers that do not require a
>> + * virtual address on imported buffers should use
>> + * DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE() instead.
>>   */
>>  #define DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE(dumb_create_func) \
>>  	.gem_create_object	= drm_gem_cma_create_object_default_funcs, \
>> @@ -142,7 +180,9 @@ drm_gem_cma_create_object_default_funcs(struct drm_device *dev, size_t size);
>>   * Drivers that come with their own implementation of
>>   * &struct drm_driver.dumb_create should use
>>   * DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE() instead. Use
>> - * DRM_GEM_CMA_DRIVER_OPS_VMAP if possible.
>> + * DRM_GEM_CMA_DRIVER_OPS_VMAP if possible. Drivers that do not require a
>> + * virtual address on imported buffers should use DRM_GEM_CMA_DRIVER_OPS
>> + * instead.
>>   */
>>  #define DRM_GEM_CMA_DRIVER_OPS_VMAP \
>>  	DRM_GEM_CMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE(drm_gem_cma_dumb_create)
>>
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH v3 37/43] drm/tilcdc: Use GEM CMA object functions
  2020-06-05  7:32 ` [PATCH v3 37/43] drm/tilcdc: Use GEM CMA object functions Thomas Zimmermann
@ 2020-06-24  9:03   ` Jyri Sarha
  0 siblings, 0 replies; 58+ messages in thread
From: Jyri Sarha @ 2020-06-24  9:03 UTC (permalink / raw)
  To: Thomas Zimmermann, abrodkin, airlied, daniel, james.qian.wang,
	liviu.dudau, mihail.atanassov, brian.starkey, joel, andrew, sam,
	bbrezillon, nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, linux-aspeed, dri-devel, Emil Velikov

On 05/06/2020 10:32, Thomas Zimmermann wrote:
> Create GEM objects with drm_gem_cma_create_object_default_funcs(), which
> allocates the object and sets CMA's default object functions. Corresponding
> callbacks in struct drm_driver are cleared. No functional changes are made.
> 
> Driver and object-function instances use the same callback functions, with
> the exception of vunmap. The implementation of vunmap is empty and left out
> in CMA's default object functions.
> 
> v3:
> 	* convert to DRIVER_OPS macro in a separate patch
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Acked-by: Emil Velikov <emil.velikov@collabora.com>

Reviewed-by: Jyri Sarha <jsarha@ti.com>
Tested-by: Jyri Sarha <jsarha@ti.com>

> ---
>  drivers/gpu/drm/tilcdc/tilcdc_drv.c | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> index a5e9ee4c7fbf4..a6582325651bd 100644
> --- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> +++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> @@ -496,17 +496,12 @@ DEFINE_DRM_GEM_CMA_FOPS(fops);
>  static struct drm_driver tilcdc_driver = {
>  	.driver_features    = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
>  	.irq_handler        = tilcdc_irq,
> -	.gem_free_object_unlocked = drm_gem_cma_free_object,
> -	.gem_print_info     = drm_gem_cma_print_info,
> -	.gem_vm_ops         = &drm_gem_cma_vm_ops,
> +	.gem_create_object  = drm_gem_cma_create_object_default_funcs,
>  	.dumb_create        = drm_gem_cma_dumb_create,
>  
>  	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
>  	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
> -	.gem_prime_get_sg_table	= drm_gem_cma_prime_get_sg_table,
>  	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
> -	.gem_prime_vmap		= drm_gem_cma_prime_vmap,
> -	.gem_prime_vunmap	= drm_gem_cma_prime_vunmap,
>  	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
>  #ifdef CONFIG_DEBUG_FS
>  	.debugfs_init       = tilcdc_debugfs_init,
> 


-- 
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH v3 38/43] drm/tilcdc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS
  2020-06-05  7:32 ` [PATCH v3 38/43] drm/tilcdc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
@ 2020-06-24  9:03   ` Jyri Sarha
  0 siblings, 0 replies; 58+ messages in thread
From: Jyri Sarha @ 2020-06-24  9:03 UTC (permalink / raw)
  To: Thomas Zimmermann, abrodkin, airlied, daniel, james.qian.wang,
	liviu.dudau, mihail.atanassov, brian.starkey, joel, andrew, sam,
	bbrezillon, nicolas.ferre, alexandre.belloni, ludovic.desroches,
	maarten.lankhorst, mripard, stefan, alison.wang, xinliang.liu,
	zourongrong, john.stultz, kong.kongxinwei, puck.chen, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, paul,
	linus.walleij, narmstrong, khilman, marex, laurent.pinchart,
	kieran.bingham+renesas, benjamin.gaignard, vincent.abriou,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, tomi.valkeinen, noralf
  Cc: linux-arm-kernel, linux-aspeed, dri-devel, Emil Velikov

On 05/06/2020 10:32, Thomas Zimmermann wrote:
> DRM_GEM_CMA_DRIVER_OPS sets the functions in struct drm_driver
> to their defaults. No functional changes are made.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Acked-by: Emil Velikov <emil.velikov@collabora.com>

Reviewed-by: Jyri Sarha <jsarha@ti.com>
Tested-by: Jyri Sarha <jsarha@ti.com>

> ---
>  drivers/gpu/drm/tilcdc/tilcdc_drv.c | 8 +-------
>  1 file changed, 1 insertion(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> index a6582325651bd..0d74a64432633 100644
> --- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> +++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> @@ -496,13 +496,7 @@ DEFINE_DRM_GEM_CMA_FOPS(fops);
>  static struct drm_driver tilcdc_driver = {
>  	.driver_features    = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
>  	.irq_handler        = tilcdc_irq,
> -	.gem_create_object  = drm_gem_cma_create_object_default_funcs,
> -	.dumb_create        = drm_gem_cma_dumb_create,
> -
> -	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
> -	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
> -	.gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
> -	.gem_prime_mmap		= drm_gem_cma_prime_mmap,
> +	DRM_GEM_CMA_DRIVER_OPS,
>  #ifdef CONFIG_DEBUG_FS
>  	.debugfs_init       = tilcdc_debugfs_init,
>  #endif
> 


-- 
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 58+ messages in thread

end of thread, other threads:[~2020-06-24  9:04 UTC | newest]

Thread overview: 58+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-05  7:32 [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 01/43] drm/cma-helper: Rename symbols from drm_cma_gem_ to drm_gem_cma_ Thomas Zimmermann
2020-06-05  8:40   ` Laurent Pinchart
2020-06-05 14:15     ` Thomas Zimmermann
2020-06-05 14:23       ` Sam Ravnborg
2020-06-05 14:40         ` Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 02/43] drm/cma-helper: Rework DRM_GEM_CMA_VMAP_DRIVER_OPS macro Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 03/43] drm/cma-helper: Add DRM_GEM_CMA_DRIVER_OPS to set default GEM CMA functions Thomas Zimmermann
2020-06-05  8:16   ` Laurent Pinchart
2020-06-09  9:45     ` Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 04/43] drm/arc: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 05/43] drm/arc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 06/43] drm/arm: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 07/43] drm/arm: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 08/43] drm/atmel-hlcdc: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 09/43] drm/atmel-hlcdc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 10/43] drm/fsl-dcu: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 11/43] drm/fsl-dcu: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 12/43] drm/hisilicon/kirin: Set .dumb_create to drm_gem_cma_dumb_create() Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 13/43] drm/hisilicon/kirin: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 14/43] drm/hisilicon/kirin: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 15/43] drm/imx: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 16/43] drm/imx: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 17/43] drm/ingenic: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 18/43] drm/ingenic: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 19/43] drm/komeda: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 20/43] drm/komeda: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 21/43] drm/malidp: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 22/43] drm/malidp: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 23/43] drm/mcde: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 24/43] drm/mcde: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 25/43] drm/meson: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 26/43] drm/meson: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 27/43] drm/mxsfb: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 28/43] drm/mxsfb: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 29/43] drm/rcar-du: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  8:23   ` Laurent Pinchart
2020-06-05  7:32 ` [PATCH v3 30/43] drm/rcar-du: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE Thomas Zimmermann
2020-06-05  8:14   ` Laurent Pinchart
2020-06-05  7:32 ` [PATCH v3 31/43] drm/shmobile: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  8:20   ` Laurent Pinchart
2020-06-05  7:32 ` [PATCH v3 32/43] drm/shmobile: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
2020-06-05  8:13   ` Laurent Pinchart
2020-06-05  7:32 ` [PATCH v3 33/43] drm/stm: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 34/43] drm/stm: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 35/43] drm/sti: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 36/43] drm/sti: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 37/43] drm/tilcdc: Use GEM CMA object functions Thomas Zimmermann
2020-06-24  9:03   ` Jyri Sarha
2020-06-05  7:32 ` [PATCH v3 38/43] drm/tilcdc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
2020-06-24  9:03   ` Jyri Sarha
2020-06-05  7:32 ` [PATCH v3 39/43] drm/tve200: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 40/43] drm/tve200: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 41/43] drm/zte: Use GEM CMA object functions Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 42/43] drm/zte: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS Thomas Zimmermann
2020-06-05  7:32 ` [PATCH v3 43/43] drm: Remove struct drm_driver.gem_print_info Thomas Zimmermann
2020-06-05  8:37   ` Laurent Pinchart
2020-06-05 15:40 ` [PATCH v3 00/43] Convert most CMA-based drivers to GEM object functions Emil Velikov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).