drm/amdgpu: fix PSP autoload twice in FLR

Assigning false to block->status.hw overwrites PSP's previous
hardware status, which causes the PSP to Resume operation after
hardware init.

Remove this assignment and let the PSP execute Resume operation
when it is told to.

v2: Remove the braces.
v3: Modify the description.

Signed-off-by: Liu ChengZhe <ChengZhe.Liu@amd.com>
Reviewed-by: Luben Tuikov <luben.tuikov@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Liu ChengZhe 2020-07-24 17:22:15 +08:00 committed by Alex Deucher
parent 278a4b5f62
commit 6b6124bb4a

View File

@ -2574,6 +2574,9 @@ static int amdgpu_device_ip_reinit_early_sriov(struct amdgpu_device *adev)
AMD_IP_BLOCK_TYPE_IH, AMD_IP_BLOCK_TYPE_IH,
}; };
for (i = 0; i < adev->num_ip_blocks; i++)
adev->ip_blocks[i].status.hw = false;
for (i = 0; i < ARRAY_SIZE(ip_order); i++) { for (i = 0; i < ARRAY_SIZE(ip_order); i++) {
int j; int j;
struct amdgpu_ip_block *block; struct amdgpu_ip_block *block;
@ -2581,7 +2584,6 @@ static int amdgpu_device_ip_reinit_early_sriov(struct amdgpu_device *adev)
for (j = 0; j < adev->num_ip_blocks; j++) { for (j = 0; j < adev->num_ip_blocks; j++) {
block = &adev->ip_blocks[j]; block = &adev->ip_blocks[j];
block->status.hw = false;
if (block->version->type != ip_order[i] || if (block->version->type != ip_order[i] ||
!block->status.valid) !block->status.valid)
continue; continue;