[RFC PATCH 0/8] *** Refactor struct virtgpu_object ***

Gurchetan Singh gurchetansingh at chromium.org
Thu Feb 27 00:25:53 UTC 2020


The main motivation behind this is to have eventually have something like this:

struct virtio_gpu_shmem {
    struct drm_gem_shmem_object base;
    uint32_t hw_res_handle;
    struct sg_table *pages;
    (...)
};

struct virtio_gpu_vram {
    struct drm_gem_object base;  // or *drm_gem_vram_object
    uint32_t hw_res_handle;
    {offset, range};
    (...)
};

Sending this out to solicit feedback on this approach.  Whichever approach
we decide, landing incremental changes to internal structures is reduces
rebasing costs and avoids mega-changes.

Gurchetan Singh (8):
  drm/virtio: make mmap callback consistent with callbacks
  drm/virtio: add virtio_gpu_is_shmem helper
  drm/virtio: add virtio_gpu_get_handle function
  drm/virtio: make RESOURCE_UNREF use virtio_gpu_get_handle(..)
  drm/virtio: make {ATTACH_RESOURCE, DETACH_RESOURCE} use
    virtio_gpu_get_handle(..)
  drm/virtio: rename virtio_gpu_object_array to virtio_gpu_gem_array
  drm/virtio: rename virtio_gpu_object_params to
    virtio_gpu_create_params
  drm/virtio: rename virtio_gpu_object to virtio_gpu_shmem

 drivers/gpu/drm/virtio/virtgpu_drv.h    |  72 ++++++------
 drivers/gpu/drm/virtio/virtgpu_gem.c    | 132 ++++++++++-----------
 drivers/gpu/drm/virtio/virtgpu_ioctl.c  |  50 ++++----
 drivers/gpu/drm/virtio/virtgpu_object.c | 148 +++++++++++++-----------
 drivers/gpu/drm/virtio/virtgpu_plane.c  |  52 ++++-----
 drivers/gpu/drm/virtio/virtgpu_vq.c     | 113 +++++++++---------
 6 files changed, 298 insertions(+), 269 deletions(-)

-- 
2.25.1.481.gfbce0eb801-goog



More information about the dri-devel mailing list