[PATCH v4 0/4] virgl: fence fd support

Robert Foss
2018-11-05T11:42:09Z

This series implements fence support for drm/virtio and
has been tested using qemu, kmscube and the below branches.

Rob Herring solved a reference counting issue and
suggested a context check for the execbuf ioctl, his
changes have been included in the below commits to
keep the tree working at all commits.

The linux series can be found here:
https://gitlab.collabora.com/robertfoss/linux/commits/virtio_fences_v4

As for mesa, the branch can be found here:
https://gitlab.collabora.com/robertfoss/mesa/commits/virtio_fences_v3

Changes since v3:
- Rebased on drm-misc-next
- drm/virtio: add virtio_gpu_alloc_fence()
- Gerd: Clarified and extended commit message
- Emil: Fixed whitespace issue
- Emil: Changed label name from fail_fence to fail_backoff
- Emil: Remove special case for !fence->drv in virtio_gpu_fence_cleanup()
- drm/virtio: add uapi for in and out explicit fences
- Emil: Added r-b
- Emil: Move fence_fd assignment to after sanity checks
- drm/virtio: add in-fences support for explicit synchronization
- Move all in_fence handling to the same VIRTGPU_EXECBUF_FENCE_FD_IN block
- Emil: Make sure to always call dma_fence_put()
- Emil: Added r-b
- drm/virtio: add out-fences support for explicit synchronization
- Emil: Combine with in-fences patch
- drm/virtio: bump driver version after explicit synchronization addition
- Emil: Added r-b

Changes since v2:
- drm/virtio: add virtio_gpu_alloc_fence()
- Forward port and fix compilation issues
- drm/virtio: add uapi for in and out explicit fences
- Check exbuf->flags for unsupported flags
- drm/virtio: add in-fences support for explicit synchronization

Gustavo Padovan (1):
drm/virtio: bump driver version after explicit synchronization
addition

Robert Foss (3):
drm/virtio: add virtio_gpu_alloc_fence()
drm/virtio: add uapi for in and out explicit fences
drm/virtio: add in/out fence support for explicit synchronization

drivers/gpu/drm/virtio/virtgpu_drv.h | 8 +-
drivers/gpu/drm/virtio/virtgpu_fence.c | 29 +++++--
drivers/gpu/drm/virtio/virtgpu_ioctl.c | 108 +++++++++++++++++++++----
drivers/gpu/drm/virtio/virtgpu_plane.c | 46 +++++++++--
drivers/gpu/drm/virtio/virtgpu_vq.c | 2 +-
include/uapi/drm/virtgpu_drm.h | 13 ++-
6 files changed, 173 insertions(+), 33 deletions(-)

--
2.17.1