Message ID | 20190415161543.13831-1-paul.kocialkowski@bootlin.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/sun4i: Use DRM_GEM_CMA_VMAP_DRIVER_OPS for GEM operations | expand |
Hi, Le lundi 15 avril 2019 à 18:15 +0200, Paul Kocialkowski a écrit : > Our driver makes a typical use of CMA, with GEM object allocated as > GEM CMA objects. Use DRM_GEM_CMA_VMAP_DRIVER_OPS to describe the ops > instead of duplicating them. > > Because DRM_GEM_CMA_VMAP_DRIVER_OPS implements a gem_create_object op > which sets per-object funcs (drm_cma_gem_default_funcs), we can also > get rid of free_object_unlocked and gem_vm_ops, which are superseded > by the object funcs. I'll need to respin this one by moving DRM_GEM_CMA_VMAP_DRIVER_OPS before our custom dumb_create, otherwise DRM_GEM_CMA_VMAP_DRIVER_OPS's dumb_create will take effect instead of our own. Cheers, Paul > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> > --- > drivers/gpu/drm/sun4i/sun4i_drv.c | 16 +--------------- > 1 file changed, 1 insertion(+), 15 deletions(-) > > diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c > index 3ebd9f5e2719..453b94f9a5b7 100644 > --- a/drivers/gpu/drm/sun4i/sun4i_drv.c > +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c > @@ -53,21 +53,7 @@ static struct drm_driver sun4i_drv_driver = { > > /* GEM Operations */ > .dumb_create = drm_sun4i_gem_dumb_create, > - .gem_free_object_unlocked = drm_gem_cma_free_object, > - .gem_vm_ops = &drm_gem_cma_vm_ops, > - > - /* PRIME Operations */ > - .prime_handle_to_fd = drm_gem_prime_handle_to_fd, > - .prime_fd_to_handle = drm_gem_prime_fd_to_handle, > - .gem_prime_import = drm_gem_prime_import, > - .gem_prime_export = drm_gem_prime_export, > - .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, > - > - /* Frame Buffer Operations */ > + DRM_GEM_CMA_VMAP_DRIVER_OPS, > }; > > static int sun4i_drv_bind(struct device *dev)
diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c index 3ebd9f5e2719..453b94f9a5b7 100644 --- a/drivers/gpu/drm/sun4i/sun4i_drv.c +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c @@ -53,21 +53,7 @@ static struct drm_driver sun4i_drv_driver = { /* GEM Operations */ .dumb_create = drm_sun4i_gem_dumb_create, - .gem_free_object_unlocked = drm_gem_cma_free_object, - .gem_vm_ops = &drm_gem_cma_vm_ops, - - /* PRIME Operations */ - .prime_handle_to_fd = drm_gem_prime_handle_to_fd, - .prime_fd_to_handle = drm_gem_prime_fd_to_handle, - .gem_prime_import = drm_gem_prime_import, - .gem_prime_export = drm_gem_prime_export, - .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, - - /* Frame Buffer Operations */ + DRM_GEM_CMA_VMAP_DRIVER_OPS, }; static int sun4i_drv_bind(struct device *dev)
Our driver makes a typical use of CMA, with GEM object allocated as GEM CMA objects. Use DRM_GEM_CMA_VMAP_DRIVER_OPS to describe the ops instead of duplicating them. Because DRM_GEM_CMA_VMAP_DRIVER_OPS implements a gem_create_object op which sets per-object funcs (drm_cma_gem_default_funcs), we can also get rid of free_object_unlocked and gem_vm_ops, which are superseded by the object funcs. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> --- drivers/gpu/drm/sun4i/sun4i_drv.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-)