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 | __u32 handle; /* out */ | 105 | __u32 handle; /* out */ |
| 106 | }; | 106 | }; |
| 107 | 107 | ||
| 108 | #define MSM_INFO_IOVA 0x01 | 108 | /* Get or set GEM buffer info. The requested value can be passed |
| 109 | 109 | * directly in 'value', or for data larger than 64b 'value' is a | |
| 110 | #define MSM_INFO_FLAGS (MSM_INFO_IOVA) | 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 | struct drm_msm_gem_info { | 120 | struct drm_msm_gem_info { |
| 113 | __u32 handle; /* in */ | 121 | __u32 handle; /* in */ |
| 114 | __u32 flags; /* in - combination of MSM_INFO_* flags */ | 122 | __u32 info; /* in - one of MSM_INFO_* */ |
| 115 | __u64 offset; /* out, mmap() offset or iova */ | 123 | __u64 value; /* in or out */ |
| 124 | __u32 len; /* in or out */ | ||
| 125 | __u32 pad; | ||
| 116 | }; | 126 | }; |
| 117 | 127 | ||
| 118 | #define MSM_PREP_READ 0x01 | 128 | #define MSM_PREP_READ 0x01 |
| @@ -188,8 +198,11 @@ struct drm_msm_gem_submit_cmd { · 69 unmodified lines | |||
| 188 | */ | 198 | */ |
| 189 | #define MSM_SUBMIT_BO_READ 0x0001 | 199 | #define MSM_SUBMIT_BO_READ 0x0001 |
| 190 | #define MSM_SUBMIT_BO_WRITE 0x0002 | 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 | struct drm_msm_gem_submit_bo { | 207 | struct drm_msm_gem_submit_bo { |
| 195 | __u32 flags; /* in, mask of MSM_SUBMIT_BO_x */ | 208 | __u32 flags; /* in, mask of MSM_SUBMIT_BO_x */ |