[igt-dev] [PATCH i-g-t v1 5/5] drm-uapi/virtgpu: sync with drm-next

Kumar, Janga Rahul janga.rahul.kumar at intel.com
Thu Nov 9 06:36:51 UTC 2023


LGTM, Verified the below changes are in sync with drm-next repo.

Reviewed-by: Janga Rahul Kumar<janga.rahul.kumar at intel.com>

> -----Original Message-----
> From: igt-dev <igt-dev-bounces at lists.freedesktop.org> On Behalf Of Kamil
> Konieczny
> Sent: Tuesday, November 7, 2023 11:14 PM
> To: igt-dev at lists.freedesktop.org
> Cc: Helen Koike <helen.koike at collabora.com>; Daniel Stone
> <daniels at collabora.com>
> Subject: [igt-dev] [PATCH i-g-t v1 5/5] drm-uapi/virtgpu: sync with drm-next
> 
> Sync with drm-next commit
> ("f2cab4b318ee8023f4ad640b906ae268942a7db4")
> 
> Cc: Helen Koike <helen.koike at collabora.com>
> Cc: Daniel Stone <daniels at collabora.com>
> Cc: Vignesh Raman <vignesh.raman at collabora.com>
> Signed-off-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
> ---
>  include/drm-uapi/virtgpu_drm.h | 49
> ++++++++++++++++++++++++++++++++++
>  1 file changed, 49 insertions(+)
> 
> diff --git a/include/drm-uapi/virtgpu_drm.h b/include/drm-
> uapi/virtgpu_drm.h index b9ec26e9c..b1d0e5656 100644
> --- a/include/drm-uapi/virtgpu_drm.h
> +++ b/include/drm-uapi/virtgpu_drm.h
> @@ -47,12 +47,15 @@ extern "C" {
>  #define DRM_VIRTGPU_WAIT     0x08
>  #define DRM_VIRTGPU_GET_CAPS  0x09
>  #define DRM_VIRTGPU_RESOURCE_CREATE_BLOB 0x0a
> +#define DRM_VIRTGPU_CONTEXT_INIT 0x0b
> 
>  #define VIRTGPU_EXECBUF_FENCE_FD_IN	0x01
>  #define VIRTGPU_EXECBUF_FENCE_FD_OUT	0x02
> +#define VIRTGPU_EXECBUF_RING_IDX	0x04
>  #define VIRTGPU_EXECBUF_FLAGS  (\
>  		VIRTGPU_EXECBUF_FENCE_FD_IN |\
>  		VIRTGPU_EXECBUF_FENCE_FD_OUT |\
> +		VIRTGPU_EXECBUF_RING_IDX |\
>  		0)
> 
>  struct drm_virtgpu_map {
> @@ -61,6 +64,17 @@ struct drm_virtgpu_map {
>  	__u32 pad;
>  };
> 
> +#define VIRTGPU_EXECBUF_SYNCOBJ_RESET		0x01
> +#define VIRTGPU_EXECBUF_SYNCOBJ_FLAGS ( \
> +		VIRTGPU_EXECBUF_SYNCOBJ_RESET | \
> +		0)
> +struct drm_virtgpu_execbuffer_syncobj {
> +	__u32 handle;
> +	__u32 flags;
> +	__u64 point;
> +};
> +
> +/* fence_fd is modified on success if VIRTGPU_EXECBUF_FENCE_FD_OUT
> flag
> +is set. */
>  struct drm_virtgpu_execbuffer {
>  	__u32 flags;
>  	__u32 size;
> @@ -68,6 +82,12 @@ struct drm_virtgpu_execbuffer {
>  	__u64 bo_handles;
>  	__u32 num_bo_handles;
>  	__s32 fence_fd; /* in/out fence fd (see
> VIRTGPU_EXECBUF_FENCE_FD_IN/OUT) */
> +	__u32 ring_idx; /* command ring index (see
> VIRTGPU_EXECBUF_RING_IDX) */
> +	__u32 syncobj_stride; /* size of @drm_virtgpu_execbuffer_syncobj
> */
> +	__u32 num_in_syncobjs;
> +	__u32 num_out_syncobjs;
> +	__u64 in_syncobjs;
> +	__u64 out_syncobjs;
>  };
> 
>  #define VIRTGPU_PARAM_3D_FEATURES 1 /* do we have 3D features in the
> hw */ @@ -75,6 +95,8 @@ struct drm_virtgpu_execbuffer {  #define
> VIRTGPU_PARAM_RESOURCE_BLOB 3 /*
> DRM_VIRTGPU_RESOURCE_CREATE_BLOB */  #define
> VIRTGPU_PARAM_HOST_VISIBLE 4 /* Host blob resources are mappable */
> #define VIRTGPU_PARAM_CROSS_DEVICE 5 /* Cross virtio-device resource
> sharing  */
> +#define VIRTGPU_PARAM_CONTEXT_INIT 6 /*
> DRM_VIRTGPU_CONTEXT_INIT */
> +#define VIRTGPU_PARAM_SUPPORTED_CAPSET_IDs 7 /* Bitmask of
> supported
> +capability set ids */
> 
>  struct drm_virtgpu_getparam {
>  	__u64 param;
> @@ -173,6 +195,29 @@ struct drm_virtgpu_resource_create_blob {
>  	__u64 blob_id;
>  };
> 
> +#define VIRTGPU_CONTEXT_PARAM_CAPSET_ID       0x0001
> +#define VIRTGPU_CONTEXT_PARAM_NUM_RINGS       0x0002
> +#define VIRTGPU_CONTEXT_PARAM_POLL_RINGS_MASK 0x0003 struct
> +drm_virtgpu_context_set_param {
> +	__u64 param;
> +	__u64 value;
> +};
> +
> +struct drm_virtgpu_context_init {
> +	__u32 num_params;
> +	__u32 pad;
> +
> +	/* pointer to drm_virtgpu_context_set_param array */
> +	__u64 ctx_set_params;
> +};
> +
> +/*
> + * Event code that's given when
> VIRTGPU_CONTEXT_PARAM_POLL_RINGS_MASK
> +is in
> + * effect.  The event size is sizeof(drm_event), since there is no
> +additional
> + * payload.
> + */
> +#define VIRTGPU_EVENT_FENCE_SIGNALED 0x90000000
> +
>  #define DRM_IOCTL_VIRTGPU_MAP \
>  	DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_MAP, struct
> drm_virtgpu_map)
> 
> @@ -212,6 +257,10 @@ struct drm_virtgpu_resource_create_blob {
>  	DRM_IOWR(DRM_COMMAND_BASE +
> DRM_VIRTGPU_RESOURCE_CREATE_BLOB,	\
>  		struct drm_virtgpu_resource_create_blob)
> 
> +#define DRM_IOCTL_VIRTGPU_CONTEXT_INIT
> 	\
> +	DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_CONTEXT_INIT,
> 		\
> +		struct drm_virtgpu_context_init)
> +
>  #if defined(__cplusplus)
>  }
>  #endif
> --
> 2.42.0



More information about the igt-dev mailing list