drm/amdgpu: fix an UMC hw arbitrator bug(v3)
authorMonk Liu <Monk.Liu@amd.com>
Tue, 24 Sep 2019 08:08:00 +0000 (16:08 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 3 Oct 2019 14:11:01 +0000 (09:11 -0500)
commite7da754b00ee40af55e522f9dc478d8ed3a3ad3d
tree1dc570863d12159de86f36c1ccfbf8fcb5731319
parent6de088a08ddc4876947e3319c98df116257e6ea5
drm/amdgpu: fix an UMC hw arbitrator bug(v3)

issue:
the UMC6 h/w bug is that when MCLK is doing the switch
in the middle of a page access being preempted by high
priority client (e.g. DISPLAY) then UMC and the mclk switch
would stuck there due to deadlock

how:
fixed by disabling auto PreChg for UMC to avoid high
priority client preempting other client's access on
the same page, thus the deadlock could be avoided

v2:
put the patch in callback of UMC6
v3:
rename the callback to "init_registers"

Signed-off-by: Monk Liu <Monk.Liu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Hawking Zhang <hawking.zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/Makefile
drivers/gpu/drm/amd/amdgpu/amdgpu_umc.h
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
drivers/gpu/drm/amd/amdgpu/umc_v6_0.c [new file with mode: 0644]
drivers/gpu/drm/amd/amdgpu/umc_v6_0.h [new file with mode: 0644]