OSDN Git Service

drm/amdgpu: enable Navi retry fault wptr overflow
authorPhilip Yang <Philip.Yang@amd.com>
Tue, 23 Nov 2021 15:20:17 +0000 (10:20 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 24 Nov 2021 19:06:53 +0000 (14:06 -0500)
commit23eb49251bd6e169a57ed938c815f6f47a312479
tree6c4f2823b851942db00dfffaeeeb4a14702a41a3
parent71ee9236ab9e7e7b76be3d106724c35c5f934b85
drm/amdgpu: enable Navi retry fault wptr overflow

If xnack is on, VM retry fault interrupt send to IH ring1, and ring1
will be full quickly. IH cannot receive other interrupts, this causes
deadlock if migrating buffer using sdma and waiting for sdma done
while handling retry fault.

Remove VMC from IH storm client, enable ring1 write pointer
overflow, then IH will drop retry fault interrupts and be able to receive
other interrupts while driver is handling retry fault.

IH ring1 write pointer doesn't writeback to memory by IH, and ring1
write pointer recorded by self-irq is not updated, so always read
the latest ring1 write pointer from register.

Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/navi10_ih.c