aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c3
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
index cb9472f52e8c..f774b3f497d2 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
@@ -169,6 +169,9 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs,
169 dma_fence_put(tmp); 169 dma_fence_put(tmp);
170 } 170 }
171 171
172 if (ring->funcs->insert_start)
173 ring->funcs->insert_start(ring);
174
172 if (vm) { 175 if (vm) {
173 r = amdgpu_vm_flush(ring, job); 176 r = amdgpu_vm_flush(ring, job);
174 if (r) { 177 if (r) {
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
index 731f0941927a..9bf3100f273e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
@@ -132,6 +132,7 @@ struct amdgpu_ring_funcs {
132 int (*test_ib)(struct amdgpu_ring *ring, long timeout); 132 int (*test_ib)(struct amdgpu_ring *ring, long timeout);
133 /* insert NOP packets */ 133 /* insert NOP packets */
134 void (*insert_nop)(struct amdgpu_ring *ring, uint32_t count); 134 void (*insert_nop)(struct amdgpu_ring *ring, uint32_t count);
135 void (*insert_start)(struct amdgpu_ring *ring);
135 void (*insert_end)(struct amdgpu_ring *ring); 136 void (*insert_end)(struct amdgpu_ring *ring);
136 /* pad the indirect buffer to the necessary number of dw */ 137 /* pad the indirect buffer to the necessary number of dw */
137 void (*pad_ib)(struct amdgpu_ring *ring, struct amdgpu_ib *ib); 138 void (*pad_ib)(struct amdgpu_ring *ring, struct amdgpu_ib *ib);