diff options
Diffstat (limited to 'drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c')
-rw-r--r-- | drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c index b32e4334c174..2dd3867bb9b7 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c @@ -2053,6 +2053,7 @@ static void smu_late_fini(struct amdgpu_ip_block *ip_block) static int smu_reset(struct smu_context *smu) { struct amdgpu_device *adev = smu->adev; + struct amdgpu_ip_block *ip_block; int ret; ret = smu_hw_fini(adev); @@ -2063,7 +2064,11 @@ static int smu_reset(struct smu_context *smu) if (ret) return ret; - ret = smu_late_init(&adev->ip_blocks[AMD_IP_BLOCK_TYPE_SMC]); + ip_block = amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_SMC); + if (!ip_block) + return -EINVAL; + + ret = smu_late_init(ip_block); if (ret) return ret; |