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 | 36 | #define DRM_V3D_MMAP_BO 0x03 |
| 37 | 37 | #define DRM_V3D_GET_PARAM 0x04 |
| 38 | 38 | #define DRM_V3D_GET_BO_OFFSET 0x05 |
| 39 | +#define DRM_V3D_SUBMIT_TFU 0x06 | |
| 39 | 40 | |
| 40 | 41 | #define DRM_IOCTL_V3D_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_CL, struct drm_v3d_submit_cl) |
| 41 | 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 | 44 | #define DRM_IOCTL_V3D_MMAP_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_MMAP_BO, struct drm_v3d_mmap_bo) |
| 44 | 45 | #define DRM_IOCTL_V3D_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_GET_PARAM, struct drm_v3d_get_param) |
| 45 | 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 | 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 | 181 | DRM_V3D_PARAM_V3D_CORE0_IDENT0, |
| 180 | 182 | DRM_V3D_PARAM_V3D_CORE0_IDENT1, |
| 181 | 183 | DRM_V3D_PARAM_V3D_CORE0_IDENT2, |
| 184 | + DRM_V3D_PARAM_SUPPORTS_TFU, | |
| 182 | 185 | }; |
| 183 | 186 | |
| 184 | 187 | struct drm_v3d_get_param { |
| @@ -197,6 +200,28 @@ struct drm_v3d_get_bo_offset { · 12 unmodified lines | ||
| 197 | 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 | 225 | #if defined(__cplusplus) |
| 201 | 226 | } |
| 202 | 227 | #endif |