diff options
author | Rob Clark <robdclark@chromium.org> | 2023-03-08 07:53:04 -0800 |
---|---|---|
committer | Rob Clark <robdclark@chromium.org> | 2023-03-28 15:46:15 -0700 |
commit | b5a24e13c8c8b2c98d114b16da40712b80d5cfc1 (patch) | |
tree | 7e3473e387f22c6c9c322792647836331e3e3d59 /include/uapi/drm | |
parent | f8b8487c0756ead2e3584550e5a4d4ce4a1e520f (diff) | |
download | linux-b5a24e13c8c8b2c98d114b16da40712b80d5cfc1.tar.gz linux-b5a24e13c8c8b2c98d114b16da40712b80d5cfc1.tar.bz2 linux-b5a24e13c8c8b2c98d114b16da40712b80d5cfc1.zip |
drm/msm: Add wait-boost support
Add a way for various userspace waits to signal urgency.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Patchwork: https://patchwork.freedesktop.org/patch/525817/
Link: https://lore.kernel.org/r/20230308155322.344664-14-robdclark@gmail.com
Diffstat (limited to 'include/uapi/drm')
-rw-r--r-- | include/uapi/drm/msm_drm.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/include/uapi/drm/msm_drm.h b/include/uapi/drm/msm_drm.h index 329100016e7c..dbf0d6f43fa9 100644 --- a/include/uapi/drm/msm_drm.h +++ b/include/uapi/drm/msm_drm.h @@ -151,8 +151,13 @@ struct drm_msm_gem_info { #define MSM_PREP_READ 0x01 #define MSM_PREP_WRITE 0x02 #define MSM_PREP_NOSYNC 0x04 +#define MSM_PREP_BOOST 0x08 -#define MSM_PREP_FLAGS (MSM_PREP_READ | MSM_PREP_WRITE | MSM_PREP_NOSYNC) +#define MSM_PREP_FLAGS (MSM_PREP_READ | \ + MSM_PREP_WRITE | \ + MSM_PREP_NOSYNC | \ + MSM_PREP_BOOST | \ + 0) struct drm_msm_gem_cpu_prep { __u32 handle; /* in */ @@ -286,6 +291,11 @@ struct drm_msm_gem_submit { }; +#define MSM_WAIT_FENCE_BOOST 0x00000001 +#define MSM_WAIT_FENCE_FLAGS ( \ + MSM_WAIT_FENCE_BOOST | \ + 0) + /* The normal way to synchronize with the GPU is just to CPU_PREP on * a buffer if you need to access it from the CPU (other cmdstream * submission from same or other contexts, PAGE_FLIP ioctl, etc, all @@ -295,7 +305,7 @@ struct drm_msm_gem_submit { */ struct drm_msm_wait_fence { __u32 fence; /* in */ - __u32 pad; + __u32 flags; /* in, bitmask of MSM_WAIT_FENCE_x */ struct drm_msm_timespec timeout; /* in */ __u32 queueid; /* in, submitqueue id */ }; |