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