Emil Velikov
2018-Nov-05 17:25 UTC
[PATCH v4 3/4] drm/virtio: add in/out fence support for explicit synchronization
On Mon, 5 Nov 2018 at 11:42, Robert Foss <robert.foss at collabora.com> wrote:> > When the execbuf call receives an in-fence it will get the dma_fence > related to that fence fd and wait on it before submitting the draw call. > > On the out-fence side we get fence returned by the submitted draw call > and attach it to a sync_file and send the sync_file fd to userspace. On > error -1 is returned to userspace. > > Signed-off-by: Gustavo Padovan <gustavo.padovan at collabora.com> > Signed-off-by: Robert Foss <robert.foss at collabora.com> > Suggested-by: Rob Herring <robh at kernel.org> > Reviewed-by: Emil Velikov <emil.velikov at collabora.com> > --- > > Changes since v3: > - Move all in_fence handling to the same VIRTGPU_EXECBUF_FENCE_FD_IN blockFwiw my suggestion was to explicitly document whether the IOCTL can support, simultaneously, IN and OUT fence. Merging the two patches makes things a bit meh. But as before - it's for Gerd to make the final call. -Emil
Gerd Hoffmann
2018-Nov-09 10:13 UTC
[PATCH v4 3/4] drm/virtio: add in/out fence support for explicit synchronization
On Mon, Nov 05, 2018 at 05:25:05PM +0000, Emil Velikov wrote:> On Mon, 5 Nov 2018 at 11:42, Robert Foss <robert.foss at collabora.com> wrote: > > > > When the execbuf call receives an in-fence it will get the dma_fence > > related to that fence fd and wait on it before submitting the draw call. > > > > On the out-fence side we get fence returned by the submitted draw call > > and attach it to a sync_file and send the sync_file fd to userspace. On > > error -1 is returned to userspace. > > > > Signed-off-by: Gustavo Padovan <gustavo.padovan at collabora.com> > > Signed-off-by: Robert Foss <robert.foss at collabora.com> > > Suggested-by: Rob Herring <robh at kernel.org> > > Reviewed-by: Emil Velikov <emil.velikov at collabora.com> > > --- > > > > Changes since v3: > > - Move all in_fence handling to the same VIRTGPU_EXECBUF_FENCE_FD_IN block > Fwiw my suggestion was to explicitly document whether the IOCTL can > support, simultaneously, IN and OUT fence.Yes, that would be good. Code looks like it is supposed to work, but explicitly saying so in the commit message would be nice. Also: should we use separate fields for in/out fds? cheers, Gerd
Gerd Hoffmann
2018-Nov-12 09:10 UTC
[PATCH v4 3/4] drm/virtio: add in/out fence support for explicit synchronization
On Fri, Nov 09, 2018 at 06:13:52PM +0100, Robert Foss wrote:> Hey Gerd, > > On 2018-11-09 11:13, Gerd Hoffmann wrote: > > On Mon, Nov 05, 2018 at 05:25:05PM +0000, Emil Velikov wrote: > > > On Mon, 5 Nov 2018 at 11:42, Robert Foss <robert.foss at collabora.com> wrote: > > > > > > > > When the execbuf call receives an in-fence it will get the dma_fence > > > > related to that fence fd and wait on it before submitting the draw call. > > > > > > > > On the out-fence side we get fence returned by the submitted draw call > > > > and attach it to a sync_file and send the sync_file fd to userspace. On > > > > error -1 is returned to userspace. > > > > > > > > Signed-off-by: Gustavo Padovan <gustavo.padovan at collabora.com> > > > > Signed-off-by: Robert Foss <robert.foss at collabora.com> > > > > Suggested-by: Rob Herring <robh at kernel.org> > > > > Reviewed-by: Emil Velikov <emil.velikov at collabora.com> > > > > --- > > > > > > > > Changes since v3: > > > > - Move all in_fence handling to the same VIRTGPU_EXECBUF_FENCE_FD_IN block > > > Fwiw my suggestion was to explicitly document whether the IOCTL can > > > support, simultaneously, IN and OUT fence. > > > > Yes, that would be good. Code looks like it is supposed to work, but > > explicitly saying so in the commit message would be nice. > > On it! Will send out a v5. > > > > > Also: should we use separate fields for in/out fds? > > I'm not sure I understand which fields you're referring to.fence_in_fd & fence_out_fd in the ioctl struct (patch #2). cheers, Gerd
Reasonably Related Threads
- [PATCH v4 3/4] drm/virtio: add in/out fence support for explicit synchronization
- [RFC 1/5] drm/virtio: add virtio_gpu_alloc_fence()
- [RFC 1/5] drm/virtio: add virtio_gpu_alloc_fence()
- [PATCH v4 3/4] drm/virtio: add in/out fence support for explicit synchronization
- [PATCH 01/14] drm/nouveau: use drm_crtc_send_vblank_event() v2