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)
commitf3bfffe65a402ec1f39643a33674ff4ca36b684a
treec36323c6e6332572f8a0a70f920fdce9813f4fc6
parent5739335486916ea67de28201dd7acf93d3ece87e
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