summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiu ChengZhe <ChengZhe.Liu@amd.com>2020-07-24 17:22:15 +0800
committerAlex Deucher <alexander.deucher@amd.com>2020-07-30 15:36:44 -0400
commit392cf6a739271a70311b6a3c4f60900039721a68 (patch)
tree6c20e735115a3ac504826780e5b1509c3dc33181
parent178b0013f074da545492662ec76dc2be363ca85c (diff)
downloadlinux-stable-392cf6a739271a70311b6a3c4f60900039721a68.tar.gz
linux-stable-392cf6a739271a70311b6a3c4f60900039721a68.tar.bz2
linux-stable-392cf6a739271a70311b6a3c4f60900039721a68.zip
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>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_device.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 638c2cc426c1..40caa7437ce2 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -2574,6 +2574,9 @@ static int amdgpu_device_ip_reinit_early_sriov(struct amdgpu_device *adev)
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++) {
int j;
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++) {
block = &adev->ip_blocks[j];
- block->status.hw = false;
if (block->version->type != ip_order[i] ||
!block->status.valid)
continue;