diff options
author | Gurchetan Singh <gurchetansingh@google.com> | 2020-04-23 15:36:45 -0700 |
---|---|---|
committer | Lingfeng Yang <lfy@google.com> | 2020-04-28 19:37:50 -0700 |
commit | 69b005be6745d5779c33e2c93d0eb5f8fa3469b7 (patch) | |
tree | 4308ff413f6fa02e17ac9b90f5402efa55e49e0b /include/uapi | |
parent | 8654841a61c359ac26cd3634ea2081436736d113 (diff) |
ANDROID: drm/virtio: rebase to latest virgl/drm-misc-next (take 2)
So ToT + v4.14 can share same hypercall interface.
TEST=compile
Signed-off-by: Gurchetan Singh <gurchetansingh@google.com>
Signed-off-by: Lingfeng Yang <lfy@google.com>
Bug: 153580313
Change-Id: Ifd6d8d50983461380f24988cef5a0435a2ecc59b
Diffstat (limited to 'include/uapi')
-rw-r--r-- | include/uapi/drm/virtgpu_drm.h | 35 | ||||
-rw-r--r-- | include/uapi/linux/virtio_gpu.h | 38 |
2 files changed, 36 insertions, 37 deletions
diff --git a/include/uapi/drm/virtgpu_drm.h b/include/uapi/drm/virtgpu_drm.h index 6b9c8a5f87e7..00da2d183dca 100644 --- a/include/uapi/drm/virtgpu_drm.h +++ b/include/uapi/drm/virtgpu_drm.h @@ -70,6 +70,7 @@ struct drm_virtgpu_execbuffer { __s32 fence_fd; /* in/out fence fd (see VIRTGPU_EXECBUF_FENCE_FD_IN/OUT) */ }; + #define VIRTGPU_PARAM_3D_FEATURES 1 /* do we have 3D features in the hw */ #define VIRTGPU_PARAM_CAPSET_QUERY_FIX 2 /* do we have the capset fix */ #define VIRTGPU_PARAM_RESOURCE_BLOB 3 /* DRM_VIRTGPU_RESOURCE_CREATE_BLOB */ @@ -150,26 +151,28 @@ struct drm_virtgpu_get_caps { }; struct drm_virtgpu_resource_create_blob { -#define VIRTGPU_RES_BLOB_GUEST_MASK 0x000f -#define VIRTGPU_RES_BLOB_GUEST_NONE 0x0000 -#define VIRTGPU_RES_BLOB_GUEST_SYSTEM 0x0001 - -#define VIRTGPU_RES_BLOB_HOST_MASK 0x00f0 -#define VIRTGPU_RES_BLOB_HOST_NONE 0x0000 -#define VIRTGPU_RES_BLOB_HOST 0x0010 - -#define VIRTGPU_RES_BLOB_USE_MASK 0x0f00 -#define VIRTGPU_RES_BLOB_USE_NONE 0x0000 -#define VIRTGPU_RES_BLOB_USE_MAPPABLE 0x0100 -#define VIRTGPU_RES_BLOB_USE_SHAREABLE 0x0200 -#define VIRTGPU_RES_BLOB_USE_CROSS_DEVICE 0x0400 - __u32 flags; +#define VIRTGPU_BLOB_MEM_GUEST 0x0001 +#define VIRTGPU_BLOB_MEM_HOST 0x0002 +#define VIRTGPU_BLOB_MEM_HOST_GUEST 0x0003 + +#define VIRTGPU_BLOB_FLAG_MAPPABLE 0x0001 +#define VIRTGPU_BLOB_FLAG_SHAREABLE 0x0002 +#define VIRTGPU_BLOB_FLAG_CROSS_DEVICE 0x0004 + /* zero is invalid blob_mem */ + __u32 blob_mem; + __u32 blob_flags; __u32 bo_handle; __u32 res_handle; + __u64 size; + + /* + * for 3D contexts with VIRTGPU_BLOB_MEM_HOSTGUEST and + * VIRTGPU_BLOB_MEM_HOST otherwise, must be zero. + */ + __u32 pad; __u32 cmd_size; __u64 cmd; - __u64 size; - __u64 memory_id; + __u64 blob_id; }; #define DRM_IOCTL_VIRTGPU_MAP \ diff --git a/include/uapi/linux/virtio_gpu.h b/include/uapi/linux/virtio_gpu.h index cd303076225e..f44af31f7990 100644 --- a/include/uapi/linux/virtio_gpu.h +++ b/include/uapi/linux/virtio_gpu.h @@ -84,6 +84,9 @@ enum virtio_gpu_ctrl_type { VIRTIO_GPU_CMD_GET_CAPSET, VIRTIO_GPU_CMD_GET_EDID, VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID, + VIRTIO_GPU_CMD_RESOURCE_CREATE_BLOB, + VIRTIO_GPU_CMD_RESOURCE_MAP, + VIRTIO_GPU_CMD_RESOURCE_UNMAP, /* 3d commands */ VIRTIO_GPU_CMD_CTX_CREATE = 0x0200, @@ -94,9 +97,6 @@ enum virtio_gpu_ctrl_type { VIRTIO_GPU_CMD_TRANSFER_TO_HOST_3D, VIRTIO_GPU_CMD_TRANSFER_FROM_HOST_3D, VIRTIO_GPU_CMD_SUBMIT_3D, - VIRTIO_GPU_CMD_RESOURCE_CREATE_BLOB, - VIRTIO_GPU_CMD_RESOURCE_MAP, - VIRTIO_GPU_CMD_RESOURCE_UNMAP, /* cursor commands */ VIRTIO_GPU_CMD_UPDATE_CURSOR = 0x0300, @@ -113,7 +113,6 @@ enum virtio_gpu_ctrl_type { /* CHROMIUM: legacy responses */ VIRTIO_GPU_RESP_OK_RESOURCE_PLANE_INFO_LEGACY = 0x1104, - /* CHROMIUM: success responses */ VIRTIO_GPU_RESP_OK_RESOURCE_PLANE_INFO = 0x11FF, @@ -303,6 +302,7 @@ struct virtio_gpu_cmd_submit { }; #define VIRTIO_GPU_CAPSET_VIRGL 1 +#define VIRTIO_GPU_CAPSET_VIRGL2 2 /* VIRTIO_GPU_CMD_GET_CAPSET_INFO */ struct virtio_gpu_get_capset_info { @@ -393,29 +393,25 @@ struct virtio_gpu_resp_resource_uuid { __u8 uuid[16]; }; - /* VIRTIO_GPU_CMD_RESOURCE_CREATE_BLOB */ struct virtio_gpu_resource_create_blob { struct virtio_gpu_ctrl_hdr hdr; __le32 resource_id; -#define VIRTIO_GPU_RES_BLOB_GUEST_MASK 0x000f -#define VIRTIO_GPU_RES_BLOB_GUEST_NONE 0x0000 -#define VIRTIO_GPU_RES_BLOB_GUEST_SYSTEM 0x0001 - -#define VIRTIO_GPU_RES_BLOB_HOST_MASK 0x00f0 -#define VIRTIO_GPU_RES_BLOB_HOST_NONE 0x0000 -#define VIRTIO_GPU_RES_BLOB_HOST 0x0010 - -#define VIRTIO_GPU_RES_BLOB_USE_MASK 0x0f00 -#define VIRTIO_GPU_RES_BLOB_USE_NONE 0x0000 -#define VIRTIO_GPU_RES_BLOB_USE_MAPPABLE 0x0100 -#define VIRTIO_GPU_RES_BLOB_USE_SHAREABLE 0x0200 -#define VIRTIO_GPU_RES_BLOB_USE_CROSS_DEVICE 0x0400 - __le32 flags; +#define VIRTIO_GPU_BLOB_MEM_GUEST 0x0001 +#define VIRTIO_GPU_BLOB_MEM_HOST3D 0x0002 +#define VIRTIO_GPU_BLOB_MEM_HOST3D_GUEST 0x0003 +#define VIRTIO_GPU_BLOB_MEM_HOSTSYS 0x0004 +#define VIRTIO_GPU_BLOB_MEM_HOSTSYS_GUEST 0x0005 + +#define VIRTIO_GPU_BLOB_FLAG_USE_MAPPABLE 0x0001 +#define VIRTIO_GPU_BLOB_FLAG_USE_SHAREABLE 0x0002 +#define VIRTIO_GPU_BLOB_FLAG_USE_CROSS_DEVICE 0x0004 + /* zero is invalid blob mem */ + __le32 blob_mem; + __le32 blob_flags; + __le64 blob_id; __le64 size; - __le64 memory_id; __le32 nr_entries; - __le32 padding; /* * sizeof(nr_entries * virtio_gpu_mem_entry) bytes follow */ |