diff options
| author | Christian König <[email protected]> | 2023-08-17 09:33:34 +0000 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2024-03-04 20:59:08 +0000 |
| commit | 8bc75586ea01f1c645063d3472c115ecab03e76c (patch) | |
| tree | 91955f6900c3135c2c6b975f252cc020ca5974d8 /drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | |
| parent | drm/amdgpu: cleanup conditional execution (diff) | |
| download | kernel-8bc75586ea01f1c645063d3472c115ecab03e76c.tar.gz kernel-8bc75586ea01f1c645063d3472c115ecab03e76c.zip | |
drm/amdgpu: workaround to avoid SET_Q_MODE packets v2
It turned out that executing the SET_Q_MODE packet on every submission
creates to much overhead.
Implement a workaround which allows skipping the SET_Q_MODE packet if
subsequent submissions all use the same parameters.
v2: add a NULL check for ring_obj
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h index 756330767909..582053f1cd56 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h @@ -285,6 +285,9 @@ struct amdgpu_ring { unsigned cond_exe_offs; u64 cond_exe_gpu_addr; volatile u32 *cond_exe_cpu_addr; + unsigned int set_q_mode_offs; + volatile u32 *set_q_mode_ptr; + u64 set_q_mode_token; unsigned vm_hub; unsigned vm_inv_eng; struct dma_fence *vmid_wait; |
