diff options
author | Sunil Khatri <sunil.khatri@amd.com> | 2024-10-01 11:35:14 +0530 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2024-10-07 14:03:25 -0400 |
commit | 58608034ed5090b7a4b7f1c040a67a53fe1dbbc6 (patch) | |
tree | cc79f96dae5b0c9ffaddc27c9b1f73f892e07023 /drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | |
parent | 7feb4f3ad8befa0850a576adaa32d57962bf82e5 (diff) | |
download | linux-58608034ed5090b7a4b7f1c040a67a53fe1dbbc6.tar.gz linux-58608034ed5090b7a4b7f1c040a67a53fe1dbbc6.tar.bz2 linux-58608034ed5090b7a4b7f1c040a67a53fe1dbbc6.zip |
drm/amdgpu: update the handle ptr in hw_init
Update the *handle to amdgpu_ip_block ptr for all
functions pointers of hw_init.
Also update the ip_block ptr where ever needed as
there were cyclic dependency of hw_init on resume.
v2: squash in isp fix
Signed-off-by: Sunil Khatri <sunil.khatri@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c')
-rw-r--r-- | drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c index 033965ed8645..246eba201ff6 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c @@ -1787,10 +1787,10 @@ static int smu_start_smc_engine(struct smu_context *smu) return ret; } -static int smu_hw_init(void *handle) +static int smu_hw_init(struct amdgpu_ip_block *ip_block) { int ret; - struct amdgpu_device *adev = (struct amdgpu_device *)handle; + struct amdgpu_device *adev = ip_block->adev; struct smu_context *smu = adev->powerplay.pp_handle; if (amdgpu_sriov_vf(adev) && !amdgpu_sriov_is_pp_one_vf(adev)) { @@ -2056,18 +2056,18 @@ static int smu_reset(struct smu_context *smu) struct amdgpu_ip_block *ip_block; int ret; + ip_block = amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_SMC); + if (!ip_block) + return -EINVAL; + ret = smu_hw_fini(adev); if (ret) return ret; - ret = smu_hw_init(adev); + ret = smu_hw_init(ip_block); if (ret) return ret; - 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; |