[PATCH v8 00/18] drm/virtio: switch from ttm to gem shmem helpers.
Chia-I Wu
olvaffe at gmail.com
Wed Aug 28 23:14:26 UTC 2019
On Fri, Aug 23, 2019 at 2:55 AM Gerd Hoffmann <kraxel at redhat.com> wrote:
>
> 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.
>
> v8:
> - rebase to latest drm-misc-next, adapt to changes.
Other than two (minor) comments on patch 2 and 7, the series looks good to me.
I was concerned that this series maps BOs write-combine (from
drm_gem_mmap_obj) rather than cached (was the case with ttm because of
TTM_PL_FLAG_CACHED). But memory types seem to have no effect inside a
guest. It should still be fixed at some point, but it does not block
this series.
> 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.
>
> please review.
>
> thanks,
> 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 | 156 ++++++++----
> drivers/gpu/drm/virtio/virtgpu_ioctl.c | 221 ++++++-----------
> 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 | 34 ---
> 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, 370 insertions(+), 838 deletions(-)
> delete mode 100644 drivers/gpu/drm/virtio/virtgpu_ttm.c
>
> --
> 2.18.1
>
More information about the dri-devel
mailing list