<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 4, 2019 at 12:26 AM Robert Foss <<a href="mailto:robert.foss@collabora.com">robert.foss@collabora.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hey Gurchetan,<br>
<br>
Thanks for sending this in!<br>
<br>
Reviewed-by: Robert Foss <<a href="mailto:robert.foss@collabora.com" target="_blank">robert.foss@collabora.com</a>><br>
<br></blockquote><div><br></div><div>Thanks for the review!  Ping committers for merge ...</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
On 2/28/19 1:52 AM, Gurchetan Singh wrote:<br>
> Generated using make headers_install.<br>
> <br>
> This brings in the in/out fence support for explicit<br>
> synchronization.<br>
> <br>
> v2: don't use experimental kernel branch<br>
> <br>
> Signed-off-by: Gurchetan Singh <<a href="mailto:gurchetansingh@chromium.org" target="_blank">gurchetansingh@chromium.org</a>><br>
> ---<br>
>   include/drm/virtgpu_drm.h | 13 ++++++++++---<br>
>   1 file changed, 10 insertions(+), 3 deletions(-)<br>
> <br>
> diff --git a/include/drm/virtgpu_drm.h b/include/drm/virtgpu_drm.h<br>
> index 9a781f06..f06a789f 100644<br>
> --- a/include/drm/virtgpu_drm.h<br>
> +++ b/include/drm/virtgpu_drm.h<br>
> @@ -47,6 +47,13 @@ extern "C" {<br>
>   #define DRM_VIRTGPU_WAIT     0x08<br>
>   #define DRM_VIRTGPU_GET_CAPS  0x09<br>
>   <br>
> +#define VIRTGPU_EXECBUF_FENCE_FD_IN  0x01<br>
> +#define VIRTGPU_EXECBUF_FENCE_FD_OUT 0x02<br>
> +#define VIRTGPU_EXECBUF_FLAGS  (\<br>
> +             VIRTGPU_EXECBUF_FENCE_FD_IN |\<br>
> +             VIRTGPU_EXECBUF_FENCE_FD_OUT |\<br>
> +             0)<br>
> +<br>
>   struct drm_virtgpu_map {<br>
>       __u64 offset; /* use for mmap system call */<br>
>       __u32 handle;<br>
> @@ -54,12 +61,12 @@ struct drm_virtgpu_map {<br>
>   };<br>
>   <br>
>   struct drm_virtgpu_execbuffer {<br>
> -     __u32           flags;          /* for future use */<br>
> +     __u32 flags;<br>
>       __u32 size;<br>
>       __u64 command; /* void* */<br>
>       __u64 bo_handles;<br>
>       __u32 num_bo_handles;<br>
> -     __u32 pad;<br>
> +     __s32 fence_fd; /* in/out fence fd (see VIRTGPU_EXECBUF_FENCE_FD_IN/OUT) */<br>
>   };<br>
>   <br>
>   #define VIRTGPU_PARAM_3D_FEATURES 1 /* do we have 3D features in the hw */<br>
> @@ -137,7 +144,7 @@ struct drm_virtgpu_get_caps {<br>
>       DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_MAP, struct drm_virtgpu_map)<br>
>   <br>
>   #define DRM_IOCTL_VIRTGPU_EXECBUFFER \<br>
> -     DRM_IOW(DRM_COMMAND_BASE + DRM_VIRTGPU_EXECBUFFER,\<br>
> +     DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_EXECBUFFER,\<br>
>               struct drm_virtgpu_execbuffer)<br>
>   <br>
>   #define DRM_IOCTL_VIRTGPU_GETPARAM \<br>
> <br>
</blockquote></div></div>