drm/amdgpu: update the handle ptr in late_fini
authorSunil Khatri <sunil.khatri@amd.com>
Mon, 30 Sep 2024 08:35:49 +0000 (14:05 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 1 Oct 2024 21:43:33 +0000 (17:43 -0400)
Update the *handle to amdgpu_ip_block ptr for all
functions pointers of late_fini.

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>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
drivers/gpu/drm/amd/include/amd_shared.h
drivers/gpu/drm/amd/pm/powerplay/amd_powerplay.c
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c

index d0d0734..fb83708 100644 (file)
@@ -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;
        }
 
index 980a6a7..615f880 100644 (file)
@@ -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);
index 194cf4f..5c109be 100644 (file)
@@ -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);
index 551b9b1..b32e433 100644 (file)
@@ -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);