This time around, seeing some love for some older hw: - a2xx gpu support for apq8060 (hp touchpad) and imx5 (headless gpu-only mode) - a2xx gpummu support (a2xx was pre-iommu) - mdp4 display support for apq8060/touchpad For display/dpu: - a big pile of continuing dpu fixes and cleanups On the gpu side of things: - per-submit statistics and traceevents for better profiling - a6xx crashdump support - decouple get_iova() and page pinning.. so we can unpin from physical memory inactive bo's while using softpin to lower cpu overhead - new interface to set debug names on GEM BOs and debugfs output improvements - additional submit flag to indicate buffers that are used to dump (so $debugfs/rd cmdstream dumping is useful with softpin + state-objects)
Showing the changes to include/uapi (1 of 129 files). Show all
Unified · Split
| @@ -105,14 +105,24 @@ struct drm_msm_gem_new { · 104 unmodified lines | ||
| 105 | 105 | __u32 handle; /* out */ |
| 106 | 106 | }; |
| 107 | 107 | |
| 108 | −#define MSM_INFO_IOVA 0x01 | |
| 109 | − | |
| 110 | −#define MSM_INFO_FLAGS (MSM_INFO_IOVA) | |
| 108 | +/* Get or set GEM buffer info. The requested value can be passed | |
| 109 | + * directly in 'value', or for data larger than 64b 'value' is a | |
| 110 | + * pointer to userspace buffer, with 'len' specifying the number of | |
| 111 | + * bytes copied into that buffer. For info returned by pointer, | |
| 112 | + * calling the GEM_INFO ioctl with null 'value' will return the | |
| 113 | + * required buffer size in 'len' | |
| 114 | + */ | |
| 115 | +#define MSM_INFO_GET_OFFSET 0x00 /* get mmap() offset, returned by value */ | |
| 116 | +#define MSM_INFO_GET_IOVA 0x01 /* get iova, returned by value */ | |
| 117 | +#define MSM_INFO_SET_NAME 0x02 /* set the debug name (by pointer) */ | |
| 118 | +#define MSM_INFO_GET_NAME 0x03 /* get debug name, returned by pointer */ | |
| 111 | 119 | |
| 112 | 120 | struct drm_msm_gem_info { |
| 113 | 121 | __u32 handle; /* in */ |
| 114 | − __u32 flags; /* in - combination of MSM_INFO_* flags */ | |
| 115 | − __u64 offset; /* out, mmap() offset or iova */ | |
| 122 | + __u32 info; /* in - one of MSM_INFO_* */ | |
| 123 | + __u64 value; /* in or out */ | |
| 124 | + __u32 len; /* in or out */ | |
| 125 | + __u32 pad; | |
| 116 | 126 | }; |
| 117 | 127 | |
| 118 | 128 | #define MSM_PREP_READ 0x01 |
| @@ -188,8 +198,11 @@ struct drm_msm_gem_submit_cmd { · 69 unmodified lines | ||
| 188 | 198 | */ |
| 189 | 199 | #define MSM_SUBMIT_BO_READ 0x0001 |
| 190 | 200 | #define MSM_SUBMIT_BO_WRITE 0x0002 |
| 201 | +#define MSM_SUBMIT_BO_DUMP 0x0004 | |
| 191 | 202 | |
| 192 | −#define MSM_SUBMIT_BO_FLAGS (MSM_SUBMIT_BO_READ | MSM_SUBMIT_BO_WRITE) | |
| 203 | +#define MSM_SUBMIT_BO_FLAGS (MSM_SUBMIT_BO_READ | \ | |
| 204 | + MSM_SUBMIT_BO_WRITE | \ | |
| 205 | + MSM_SUBMIT_BO_DUMP) | |
| 193 | 206 | |
| 194 | 207 | struct drm_msm_gem_submit_bo { |
| 195 | 208 | __u32 flags; /* in, mask of MSM_SUBMIT_BO_x */ |