drm/amdgpu: update the handle ptr in early_fini
authorSunil Khatri <sunil.khatri@amd.com>
Thu, 26 Sep 2024 15:31:55 +0000 (21:01 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 1 Oct 2024 21:40:49 +0000 (17:40 -0400)
Update the *handle to amdgpu_ip_block ptr for all
functions pointers of early_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/display/amdgpu_dm/amdgpu_dm.c
drivers/gpu/drm/amd/include/amd_shared.h

index 14bffa0..d0d0734 100644 (file)
@@ -3305,7 +3305,7 @@ static int amdgpu_device_ip_fini_early(struct amdgpu_device *adev)
                if (!adev->ip_blocks[i].version->funcs->early_fini)
                        continue;
 
-               r = adev->ip_blocks[i].version->funcs->early_fini((void *)adev);
+               r = adev->ip_blocks[i].version->funcs->early_fini(&adev->ip_blocks[i]);
                if (r) {
                        DRM_DEBUG("early_fini of IP block <%s> failed %d\n",
                                  adev->ip_blocks[i].version->funcs->name, r);
index 9a17126..e222062 100644 (file)
@@ -2115,9 +2115,9 @@ error:
        return -EINVAL;
 }
 
-static int amdgpu_dm_early_fini(void *handle)
+static int amdgpu_dm_early_fini(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        amdgpu_dm_audio_fini(adev);
 
index 4a10a80..980a6a7 100644 (file)
@@ -383,7 +383,7 @@ struct amd_ip_funcs {
        int (*late_init)(struct amdgpu_ip_block *ip_block);
        int (*sw_init)(struct amdgpu_ip_block *ip_block);
        int (*sw_fini)(struct amdgpu_ip_block *ip_block);
-       int (*early_fini)(void *handle);
+       int (*early_fini)(struct amdgpu_ip_block *ip_block);
        int (*hw_init)(void *handle);
        int (*hw_fini)(void *handle);
        void (*late_fini)(void *handle);