Message ID | 20190823095503.2261-1-kraxel@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | drm/virtio: switch from ttm to gem shmem helpers. | expand |
On Fri, Aug 23, 2019 at 2:55 AM Gerd Hoffmann <kraxel@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 >