Midgard/Bifrost GPUs have a bunch of feature registers providing details of what the hardware supports. Panfrost already reads these, this patch exports them all to user space so that the jobs created by the user space driver can be tuned for the particular hardware implementation.
Showing the changes to include/uapi (1 of 4 files). Show all
Unified · Split
| @@ -127,6 +127,45 @@ struct drm_panfrost_mmap_bo { · 126 unmodified lines | |||
| 127 | 127 | ||
| 128 | enum drm_panfrost_param { | 128 | enum drm_panfrost_param { |
| 129 | DRM_PANFROST_PARAM_GPU_PROD_ID, | 129 | DRM_PANFROST_PARAM_GPU_PROD_ID, |
| 130 | DRM_PANFROST_PARAM_GPU_REVISION, | ||
| 131 | DRM_PANFROST_PARAM_SHADER_PRESENT, | ||
| 132 | DRM_PANFROST_PARAM_TILER_PRESENT, | ||
| 133 | DRM_PANFROST_PARAM_L2_PRESENT, | ||
| 134 | DRM_PANFROST_PARAM_STACK_PRESENT, | ||
| 135 | DRM_PANFROST_PARAM_AS_PRESENT, | ||
| 136 | DRM_PANFROST_PARAM_JS_PRESENT, | ||
| 137 | DRM_PANFROST_PARAM_L2_FEATURES, | ||
| 138 | DRM_PANFROST_PARAM_CORE_FEATURES, | ||
| 139 | DRM_PANFROST_PARAM_TILER_FEATURES, | ||
| 140 | DRM_PANFROST_PARAM_MEM_FEATURES, | ||
| 141 | DRM_PANFROST_PARAM_MMU_FEATURES, | ||
| 142 | DRM_PANFROST_PARAM_THREAD_FEATURES, | ||
| 143 | DRM_PANFROST_PARAM_MAX_THREADS, | ||
| 144 | DRM_PANFROST_PARAM_THREAD_MAX_WORKGROUP_SZ, | ||
| 145 | DRM_PANFROST_PARAM_THREAD_MAX_BARRIER_SZ, | ||
| 146 | DRM_PANFROST_PARAM_COHERENCY_FEATURES, | ||
| 147 | DRM_PANFROST_PARAM_TEXTURE_FEATURES0, | ||
| 148 | DRM_PANFROST_PARAM_TEXTURE_FEATURES1, | ||
| 149 | DRM_PANFROST_PARAM_TEXTURE_FEATURES2, | ||
| 150 | DRM_PANFROST_PARAM_TEXTURE_FEATURES3, | ||
| 151 | DRM_PANFROST_PARAM_JS_FEATURES0, | ||
| 152 | DRM_PANFROST_PARAM_JS_FEATURES1, | ||
| 153 | DRM_PANFROST_PARAM_JS_FEATURES2, | ||
| 154 | DRM_PANFROST_PARAM_JS_FEATURES3, | ||
| 155 | DRM_PANFROST_PARAM_JS_FEATURES4, | ||
| 156 | DRM_PANFROST_PARAM_JS_FEATURES5, | ||
| 157 | DRM_PANFROST_PARAM_JS_FEATURES6, | ||
| 158 | DRM_PANFROST_PARAM_JS_FEATURES7, | ||
| 159 | DRM_PANFROST_PARAM_JS_FEATURES8, | ||
| 160 | DRM_PANFROST_PARAM_JS_FEATURES9, | ||
| 161 | DRM_PANFROST_PARAM_JS_FEATURES10, | ||
| 162 | DRM_PANFROST_PARAM_JS_FEATURES11, | ||
| 163 | DRM_PANFROST_PARAM_JS_FEATURES12, | ||
| 164 | DRM_PANFROST_PARAM_JS_FEATURES13, | ||
| 165 | DRM_PANFROST_PARAM_JS_FEATURES14, | ||
| 166 | DRM_PANFROST_PARAM_JS_FEATURES15, | ||
| 167 | DRM_PANFROST_PARAM_NR_CORE_GROUPS, | ||
| 168 | DRM_PANFROST_PARAM_THREAD_TLS_ALLOC, | ||
| 130 | }; | 169 | }; |
| 131 | 170 | ||
| 132 | struct drm_panfrost_get_param { | 171 | struct drm_panfrost_get_param { |