[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 18/21] drm/vkms: Introduce GEM object functions



Hi Thomas,

On 09/15, Thomas Zimmermann wrote:
> GEM object functions deprecate several similar callback interfaces in
> struct drm_driver. This patch replaces the per-driver callbacks with
> per-instance callbacks in vkms.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx>

Thanks! Looks fine.

Reviewed-by: Melissa Wen <melissa.srw@xxxxxxxxx>

> ---
>  drivers/gpu/drm/vkms/vkms_drv.c |  8 --------
>  drivers/gpu/drm/vkms/vkms_gem.c | 13 +++++++++++++
>  2 files changed, 13 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
> index cb0b6230c22c..726801ab44d4 100644
> --- a/drivers/gpu/drm/vkms/vkms_drv.c
> +++ b/drivers/gpu/drm/vkms/vkms_drv.c
> @@ -51,12 +51,6 @@ static const struct file_operations vkms_driver_fops = {
>       .release        = drm_release,
>  };
>  
> -static const struct vm_operations_struct vkms_gem_vm_ops = {
> -     .fault = vkms_gem_fault,
> -     .open = drm_gem_vm_open,
> -     .close = drm_gem_vm_close,
> -};
> -
>  static void vkms_release(struct drm_device *dev)
>  {
>       struct vkms_device *vkms = container_of(dev, struct vkms_device, drm);
> @@ -98,8 +92,6 @@ static struct drm_driver vkms_driver = {
>       .release                = vkms_release,
>       .fops                   = &vkms_driver_fops,
>       .dumb_create            = vkms_dumb_create,
> -     .gem_vm_ops             = &vkms_gem_vm_ops,
> -     .gem_free_object_unlocked = vkms_gem_free_object,
>       .prime_fd_to_handle     = drm_gem_prime_fd_to_handle,
>       .gem_prime_import_sg_table = vkms_prime_import_sg_table,
>  
> diff --git a/drivers/gpu/drm/vkms/vkms_gem.c b/drivers/gpu/drm/vkms/vkms_gem.c
> index a017fc59905e..19a0e260a4df 100644
> --- a/drivers/gpu/drm/vkms/vkms_gem.c
> +++ b/drivers/gpu/drm/vkms/vkms_gem.c
> @@ -7,6 +7,17 @@
>  
>  #include "vkms_drv.h"
>  
> +static const struct vm_operations_struct vkms_gem_vm_ops = {
> +     .fault = vkms_gem_fault,
> +     .open = drm_gem_vm_open,
> +     .close = drm_gem_vm_close,
> +};
> +
> +static const struct drm_gem_object_funcs vkms_gem_object_funcs = {
> +     .free = vkms_gem_free_object,
> +     .vm_ops = &vkms_gem_vm_ops,
> +};
> +
>  static struct vkms_gem_object *__vkms_gem_create(struct drm_device *dev,
>                                                u64 size)
>  {
> @@ -17,6 +28,8 @@ static struct vkms_gem_object *__vkms_gem_create(struct 
> drm_device *dev,
>       if (!obj)
>               return ERR_PTR(-ENOMEM);
>  
> +     obj->gem.funcs = &vkms_gem_object_funcs;
> +
>       size = roundup(size, PAGE_SIZE);
>       ret = drm_gem_object_init(dev, &obj->gem, size);
>       if (ret) {
> -- 
> 2.28.0
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/dri-devel



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.