Final changes to drm-misc-next for v4.21: UAPI Changes: Core Changes: - Add dma_fence_get_stub to dma-buf, and use it in drm/syncobj. - Add and use DRM_MODESET_LOCK_BEGIN/END helpers. - Small fixes to drm_atomic_helper_resume(), drm_mode_setcrtc() and drm_atomic_helper_commit_duplicated_state() - Fix drm_atomic_state_helper.[c] extraction. Driver Changes: - Small fixes to tinydrm, vkms, meson, rcar-du, virtio, vkms, v3d, and pl111. - vc4: Allow scaling and YUV formats on cursor planes. - v3d: Enable use of the Texture Formatting Unit, and fix prime imports of buffers from other drivers. - Add support for the AUO G101EVN010 panel. - sun4i: Enable support for the H6 display engine.
Showing the changes to include/uapi (1 of 46 files). Show all
Unified · Split
| @@ -36,6 +36,7 @@ extern "C" { · 35 unmodified lines | |||
| 36 | #define DRM_V3D_MMAP_BO 0x03 | 36 | #define DRM_V3D_MMAP_BO 0x03 |
| 37 | #define DRM_V3D_GET_PARAM 0x04 | 37 | #define DRM_V3D_GET_PARAM 0x04 |
| 38 | #define DRM_V3D_GET_BO_OFFSET 0x05 | 38 | #define DRM_V3D_GET_BO_OFFSET 0x05 |
| 39 | #define DRM_V3D_SUBMIT_TFU 0x06 | ||
| 39 | 40 | ||
| 40 | #define DRM_IOCTL_V3D_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_CL, struct drm_v3d_submit_cl) | 41 | #define DRM_IOCTL_V3D_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_CL, struct drm_v3d_submit_cl) |
| 41 | #define DRM_IOCTL_V3D_WAIT_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_WAIT_BO, struct drm_v3d_wait_bo) | 42 | #define DRM_IOCTL_V3D_WAIT_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_WAIT_BO, struct drm_v3d_wait_bo) |
| @@ -43,6 +44,7 @@ extern "C" { · 1 unmodified line | |||
| 43 | #define DRM_IOCTL_V3D_MMAP_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_MMAP_BO, struct drm_v3d_mmap_bo) | 44 | #define DRM_IOCTL_V3D_MMAP_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_MMAP_BO, struct drm_v3d_mmap_bo) |
| 44 | #define DRM_IOCTL_V3D_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_GET_PARAM, struct drm_v3d_get_param) | 45 | #define DRM_IOCTL_V3D_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_GET_PARAM, struct drm_v3d_get_param) |
| 45 | #define DRM_IOCTL_V3D_GET_BO_OFFSET DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_GET_BO_OFFSET, struct drm_v3d_get_bo_offset) | 46 | #define DRM_IOCTL_V3D_GET_BO_OFFSET DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_GET_BO_OFFSET, struct drm_v3d_get_bo_offset) |
| 47 | #define DRM_IOCTL_V3D_SUBMIT_TFU DRM_IOW(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_TFU, struct drm_v3d_submit_tfu) | ||
| 46 | 48 | ||
| 47 | /** | 49 | /** |
| 48 | * struct drm_v3d_submit_cl - ioctl argument for submitting commands to the 3D | 50 | * struct drm_v3d_submit_cl - ioctl argument for submitting commands to the 3D |
| @@ -179,6 +181,7 @@ enum drm_v3d_param { · 130 unmodified lines | |||
| 179 | DRM_V3D_PARAM_V3D_CORE0_IDENT0, | 181 | DRM_V3D_PARAM_V3D_CORE0_IDENT0, |
| 180 | DRM_V3D_PARAM_V3D_CORE0_IDENT1, | 182 | DRM_V3D_PARAM_V3D_CORE0_IDENT1, |
| 181 | DRM_V3D_PARAM_V3D_CORE0_IDENT2, | 183 | DRM_V3D_PARAM_V3D_CORE0_IDENT2, |
| 184 | DRM_V3D_PARAM_SUPPORTS_TFU, | ||
| 182 | }; | 185 | }; |
| 183 | 186 | ||
| 184 | struct drm_v3d_get_param { | 187 | struct drm_v3d_get_param { |
| @@ -197,6 +200,28 @@ struct drm_v3d_get_bo_offset { · 12 unmodified lines | |||
| 197 | __u32 offset; | 200 | __u32 offset; |
| 198 | }; | 201 | }; |
| 199 | 202 | ||
| 203 | struct drm_v3d_submit_tfu { | ||
| 204 | __u32 icfg; | ||
| 205 | __u32 iia; | ||
| 206 | __u32 iis; | ||
| 207 | __u32 ica; | ||
| 208 | __u32 iua; | ||
| 209 | __u32 ioa; | ||
| 210 | __u32 ios; | ||
| 211 | __u32 coef[4]; | ||
| 212 | /* First handle is the output BO, following are other inputs. | ||
| 213 | * 0 for unused. | ||
| 214 | */ | ||
| 215 | __u32 bo_handles[4]; | ||
| 216 | /* sync object to block on before running the TFU job. Each TFU | ||
| 217 | * job will execute in the order submitted to its FD. Synchronization | ||
| 218 | * against rendering jobs requires using sync objects. | ||
| 219 | */ | ||
| 220 | __u32 in_sync; | ||
| 221 | /* Sync object to signal when the TFU job is done. */ | ||
| 222 | __u32 out_sync; | ||
| 223 | }; | ||
| 224 | |||
| 200 | #if defined(__cplusplus) | 225 | #if defined(__cplusplus) |
| 201 | } | 226 | } |
| 202 | #endif | 227 | #endif |