Update the *handle to amdgpu_ip_block ptr for all
functions pointers of late_fini.

Signed-off-by: Sunil Khatri <sunil.kha...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c       | 2 +-
 drivers/gpu/drm/amd/include/amd_shared.h         | 2 +-
 drivers/gpu/drm/amd/pm/powerplay/amd_powerplay.c | 4 ++--
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c        | 4 ++--
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 28c1bf6867ca..9eb07bdbdea8 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -3392,7 +3392,7 @@ static int amdgpu_device_ip_fini(struct amdgpu_device 
*adev)
                if (!adev->ip_blocks[i].status.late_initialized)
                        continue;
                if (adev->ip_blocks[i].version->funcs->late_fini)
-                       adev->ip_blocks[i].version->funcs->late_fini((void 
*)adev);
+                       
adev->ip_blocks[i].version->funcs->late_fini(&adev->ip_blocks[i]);
                adev->ip_blocks[i].status.late_initialized = false;
        }
 
diff --git a/drivers/gpu/drm/amd/include/amd_shared.h 
b/drivers/gpu/drm/amd/include/amd_shared.h
index 980a6a740689..615f880d3e80 100644
--- a/drivers/gpu/drm/amd/include/amd_shared.h
+++ b/drivers/gpu/drm/amd/include/amd_shared.h
@@ -386,7 +386,7 @@ struct amd_ip_funcs {
        int (*early_fini)(struct amdgpu_ip_block *ip_block);
        int (*hw_init)(void *handle);
        int (*hw_fini)(void *handle);
-       void (*late_fini)(void *handle);
+       void (*late_fini)(struct amdgpu_ip_block *ip_block);
        int (*prepare_suspend)(void *handle);
        int (*suspend)(void *handle);
        int (*resume)(void *handle);
diff --git a/drivers/gpu/drm/amd/pm/powerplay/amd_powerplay.c 
b/drivers/gpu/drm/amd/pm/powerplay/amd_powerplay.c
index 194cf4f922a3..5c109be6bcbd 100644
--- a/drivers/gpu/drm/amd/pm/powerplay/amd_powerplay.c
+++ b/drivers/gpu/drm/amd/pm/powerplay/amd_powerplay.c
@@ -230,9 +230,9 @@ static int pp_late_init(struct amdgpu_ip_block *ip_block)
        return 0;
 }
 
-static void pp_late_fini(void *handle)
+static void pp_late_fini(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        if (adev->pm.smu_prv_buffer)
                amdgpu_bo_free_kernel(&adev->pm.smu_prv_buffer, NULL, NULL);
diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c 
b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
index 3a92eac86f4b..2f15a17a7500 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
@@ -2042,9 +2042,9 @@ static int smu_hw_fini(void *handle)
        return 0;
 }
 
-static void smu_late_fini(void *handle)
+static void smu_late_fini(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = handle;
+       struct amdgpu_device *adev = ip_block->adev;
        struct smu_context *smu = adev->powerplay.pp_handle;
 
        kfree(smu);
-- 
2.34.1

Reply via email to