aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm/msm_ringbuffer.c
diff options
context:
space:
mode:
authorJordan Crouse <[email protected]>2017-10-20 17:07:01 +0000
committerRob Clark <[email protected]>2017-10-28 15:01:38 +0000
commitb1fc2839d2f92d09da90d1e09156a73ddaba8a93 (patch)
tree2cbc4001472d16c4290e7a4d8be6742d57c72d3c /drivers/gpu/drm/msm/msm_ringbuffer.c
parentdrm/msm: Make the value of RB_CNTL (almost) generic (diff)
downloadkernel-b1fc2839d2f92d09da90d1e09156a73ddaba8a93.tar.gz
kernel-b1fc2839d2f92d09da90d1e09156a73ddaba8a93.zip
drm/msm: Implement preemption for A5XX targets
Implement preemption for A5XX targets - this allows multiple ringbuffers for different priorities with automatic preemption of a lower priority ringbuffer if a higher one is ready. Signed-off-by: Jordan Crouse <[email protected]> Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/msm/msm_ringbuffer.c')
-rw-r--r--drivers/gpu/drm/msm/msm_ringbuffer.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/msm_ringbuffer.c b/drivers/gpu/drm/msm/msm_ringbuffer.c
index e39c4e392854..6ca98da35f63 100644
--- a/drivers/gpu/drm/msm/msm_ringbuffer.c
+++ b/drivers/gpu/drm/msm/msm_ringbuffer.c
@@ -53,6 +53,7 @@ struct msm_ringbuffer *msm_ringbuffer_new(struct msm_gpu *gpu, int id,
ring->memptrs_iova = memptrs_iova;
INIT_LIST_HEAD(&ring->submits);
+ spin_lock_init(&ring->lock);
snprintf(name, sizeof(name), "gpu-ring-%d", ring->id);