[PATCH 1/4] drm/vram: Set GEM object functions for PRIME

Gerd Hoffmann kraxel at redhat.com
Mon Jul 1 08:48:57 UTC 2019


On Mon, Jul 01, 2019 at 09:28:59AM +0200, Thomas Zimmermann wrote:
> Hi
> 
> Am 01.07.19 um 08:32 schrieb Gerd Hoffmann:
> > On Fri, Jun 28, 2019 at 02:26:56PM +0200, Thomas Zimmermann wrote:
> >> PRIME functionality is now provided via the callback functions in
> >> struct drm_gem_object_funcs. The driver-structure functions are obsolete.
> >> As a side effect of this patch, VRAM-based drivers get basic PRIME
> >> support automatically without having to set any flags or additional
> >> fields.
> > 
> >> +static void drm_gem_vram_object_free(struct drm_gem_object *gem)
> >> +static int drm_gem_vram_object_funcs_pin(struct drm_gem_object *gem)
> >> +static void drm_gem_vram_object_funcs_unpin(struct drm_gem_object *gem)
> >> +static void *drm_gem_vram_object_funcs_vmap(struct drm_gem_object *gem)
> >> +static void drm_gem_vram_object_funcs_vunmap(struct drm_gem_object *gem,
> >> +					     void *vaddr)
> > 
> >> +static const struct drm_gem_object_funcs drm_gem_vram_object_funcs = {
> >> +	.free	= drm_gem_vram_object_free,
> >> +	.pin	= drm_gem_vram_object_funcs_pin,
> >> +	.unpin	= drm_gem_vram_object_funcs_unpin,
> >> +	.vmap	= drm_gem_vram_object_funcs_vmap,
> >> +	.vunmap	= drm_gem_vram_object_funcs_vunmap
> >> +};
> > 
> > Why new functions?  Can't you just hook up the existing prime functions?
> 
> The final patch will remove the existing functions, so drivers won't use
> them accidentally.

But the new and the old ones are identical, right?  So why add/remove?
Why not just rename them?

I'd also suggest to name them consistently (free has no _funcs, all
others have).  I'd drop _funcs from all function names.

cheers,
  Gerd



More information about the dri-devel mailing list