Highlights: - Cooling device support from Russell, to allow GPU throttling on system thermal overload. - Explicit fencing support from Philipp, implemented in a similar way to drm/msm. * 'etnaviv/next' of https://git.pengutronix.de/git/lst/linux: drm/etnaviv: submit support for out-fences drm/etnaviv: return GPU fence through the submit structure drm/etnaviv: submit support for in-fences drm/etnaviv: add etnaviv cooling device drm/etnaviv: switch to postclose drm/etnaviv: add lockdep assert to fence allocation
Showing the changes to include/uapi (1 of 7 files). Show all
Unified · Split
| @@ -154,6 +154,12 @@ struct drm_etnaviv_gem_submit_bo { · 153 unmodified lines | ||
| 154 | 154 | * one or more cmdstream buffers. This allows for conditional execution |
| 155 | 155 | * (context-restore), and IB buffers needed for per tile/bin draw cmds. |
| 156 | 156 | */ |
| 157 | +#define ETNA_SUBMIT_NO_IMPLICIT 0x0001 | |
| 158 | +#define ETNA_SUBMIT_FENCE_FD_IN 0x0002 | |
| 159 | +#define ETNA_SUBMIT_FENCE_FD_OUT 0x0004 | |
| 160 | +#define ETNA_SUBMIT_FLAGS (ETNA_SUBMIT_NO_IMPLICIT | \ | |
| 161 | + ETNA_SUBMIT_FENCE_FD_IN | \ | |
| 162 | + ETNA_SUBMIT_FENCE_FD_OUT) | |
| 157 | 163 | #define ETNA_PIPE_3D 0x00 |
| 158 | 164 | #define ETNA_PIPE_2D 0x01 |
| 159 | 165 | #define ETNA_PIPE_VG 0x02 |
| @@ -167,6 +173,8 @@ struct drm_etnaviv_gem_submit { · 7 unmodified lines | ||
| 167 | 173 | __u64 bos; /* in, ptr to array of submit_bo's */ |
| 168 | 174 | __u64 relocs; /* in, ptr to array of submit_reloc's */ |
| 169 | 175 | __u64 stream; /* in, ptr to cmdstream */ |
| 176 | + __u32 flags; /* in, mask of ETNA_SUBMIT_x */ | |
| 177 | + __s32 fence_fd; /* in/out, fence fd (see ETNA_SUBMIT_FENCE_FD_x) */ | |
| 170 | 178 | }; |
| 171 | 179 | |
| 172 | 180 | /* The normal way to synchronize with the GPU is just to CPU_PREP on |