Message ID | 20200603083132.4610-17-tzimmermann@suse.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm: Convert most CMA-based drivers to GEM object functions | expand |
Hi Thomas, Thank you for the patch. On Wed, Jun 03, 2020 at 10:31:25AM +0200, Thomas Zimmermann wrote: > The rcar-du driver uses the default implementation for CMA functions; except > for the .dumb_create callback. The DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE() > macro now sets these defaults and .dumb_create in struct drm_driver. > > By using DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE() the driver now > sets .gem_create_object to drm_cma_gem_create_object_default_funcs(), > which sets CMA GEM object functions. GEM object functions implement the > rsp operations where possible. Corresponding interfaces in struct drm_driver > are cleared. Prime import now uses drm_gem_cma_prime_import_sg_table_vmap(), > which maps the imported buffer upon import. Mmap operations are performed > by drm_gem_prime_mmap(), which goes through GEM file operations. These > changes have been part of the aspeed driver for some time. How is the aspeed driver related to this patch ? > > v2: > * update for DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE As explained in the review of v1, this combines multiple changes in a single patch. Some of those changes are not straightforward to review. It would be easier if they were split in separate patches. > 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 | 11 +---------- > 1 file changed, 1 insertion(+), 10 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..f53b0ec710850 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c > @@ -476,16 +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_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, > - .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",
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c index 3e67cf70f0402..f53b0ec710850 100644 --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c @@ -476,16 +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_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, - .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",