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 20:13:10 +0000 (15:13 -0500)
commitc4ef8a73bfc84fad3de46b38f313c0b159103b28
tree8c69e4a7262c8afe1e8ee6e0e0df6747b7add58e
parent8888e2fe9c77983a9644cd9bf0d23ca9023b16d4
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