OSDN Git Service

drm/amdgpu: set sw state to gfxoff after SR-IOV reset
authorHorace Chen <horace.chen@amd.com>
Wed, 19 Jul 2023 07:55:04 +0000 (15:55 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 25 Jul 2023 17:35:23 +0000 (13:35 -0400)
commit83f24a8f0532f6d9fcdbe36e438f00a1a082fcd4
treeab036e252c4f6f8df460cd8ed9cc6ed77c5d4cf7
parent8cddd3dc3c53b2612d5de0ef9416b661695557a5
drm/amdgpu: set sw state to gfxoff after SR-IOV reset

[Why]
Current SR-IOV will not set GC to off state, while it is a real
GC hard reset. Whthout GFX off flag, driver may do gfxhub invalidation
before firmware load and gfxhub gart enable. This operation may cause
CP to become busy because GC is not in the right state for invalidation.

[How]
Add a function for SR-IOV to clean up some sw state before recover. Set
adev->gfx.is_poweron to false to prevent gfxhub invalidation before gfx
firmware autoload complete.

Signed-off-by: Horace Chen <horace.chen@amd.com>
Reviewed-by: HaiJun Chang <HaiJun.Chang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h