Commit 6b6124bb authored by Liu ChengZhe's avatar Liu ChengZhe Committed by Alex Deucher

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: default avatarLiu ChengZhe <ChengZhe.Liu@amd.com>
Reviewed-by: default avatarLuben Tuikov <luben.tuikov@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 278a4b5f
...@@ -2574,6 +2574,9 @@ static int amdgpu_device_ip_reinit_early_sriov(struct amdgpu_device *adev) ...@@ -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) ...@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment