[PATCH 2/5] drm/amdgpu: rework gfx9 queue reset

Christian König christian.koenig at amd.com
Thu May 8 11:19:32 UTC 2025


On 5/2/25 18:43, Alex Deucher wrote:
>> @@ -7555,7 +7545,7 @@ static const struct amdgpu_ring_funcs gfx_v9_0_ring_funcs_compute = {
>>                 20 + /* gfx_v9_0_ring_emit_gds_switch */
>>                 7 + /* gfx_v9_0_ring_emit_hdp_flush */
>>                 5 + /* hdp invalidate */
>> -               7 + /* gfx_v9_0_ring_emit_pipeline_sync */
>> +               7 + 7 + 5 + 7 +  /* PIPELINE_SYNC */
>>                 SOC15_FLUSH_GPU_TLB_NUM_WREG * 5 +
>>                 SOC15_FLUSH_GPU_TLB_NUM_REG_WAIT * 7 +
>>                 8 + 8 + 8 + /* gfx_v9_0_ring_emit_fence x3 for user fence, vm fence */
>> @@ -7577,7 +7567,6 @@ static const struct amdgpu_ring_funcs gfx_v9_0_ring_funcs_compute = {
>>         .emit_wreg = gfx_v9_0_ring_emit_wreg,
>>         .emit_reg_wait = gfx_v9_0_ring_emit_reg_wait,
>>         .emit_reg_write_reg_wait = gfx_v9_0_ring_emit_reg_write_reg_wait,
>> -       .soft_recovery = gfx_v9_0_ring_soft_recovery,
> 
> I think we should keep soft recovery for compute.  For compute, it
> should do what we want.

I would rather like to avoid that. As far as I can see the soft recovery is not guaranteed to work for compute queues when the VMID filter is used.

Instead I've worked on a patch to make sure that only one application at a time can use each queue. Should be unproblematic for compute since we have enough queues and use them round robin anyway.

Christian.


> 
> Alex


More information about the amd-gfx mailing list