drm/amdgpu: fix reload KMD hang on GFX10 KIQ
authorMonk Liu <Monk.Liu@amd.com>
Mon, 10 Aug 2020 06:12:06 +0000 (14:12 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 10 Aug 2020 21:26:52 +0000 (17:26 -0400)
commitbcca6298069435fa7f23ab98f4cb635fcbd3bc20
treec36323c6e6332572f8a0a70f920fdce9813f4fc6
parent5a58abf5ed4f63e0d8c6f542da1d9e2dd8dea1bc
drm/amdgpu: fix reload KMD hang on GFX10 KIQ

GFX10 KIQ will hang if we try below steps:
modprobe amdgpu
rmmod amdgpu
modprobe amdgpu sched_hw_submission=4

Due to KIQ is always living there even after KMD unloaded
thus when doing the realod KIQ will crash upon its register
being programed by different values with the previous loading
(the config like HQD addr, ring size, is easily changed if we alter
the sched_hw_submission)

the fix is we must inactive KIQ first before touching any
of its registgers

Signed-off-by: Monk Liu <Monk.Liu@amd.com>
Reviewed-by: Emily Deng <Emily.Deng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c