mbox series

[v7,00/18] drm/virtio: switch from ttm to gem shmem helpers.

Message ID 20190802131225.17760-1-kraxel@redhat.com (mailing list archive)
Headers show
Series drm/virtio: switch from ttm to gem shmem helpers. | expand

Message

Gerd Hoffmann Aug. 2, 2019, 1:12 p.m. UTC
ttm increasingly gets into the way while hacking on virtio-gpu memory
management.  It also overkill for what virtio-gpu needs.  Lets get rid
of it.

v7:
 - rebase to latest drm-misc-next
 - reorder patches: switch all virtio commands to object array helpers
   first. then drop ttm, to make sure we don't release objects still in
   use.
 - misc fixes.
v6:
 - largely rewrite fencing logic, using the virtio_gpu_array_* helpers
 - add more patches to the series.
v5:
 - fence bugfixes.
 - minor optimizations.
v4:
 - make gem array helpers private to virtio.
 - misc minor fixes.
v3:
 - add gem array helpers.
 - rework fencing.

cheers,
  Gerd

Gerd Hoffmann (18):
  drm/virtio: pass gem reservation object to ttm init
  drm/virtio: switch virtio_gpu_wait_ioctl() to gem helper.
  drm/virtio: simplify cursor updates
  drm/virtio: remove virtio_gpu_object_wait
  drm/virtio: drop no_wait argument from virtio_gpu_object_reserve
  drm/virtio: remove ttm calls from in
    virtio_gpu_object_{reserve,unreserve}
  drm/virtio: add virtio_gpu_object_array & helpers
  drm/virtio: rework virtio_gpu_execbuffer_ioctl fencing
  drm/virtio: rework virtio_gpu_object_create fencing
  drm/virtio: rework virtio_gpu_transfer_from_host_ioctl fencing
  drm/virtio: rework virtio_gpu_transfer_to_host_ioctl fencing
  drm/virtio: rework virtio_gpu_cmd_context_{attach,detach}_resource
  drm/virtio: drop virtio_gpu_object_list_validate/virtio_gpu_unref_list
  drm/virtio: switch from ttm to gem shmem helpers
  drm/virtio: remove virtio_gpu_alloc_object
  drm/virtio: drop virtio_gpu_object_{ref,unref}
  drm/virtio: drop virtio_gpu_object_{reserve,unreserve}
  drm/virtio: add fence sanity check

 drivers/gpu/drm/virtio/virtgpu_drv.h    | 123 +++-------
 drivers/gpu/drm/virtio/virtgpu_drv.c    |  20 +-
 drivers/gpu/drm/virtio/virtgpu_fence.c  |   4 +
 drivers/gpu/drm/virtio/virtgpu_gem.c    | 157 ++++++++----
 drivers/gpu/drm/virtio/virtgpu_ioctl.c  | 224 ++++++-----------
 drivers/gpu/drm/virtio/virtgpu_kms.c    |   9 -
 drivers/gpu/drm/virtio/virtgpu_object.c | 220 +++++------------
 drivers/gpu/drm/virtio/virtgpu_plane.c  |  34 +--
 drivers/gpu/drm/virtio/virtgpu_prime.c  |  37 ---
 drivers/gpu/drm/virtio/virtgpu_ttm.c    | 305 ------------------------
 drivers/gpu/drm/virtio/virtgpu_vq.c     |  78 ++++--
 drivers/gpu/drm/virtio/Kconfig          |   2 +-
 drivers/gpu/drm/virtio/Makefile         |   2 +-
 13 files changed, 373 insertions(+), 842 deletions(-)
 delete mode 100644 drivers/gpu/drm/virtio/virtgpu_ttm.c