aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
index f305f6309e8e..85aeb0a804bb 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
@@ -75,6 +75,10 @@ int amdgpu_ring_alloc(struct amdgpu_ring *ring, unsigned ndw)
75 75
76 ring->count_dw = ndw; 76 ring->count_dw = ndw;
77 ring->wptr_old = ring->wptr; 77 ring->wptr_old = ring->wptr;
78
79 if (ring->funcs->begin_use)
80 ring->funcs->begin_use(ring);
81
78 return 0; 82 return 0;
79} 83}
80 84
@@ -127,6 +131,9 @@ void amdgpu_ring_commit(struct amdgpu_ring *ring)
127 131
128 mb(); 132 mb();
129 amdgpu_ring_set_wptr(ring); 133 amdgpu_ring_set_wptr(ring);
134
135 if (ring->funcs->end_use)
136 ring->funcs->end_use(ring);
130} 137}
131 138
132/** 139/**
@@ -139,6 +146,9 @@ void amdgpu_ring_commit(struct amdgpu_ring *ring)
139void amdgpu_ring_undo(struct amdgpu_ring *ring) 146void amdgpu_ring_undo(struct amdgpu_ring *ring)
140{ 147{
141 ring->wptr = ring->wptr_old; 148 ring->wptr = ring->wptr_old;
149
150 if (ring->funcs->end_use)
151 ring->funcs->end_use(ring);
142} 152}
143 153
144/** 154/**