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

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to