drm/amdgpu: update the handle ptr in resume
authorSunil Khatri <sunil.khatri@amd.com>
Mon, 30 Sep 2024 12:12:01 +0000 (17:42 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 7 Oct 2024 18:02:50 +0000 (14:02 -0400)
Update the *handle to amdgpu_ip_block ptr for all
functions pointers of resume.

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>
88 files changed:
drivers/gpu/drm/amd/amdgpu/aldebaran.c
drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
drivers/gpu/drm/amd/amdgpu/amdgpu_isp.c
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c
drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c
drivers/gpu/drm/amd/amdgpu/cik.c
drivers/gpu/drm/amd/amdgpu/cik_ih.c
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
drivers/gpu/drm/amd/amdgpu/cz_ih.c
drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c
drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
drivers/gpu/drm/amd/amdgpu/iceland_ih.c
drivers/gpu/drm/amd/amdgpu/ih_v6_0.c
drivers/gpu/drm/amd/amdgpu/ih_v6_1.c
drivers/gpu/drm/amd/amdgpu/ih_v7_0.c
drivers/gpu/drm/amd/amdgpu/jpeg_v2_0.c
drivers/gpu/drm/amd/amdgpu/jpeg_v2_5.c
drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c
drivers/gpu/drm/amd/amdgpu/jpeg_v4_0.c
drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c
drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_5.c
drivers/gpu/drm/amd/amdgpu/jpeg_v5_0_0.c
drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
drivers/gpu/drm/amd/amdgpu/mes_v12_0.c
drivers/gpu/drm/amd/amdgpu/navi10_ih.c
drivers/gpu/drm/amd/amdgpu/nv.c
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
drivers/gpu/drm/amd/amdgpu/si.c
drivers/gpu/drm/amd/amdgpu/si_dma.c
drivers/gpu/drm/amd/amdgpu/si_ih.c
drivers/gpu/drm/amd/amdgpu/sienna_cichlid.c
drivers/gpu/drm/amd/amdgpu/smu_v13_0_10.c
drivers/gpu/drm/amd/amdgpu/soc15.c
drivers/gpu/drm/amd/amdgpu/soc21.c
drivers/gpu/drm/amd/amdgpu/soc24.c
drivers/gpu/drm/amd/amdgpu/tonga_ih.c
drivers/gpu/drm/amd/amdgpu/uvd_v3_1.c
drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c
drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c
drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c
drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c
drivers/gpu/drm/amd/amdgpu/vce_v2_0.c
drivers/gpu/drm/amd/amdgpu/vce_v3_0.c
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c
drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c
drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c
drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c
drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c
drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c
drivers/gpu/drm/amd/amdgpu/vega10_ih.c
drivers/gpu/drm/amd/amdgpu/vega20_ih.c
drivers/gpu/drm/amd/amdgpu/vi.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
drivers/gpu/drm/amd/include/amd_shared.h
drivers/gpu/drm/amd/pm/legacy-dpm/kv_dpm.c
drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c
drivers/gpu/drm/amd/pm/powerplay/amd_powerplay.c
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c

index 5bcf45109cb4cbb428a99a747c104162764dc5fc..c1ff24335a0c5cf930bf07fa6d7a922f2affa19a 100644 (file)
@@ -246,7 +246,7 @@ static int aldebaran_mode2_restore_ip(struct amdgpu_device *adev)
                dev_err(adev->dev, "Failed to get BIF handle\n");
                return -EINVAL;
        }
-       r = cmn_block->version->funcs->resume(adev);
+       r = cmn_block->version->funcs->resume(cmn_block);
        if (r)
                return r;
 
@@ -282,7 +282,7 @@ static int aldebaran_mode2_restore_ip(struct amdgpu_device *adev)
                      adev->ip_blocks[i].version->type ==
                              AMD_IP_BLOCK_TYPE_SDMA))
                        continue;
-               r = adev->ip_blocks[i].version->funcs->resume(adev);
+               r = adev->ip_blocks[i].version->funcs->resume(&adev->ip_blocks[i]);
                if (r) {
                        dev_err(adev->dev,
                                "resume of IP block <%s> failed %d\n",
index 1d3948e56a8886e581b4d75aaf154e66c8a06d93..50eed2b4652048062651bdb3ec27d2b91f043f2a 100644 (file)
@@ -575,9 +575,9 @@ static int acp_suspend(struct amdgpu_ip_block *ip_block)
        return 0;
 }
 
-static int acp_resume(void *handle)
+static int acp_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        /* power down again on resume */
        if (!adev->acp.acp_cell)
index 5348832ffc95c9667c07207055b3d0974fb60b9b..7edaad5f3f1ceae18855b96a3e8822224e24953b 100644 (file)
@@ -2744,7 +2744,7 @@ static int amdgpu_device_fw_loading(struct amdgpu_device *adev)
                                break;
 
                        if (amdgpu_in_reset(adev) || adev->in_suspend) {
-                               r = adev->ip_blocks[i].version->funcs->resume(adev);
+                               r = adev->ip_blocks[i].version->funcs->resume(&adev->ip_blocks[i]);
                                if (r) {
                                        DRM_ERROR("resume of IP block <%s> failed %d\n",
                                                          adev->ip_blocks[i].version->funcs->name, r);
@@ -3666,7 +3666,7 @@ static int amdgpu_device_ip_reinit_late_sriov(struct amdgpu_device *adev)
                                continue;
 
                        if (block->version->type == AMD_IP_BLOCK_TYPE_SMC)
-                               r = block->version->funcs->resume(adev);
+                               r = block->version->funcs->resume(&adev->ip_blocks[i]);
                        else
                                r = block->version->funcs->hw_init(adev);
 
@@ -3704,7 +3704,7 @@ static int amdgpu_device_ip_resume_phase1(struct amdgpu_device *adev)
                    adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_IH ||
                    (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP && amdgpu_sriov_vf(adev))) {
 
-                       r = adev->ip_blocks[i].version->funcs->resume(adev);
+                       r = adev->ip_blocks[i].version->funcs->resume(&adev->ip_blocks[i]);
                        if (r) {
                                DRM_ERROR("resume of IP block <%s> failed %d\n",
                                          adev->ip_blocks[i].version->funcs->name, r);
@@ -3742,7 +3742,7 @@ static int amdgpu_device_ip_resume_phase2(struct amdgpu_device *adev)
                    adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_IH ||
                    adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP)
                        continue;
-               r = adev->ip_blocks[i].version->funcs->resume(adev);
+               r = adev->ip_blocks[i].version->funcs->resume(&adev->ip_blocks[i]);
                if (r) {
                        DRM_ERROR("resume of IP block <%s> failed %d\n",
                                  adev->ip_blocks[i].version->funcs->name, r);
index 46d6136b70d90c1108180572b21bd1e3b4eb9ebd..64e7fe9186ee2d7f0a546451950bd609bd151f2c 100644 (file)
@@ -88,7 +88,7 @@ static int isp_suspend(struct amdgpu_ip_block *ip_block)
        return 0;
 }
 
-static int isp_resume(void *handle)
+static int isp_resume(struct amdgpu_ip_block *ip_block)
 {
        return 0;
 }
index eb6ae3cd53478d6d8216c5fd5bd79ea7a4d08268..c961644737f0b1375420033ab0ac1fe7ba825b6b 100644 (file)
@@ -3089,10 +3089,10 @@ out:
        return ret;
 }
 
-static int psp_resume(void *handle)
+static int psp_resume(struct amdgpu_ip_block *ip_block)
 {
        int ret;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
        struct psp_context *psp = &adev->psp;
 
        dev_info(adev->dev, "PSP is resuming...\n");
index 99cb0643fae956725916082e133d4355c13b7bb5..0e77f14232ce62547ec828387b411bc6d571ba32 100644 (file)
@@ -880,9 +880,9 @@ static int umsch_mm_suspend(struct amdgpu_ip_block *ip_block)
        return umsch_mm_hw_fini(adev);
 }
 
-static int umsch_mm_resume(void *handle)
+static int umsch_mm_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return umsch_mm_hw_init(adev);
 }
index e27c5d2b429063b8225006343ed6b601f847087e..d876b407249d47c7bfc3b51bac342cf0b71b0d0b 100644 (file)
@@ -616,12 +616,12 @@ static int amdgpu_vkms_suspend(struct amdgpu_ip_block *ip_block)
        return amdgpu_vkms_hw_fini(adev);
 }
 
-static int amdgpu_vkms_resume(void *handle)
+static int amdgpu_vkms_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
        int r;
 
-       r = amdgpu_vkms_hw_init(handle);
+       r = amdgpu_vkms_hw_init(adev);
        if (r)
                return r;
        return drm_mode_config_helper_resume(adev_to_drm(adev));
index fd784b80c5742ff2e6cd9a3c5790b6b2d815f303..d9ace55dd5204c4964205334f1496509f4ea521a 100644 (file)
@@ -443,9 +443,9 @@ static int vpe_suspend(struct amdgpu_ip_block *ip_block)
        return vpe_hw_fini(adev);
 }
 
-static int vpe_resume(void *handle)
+static int vpe_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return vpe_hw_init(adev);
 }
index 05a9530eb40e07114f7192eb5514ed0692f424ec..afe2d4c5d22a63dd93b3cc0d74106c0b8d63f1c5 100644 (file)
@@ -2160,9 +2160,9 @@ static int cik_common_suspend(struct amdgpu_ip_block *ip_block)
        return cik_common_hw_fini(adev);
 }
 
-static int cik_common_resume(void *handle)
+static int cik_common_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return cik_common_hw_init(adev);
 }
index 47d72f6bfffd79365f95e074c0462bf133a2b676..3507442fe4d89cbeae70fcbc0cfda79758c4c989 100644 (file)
@@ -344,9 +344,9 @@ static int cik_ih_suspend(struct amdgpu_ip_block *ip_block)
        return cik_ih_hw_fini(adev);
 }
 
-static int cik_ih_resume(void *handle)
+static int cik_ih_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return cik_ih_hw_init(adev);
 }
index d9b222be356c0e825d180b10f73015ec8340e7ec..a37d2d00b83b2f0052b6a05db64219b8191f6737 100644 (file)
@@ -1018,11 +1018,11 @@ static int cik_sdma_suspend(struct amdgpu_ip_block *ip_block)
        return cik_sdma_hw_fini(adev);
 }
 
-static int cik_sdma_resume(void *handle)
+static int cik_sdma_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
-       cik_sdma_soft_reset(handle);
+       cik_sdma_soft_reset(ip_block);
 
        return cik_sdma_hw_init(adev);
 }
index 198dcbcb1845907dc53123fa74841c90c7eb9de8..4ae8156fe691882d5091c243517e6d1bd7a2a9f6 100644 (file)
@@ -340,9 +340,9 @@ static int cz_ih_suspend(struct amdgpu_ip_block *ip_block)
        return cz_ih_hw_fini(adev);
 }
 
-static int cz_ih_resume(void *handle)
+static int cz_ih_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return cz_ih_hw_init(adev);
 }
index cf30a14b0d14bc43da2c868eee9cf02966b8234f..c630c877cb9ef477372eaefac1da6b98e540ff7d 100644 (file)
@@ -2920,15 +2920,15 @@ static int dce_v10_0_suspend(struct amdgpu_ip_block *ip_block)
        return dce_v10_0_hw_fini(adev);
 }
 
-static int dce_v10_0_resume(void *handle)
+static int dce_v10_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
        int ret;
 
        amdgpu_atombios_encoder_set_backlight_level_to_reg(adev,
                                                           adev->mode_info.bl_level);
 
-       ret = dce_v10_0_hw_init(handle);
+       ret = dce_v10_0_hw_init(adev);
 
        /* turn on the BL */
        if (adev->mode_info.bl_encoder) {
index fc4de8ce948989e46b26a5c5cac3e514f23bdb3d..a8867fc701b8b02e42f51196c2bbff2cbb6ec048 100644 (file)
@@ -3058,15 +3058,15 @@ static int dce_v11_0_suspend(struct amdgpu_ip_block *ip_block)
        return dce_v11_0_hw_fini(adev);
 }
 
-static int dce_v11_0_resume(void *handle)
+static int dce_v11_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
        int ret;
 
        amdgpu_atombios_encoder_set_backlight_level_to_reg(adev,
                                                           adev->mode_info.bl_level);
 
-       ret = dce_v11_0_hw_init(handle);
+       ret = dce_v11_0_hw_init(adev);
 
        /* turn on the BL */
        if (adev->mode_info.bl_encoder) {
index 767c7070cca3580929c69b99f6f8a55b776e2d3f..9b2bb2185305e9b6cb73ca172ca3b788114f972d 100644 (file)
@@ -2815,15 +2815,15 @@ static int dce_v6_0_suspend(struct amdgpu_ip_block *ip_block)
        return dce_v6_0_hw_fini(adev);
 }
 
-static int dce_v6_0_resume(void *handle)
+static int dce_v6_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
        int ret;
 
        amdgpu_atombios_encoder_set_backlight_level_to_reg(adev,
                                                           adev->mode_info.bl_level);
 
-       ret = dce_v6_0_hw_init(handle);
+       ret = dce_v6_0_hw_init(adev);
 
        /* turn on the BL */
        if (adev->mode_info.bl_encoder) {
index 9033e27f576882878d4c9dbb06b5d3a3f92ee2c7..d834d7b17a0dc8c1b8f55b2074ad2069836a771f 100644 (file)
@@ -2838,15 +2838,15 @@ static int dce_v8_0_suspend(struct amdgpu_ip_block *ip_block)
        return dce_v8_0_hw_fini(adev);
 }
 
-static int dce_v8_0_resume(void *handle)
+static int dce_v8_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
        int ret;
 
        amdgpu_atombios_encoder_set_backlight_level_to_reg(adev,
                                                           adev->mode_info.bl_level);
 
-       ret = dce_v8_0_hw_init(handle);
+       ret = dce_v8_0_hw_init(adev);
 
        /* turn on the BL */
        if (adev->mode_info.bl_encoder) {
index 044d8460f725aafcaa3373fcb15ff36d58242815..c7a5ae5be35bbe914ab3197cc3c81a376593a78c 100644 (file)
@@ -7463,9 +7463,9 @@ static int gfx_v10_0_suspend(struct amdgpu_ip_block *ip_block)
        return gfx_v10_0_hw_fini(adev);
 }
 
-static int gfx_v10_0_resume(void *handle)
+static int gfx_v10_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       return gfx_v10_0_hw_init(handle);
+       return gfx_v10_0_hw_init(ip_block->adev);
 }
 
 static bool gfx_v10_0_is_idle(void *handle)
index 9532bcd75f158acbeb7a080b329b091b98943e69..6d068154c13362174ca88c19cf10ffa6af9d7136 100644 (file)
@@ -4712,9 +4712,9 @@ static int gfx_v11_0_suspend(struct amdgpu_ip_block *ip_block)
        return gfx_v11_0_hw_fini(adev);
 }
 
-static int gfx_v11_0_resume(void *handle)
+static int gfx_v11_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       return gfx_v11_0_hw_init(handle);
+       return gfx_v11_0_hw_init(ip_block->adev);
 }
 
 static bool gfx_v11_0_is_idle(void *handle)
index 9f1f6f390f029d390425cc68fa4250ed26f7408d..0bae09bec1bcc4b7021e83b60ed26c983e02fe24 100644 (file)
@@ -3650,9 +3650,9 @@ static int gfx_v12_0_suspend(struct amdgpu_ip_block *ip_block)
        return gfx_v12_0_hw_fini(adev);
 }
 
-static int gfx_v12_0_resume(void *handle)
+static int gfx_v12_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       return gfx_v12_0_hw_init(handle);
+       return gfx_v12_0_hw_init(ip_block->adev);
 }
 
 static bool gfx_v12_0_is_idle(void *handle)
index 8f2e79f7016f8b3d8652dd72cb690ee1c4d1dcd6..57ddc0051648d23ea26e7d5cabd8ec475ccd2f12 100644 (file)
@@ -3160,9 +3160,9 @@ static int gfx_v6_0_suspend(struct amdgpu_ip_block *ip_block)
        return gfx_v6_0_hw_fini(adev);
 }
 
-static int gfx_v6_0_resume(void *handle)
+static int gfx_v6_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return gfx_v6_0_hw_init(adev);
 }
index f2b294b1bcbe4612b57cb0df2339c71ef7281a45..09a0dcd59dd14ba4241c577c74232aa2f08564d5 100644 (file)
@@ -4506,9 +4506,9 @@ static int gfx_v7_0_suspend(struct amdgpu_ip_block *ip_block)
        return gfx_v7_0_hw_fini(adev);
 }
 
-static int gfx_v7_0_resume(void *handle)
+static int gfx_v7_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return gfx_v7_0_hw_init(adev);
 }
index fe4fd1532beaf5f5a086cbfa2bc795013c5689fa..6602d7ddd16c6c1b25dc63972a823edf5969d023 100644 (file)
@@ -4924,9 +4924,9 @@ static int gfx_v8_0_suspend(struct amdgpu_ip_block *ip_block)
        return gfx_v8_0_hw_fini(adev);
 }
 
-static int gfx_v8_0_resume(void *handle)
+static int gfx_v8_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       return gfx_v8_0_hw_init(handle);
+       return gfx_v8_0_hw_init(ip_block->adev);
 }
 
 static bool gfx_v8_0_check_soft_reset(struct amdgpu_ip_block *ip_block)
index 6c7cf7e7853cfda6a936740d0fc1f6d1bcea388a..4e677753765c34213e3190a8afe9afe801cf90a8 100644 (file)
@@ -4081,9 +4081,9 @@ static int gfx_v9_0_suspend(struct amdgpu_ip_block *ip_block)
        return gfx_v9_0_hw_fini(adev);
 }
 
-static int gfx_v9_0_resume(void *handle)
+static int gfx_v9_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       return gfx_v9_0_hw_init(handle);
+       return gfx_v9_0_hw_init(ip_block->adev);
 }
 
 static bool gfx_v9_0_is_idle(void *handle)
index 4b86c0a42e7f146d69ab4d16cbe27a2e5cc8c80c..ac53c6a1b8496abba83ca8e2dbf51930a9ea3006 100644 (file)
@@ -2393,9 +2393,9 @@ static int gfx_v9_4_3_suspend(struct amdgpu_ip_block *ip_block)
        return gfx_v9_4_3_hw_fini(adev);
 }
 
-static int gfx_v9_4_3_resume(void *handle)
+static int gfx_v9_4_3_resume(struct amdgpu_ip_block *ip_block)
 {
-       return gfx_v9_4_3_hw_init(handle);
+       return gfx_v9_4_3_hw_init(ip_block->adev);
 }
 
 static bool gfx_v9_4_3_is_idle(void *handle)
index f19b3f055a1fb07b591c4ad64ea4f14f79917830..c8fe545bf10e0312636841351586240756323148 100644 (file)
@@ -1062,10 +1062,10 @@ static int gmc_v10_0_suspend(struct amdgpu_ip_block *ip_block)
        return 0;
 }
 
-static int gmc_v10_0_resume(void *handle)
+static int gmc_v10_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = gmc_v10_0_hw_init(adev);
        if (r)
index dab32d161b06a072b06ec61a845cec7423fdd5aa..68d3be40a6cbc67e2248b0c308e8f83fec0189c7 100644 (file)
@@ -970,10 +970,10 @@ static int gmc_v11_0_suspend(struct amdgpu_ip_block *ip_block)
        return 0;
 }
 
-static int gmc_v11_0_resume(void *handle)
+static int gmc_v11_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = gmc_v11_0_hw_init(adev);
        if (r)
index 05f6b4c7ef2cd39e31f1e8d9843a467a37443237..ce56f6c35932fbcda952fcf894a19b9f255b4496 100644 (file)
@@ -954,10 +954,10 @@ static int gmc_v12_0_suspend(struct amdgpu_ip_block *ip_block)
        return 0;
 }
 
-static int gmc_v12_0_resume(void *handle)
+static int gmc_v12_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = gmc_v12_0_hw_init(adev);
        if (r)
index c3113785ed02b5f4fef92d55c2df3e1302d89b4d..c743e004317ea9b4ea6ad1a229937bad34bee903 100644 (file)
@@ -944,10 +944,10 @@ static int gmc_v6_0_suspend(struct amdgpu_ip_block *ip_block)
        return 0;
 }
 
-static int gmc_v6_0_resume(void *handle)
+static int gmc_v6_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = gmc_v6_0_hw_init(adev);
        if (r)
index 5f725ff8dc71bfa58a01f46aba4a1dcbdf7556af..3e75804edc7e0e6bdacfd6a29c82db42932b1a75 100644 (file)
@@ -1120,10 +1120,10 @@ static int gmc_v7_0_suspend(struct amdgpu_ip_block *ip_block)
        return 0;
 }
 
-static int gmc_v7_0_resume(void *handle)
+static int gmc_v7_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = gmc_v7_0_hw_init(adev);
        if (r)
index d34cec858d13e376458496a2db8adbc5a53b779c..787c2a485ea8c82ecd5ed02dd95c1cd6c449b60b 100644 (file)
@@ -1251,10 +1251,10 @@ static int gmc_v8_0_suspend(struct amdgpu_ip_block *ip_block)
        return 0;
 }
 
-static int gmc_v8_0_resume(void *handle)
+static int gmc_v8_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = gmc_v8_0_hw_init(adev);
        if (r)
index 198101ee35cae7c567b77e796647cce74ce3bf6d..145db9472ed9128841156d74bc6f18689aa537f0 100644 (file)
@@ -2435,10 +2435,10 @@ static int gmc_v9_0_suspend(struct amdgpu_ip_block *ip_block)
        return gmc_v9_0_hw_fini(adev);
 }
 
-static int gmc_v9_0_resume(void *handle)
+static int gmc_v9_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = gmc_v9_0_hw_init(adev);
        if (r)
index ed2939296311d6ef8c694aabf6a06f8cfaa6cff4..bd6a1dc39a565d908c8bf32ea12b2f3de9e4432d 100644 (file)
@@ -334,9 +334,9 @@ static int iceland_ih_suspend(struct amdgpu_ip_block *ip_block)
        return iceland_ih_hw_fini(adev);
 }
 
-static int iceland_ih_resume(void *handle)
+static int iceland_ih_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return iceland_ih_hw_init(adev);
 }
index 41bc748f7d161d80efe72eafb763da4a802c3080..73c04e7acd30b2e269cd808ae013614e0a299ed2 100644 (file)
@@ -651,9 +651,9 @@ static int ih_v6_0_suspend(struct amdgpu_ip_block *ip_block)
        return ih_v6_0_hw_fini(adev);
 }
 
-static int ih_v6_0_resume(void *handle)
+static int ih_v6_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return ih_v6_0_hw_init(adev);
 }
index e6c69608b7b875c0dddcad64e93d1132ef680d5b..7938852602185bf2e57e9afe9e3517bc7eae2804 100644 (file)
@@ -630,9 +630,9 @@ static int ih_v6_1_suspend(struct amdgpu_ip_block *ip_block)
        return ih_v6_1_hw_fini(adev);
 }
 
-static int ih_v6_1_resume(void *handle)
+static int ih_v6_1_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return ih_v6_1_hw_init(adev);
 }
index 73201d251c2367f8455fbafa4622a1f2db621596..20944345b48fa3e05e4477d165288dad800b961c 100644 (file)
@@ -620,9 +620,9 @@ static int ih_v7_0_suspend(struct amdgpu_ip_block *ip_block)
        return ih_v7_0_hw_fini(adev);
 }
 
-static int ih_v7_0_resume(void *handle)
+static int ih_v7_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return ih_v7_0_hw_init(adev);
 }
index a334357b51c3bd0dbee2fc86790b5a51542b8953..46fdde0f5c1bfa6d46f578799e17a12f5e5ebb82 100644 (file)
@@ -187,10 +187,10 @@ static int jpeg_v2_0_suspend(struct amdgpu_ip_block *ip_block)
  *
  * Resume firmware and hw init JPEG block
  */
-static int jpeg_v2_0_resume(void *handle)
+static int jpeg_v2_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = amdgpu_jpeg_resume(adev);
        if (r)
index b0d19a2f0f892271e0c497d7f873b52f382e04d7..4ff6ee91ec5b320f59bae40b9288146078f2aca4 100644 (file)
@@ -256,9 +256,9 @@ static int jpeg_v2_5_suspend(struct amdgpu_ip_block *ip_block)
  *
  * Resume firmware and hw init JPEG block
  */
-static int jpeg_v2_5_resume(void *handle)
+static int jpeg_v2_5_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
        int r;
 
        r = amdgpu_jpeg_resume(adev);
index f6f5924f4527640de127189b357114e703c8c7cf..173db8d4c0885dba8279b150b15152737a04b20a 100644 (file)
@@ -201,9 +201,9 @@ static int jpeg_v3_0_suspend(struct amdgpu_ip_block *ip_block)
  *
  * Resume firmware and hw init JPEG block
  */
-static int jpeg_v3_0_resume(void *handle)
+static int jpeg_v3_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
        int r;
 
        r = amdgpu_jpeg_resume(adev);
index bb6fb11383e0f3d0bcb1fdf9df35e16b1ac65e80..02142b4576fb2109f8a422f314a0a79009e0aca1 100644 (file)
@@ -235,9 +235,9 @@ static int jpeg_v4_0_suspend(struct amdgpu_ip_block *ip_block)
  *
  * Resume firmware and hw init JPEG block
  */
-static int jpeg_v4_0_resume(void *handle)
+static int jpeg_v4_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
        int r;
 
        r = amdgpu_jpeg_resume(adev);
index a219acadc1a982d7ecf1f24d3ae5e63d5caaefe4..637b47ae3f45722ecca76ac97467f783ba8f7de1 100644 (file)
@@ -405,9 +405,9 @@ static int jpeg_v4_0_3_suspend(struct amdgpu_ip_block *ip_block)
  *
  * Resume firmware and hw init JPEG block
  */
-static int jpeg_v4_0_3_resume(void *handle)
+static int jpeg_v4_0_3_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
        int r;
 
        r = amdgpu_jpeg_resume(adev);
index de3c4238f59651c82dff2c17f56d91e5b6043cd4..929fdaa72bdc64fc0e822b52cf8206b35d67e473 100644 (file)
@@ -262,9 +262,9 @@ static int jpeg_v4_0_5_suspend(struct amdgpu_ip_block *ip_block)
  *
  * Resume firmware and hw init JPEG block
  */
-static int jpeg_v4_0_5_resume(void *handle)
+static int jpeg_v4_0_5_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
        int r;
 
        r = amdgpu_jpeg_resume(adev);
index 638c1ec3e1c156bd22440703cd026d89cbbf9021..6740a704b11c2158a1f31365e7f53be347b46093 100644 (file)
@@ -198,9 +198,9 @@ static int jpeg_v5_0_0_suspend(struct amdgpu_ip_block *ip_block)
  *
  * Resume firmware and hw init JPEG block
  */
-static int jpeg_v5_0_0_resume(void *handle)
+static int jpeg_v5_0_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
        int r;
 
        r = amdgpu_jpeg_resume(adev);
index a047b76cd5a164152606b2a5e9951fe248439be6..fc5498b2c4fc43f8650c964992d9029738c10afb 100644 (file)
@@ -1641,10 +1641,10 @@ static int mes_v11_0_suspend(struct amdgpu_ip_block *ip_block)
        return mes_v11_0_hw_fini(adev);
 }
 
-static int mes_v11_0_resume(void *handle)
+static int mes_v11_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = mes_v11_0_hw_init(adev);
        if (r)
index 0902f7cce29a0057a2d7561827182034469daa2f..5b928315dab96ef52e48e01a9f8771369bfbddc2 100644 (file)
@@ -1605,10 +1605,10 @@ static int mes_v12_0_suspend(struct amdgpu_ip_block *ip_block)
        return mes_v12_0_hw_fini(adev);
 }
 
-static int mes_v12_0_resume(void *handle)
+static int mes_v12_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = mes_v12_0_hw_init(adev);
        if (r)
index fafe416d95f22716660eb067b9daa0d0c67b11cd..7d919e65c0768895ae40fe7e8e0c0d87e9882481 100644 (file)
@@ -625,9 +625,9 @@ static int navi10_ih_suspend(struct amdgpu_ip_block *ip_block)
        return navi10_ih_hw_fini(adev);
 }
 
-static int navi10_ih_resume(void *handle)
+static int navi10_ih_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return navi10_ih_hw_init(adev);
 }
index b6d373b167dc709b0463695252bfc19d047c4a43..a8f5a951486d2caa1e19d79114906b2a6c4dbea3 100644 (file)
@@ -1036,9 +1036,9 @@ static int nv_common_suspend(struct amdgpu_ip_block *ip_block)
        return nv_common_hw_fini(adev);
 }
 
-static int nv_common_resume(void *handle)
+static int nv_common_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return nv_common_hw_init(adev);
 }
index 4d878c05775d749d2c7e330b6786751e281af5f7..e3aa09ab3eac3f9bb178e9e7a7fddc0c5695d8b0 100644 (file)
@@ -908,9 +908,9 @@ static int sdma_v2_4_suspend(struct amdgpu_ip_block *ip_block)
        return sdma_v2_4_hw_fini(adev);
 }
 
-static int sdma_v2_4_resume(void *handle)
+static int sdma_v2_4_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return sdma_v2_4_hw_init(adev);
 }
index c31334e8bac5fb90d63d0eef876f016f2be88552..232fb36854e8aee2b54ecd1313e6a0bca781088a 100644 (file)
@@ -1195,9 +1195,9 @@ static int sdma_v3_0_suspend(struct amdgpu_ip_block *ip_block)
        return sdma_v3_0_hw_fini(adev);
 }
 
-static int sdma_v3_0_resume(void *handle)
+static int sdma_v3_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return sdma_v3_0_hw_init(adev);
 }
index 1571444a6cfa9a404e5e3d51d828197c4e9a2a30..de6ff564366571addae7e851a36220ab6cf284d1 100644 (file)
@@ -2001,9 +2001,9 @@ static int sdma_v4_0_suspend(struct amdgpu_ip_block *ip_block)
        return sdma_v4_0_hw_fini(adev);
 }
 
-static int sdma_v4_0_resume(void *handle)
+static int sdma_v4_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        /* SMU restores SDMA state for us */
        if (adev->in_s0ix) {
index 91eed9066e3924f610a2b1d982f0de8e0be3e81a..551b4bb976b0c418d050b78663e7a0fda4bf06ab 100644 (file)
@@ -1518,9 +1518,9 @@ static int sdma_v4_4_2_suspend(struct amdgpu_ip_block *ip_block)
        return sdma_v4_4_2_hw_fini(adev);
 }
 
-static int sdma_v4_4_2_resume(void *handle)
+static int sdma_v4_4_2_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return sdma_v4_4_2_hw_init(adev);
 }
index 65a5c242946686069d53496bd37698b7de8450dd..b93745202c60409cdef84935154e79f2d8de9949 100644 (file)
@@ -1509,9 +1509,9 @@ static int sdma_v5_0_suspend(struct amdgpu_ip_block *ip_block)
        return sdma_v5_0_hw_fini(adev);
 }
 
-static int sdma_v5_0_resume(void *handle)
+static int sdma_v5_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return sdma_v5_0_hw_init(adev);
 }
index e29bff31632d972c9293b1015df325b2d37451bc..25f58e6476794e54e6fa688b4fce23f6f4302d15 100644 (file)
@@ -1409,9 +1409,9 @@ static int sdma_v5_2_suspend(struct amdgpu_ip_block *ip_block)
        return sdma_v5_2_hw_fini(adev);
 }
 
-static int sdma_v5_2_resume(void *handle)
+static int sdma_v5_2_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return sdma_v5_2_hw_init(adev);
 }
index a378d35a11b4beed3b2f75c68d19f94f4430ee29..9884deaadc94b3dc2d1cb1a57fd4f20a22d75399 100644 (file)
@@ -1407,9 +1407,9 @@ static int sdma_v6_0_suspend(struct amdgpu_ip_block *ip_block)
        return sdma_v6_0_hw_fini(adev);
 }
 
-static int sdma_v6_0_resume(void *handle)
+static int sdma_v6_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return sdma_v6_0_hw_init(adev);
 }
index d74b66a9d8581daa759b5c291362310ec3045684..57b7b166aad68dea182c81d2c619939878e04c47 100644 (file)
@@ -1365,9 +1365,9 @@ static int sdma_v7_0_suspend(struct amdgpu_ip_block *ip_block)
        return sdma_v7_0_hw_fini(adev);
 }
 
-static int sdma_v7_0_resume(void *handle)
+static int sdma_v7_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return sdma_v7_0_hw_init(adev);
 }
index b251a93baffebee5a3ecd204e971e2b91f72cd71..0fc30384349374e26bb2ee767e6f7a1733894364 100644 (file)
@@ -2657,9 +2657,9 @@ static int si_common_suspend(struct amdgpu_ip_block *ip_block)
        return si_common_hw_fini(adev);
 }
 
-static int si_common_resume(void *handle)
+static int si_common_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return si_common_hw_init(adev);
 }
index 12a6c713559a306b1773ff7313d3db8c220a1422..77722ea6fc219b1062e2015a941f2f90c5f96fb1 100644 (file)
@@ -540,9 +540,9 @@ static int si_dma_suspend(struct amdgpu_ip_block *ip_block)
        return si_dma_hw_fini(adev);
 }
 
-static int si_dma_resume(void *handle)
+static int si_dma_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return si_dma_hw_init(adev);
 }
index 569e552ea4e6a92ae7b6799dd87ea47fbd88b71c..7976702f500e284a9e5712ddd6335f6778296575 100644 (file)
@@ -209,9 +209,9 @@ static int si_ih_suspend(struct amdgpu_ip_block *ip_block)
        return si_ih_hw_fini(adev);
 }
 
-static int si_ih_resume(void *handle)
+static int si_ih_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return si_ih_hw_init(adev);
 }
index 37f63779174d8c31f5b61672309b7de86e27d5ca..475b7df3a908927845710aefc91f231b584ba39d 100644 (file)
@@ -175,7 +175,7 @@ static int sienna_cichlid_mode2_restore_ip(struct amdgpu_device *adev)
 
        for (i = 0; i < adev->num_ip_blocks; i++) {
                if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_IH) {
-                       r = adev->ip_blocks[i].version->funcs->resume(adev);
+                       r = adev->ip_blocks[i].version->funcs->resume(&adev->ip_blocks[i]);
                        if (r) {
                                dev_err(adev->dev,
                                        "resume of IP block <%s> failed %d\n",
@@ -193,7 +193,7 @@ static int sienna_cichlid_mode2_restore_ip(struct amdgpu_device *adev)
                      adev->ip_blocks[i].version->type ==
                              AMD_IP_BLOCK_TYPE_SDMA))
                        continue;
-               r = adev->ip_blocks[i].version->funcs->resume(adev);
+               r = adev->ip_blocks[i].version->funcs->resume(&adev->ip_blocks[i]);
                if (r) {
                        dev_err(adev->dev,
                                "resume of IP block <%s> failed %d\n",
index 3008d806ad5a86e3adfe21c26d9f9be6c365123e..5ea9090b5040aabbe546a2fd8cee023df847f5d4 100644 (file)
@@ -186,7 +186,7 @@ static int smu_v13_0_10_mode2_restore_ip(struct amdgpu_device *adev)
                      adev->ip_blocks[i].version->type ==
                              AMD_IP_BLOCK_TYPE_SDMA))
                        continue;
-               r = adev->ip_blocks[i].version->funcs->resume(adev);
+               r = adev->ip_blocks[i].version->funcs->resume(&adev->ip_blocks[i]);
                if (r) {
                        dev_err(adev->dev,
                                "resume of IP block <%s> failed %d\n",
index c0be766110aac88a487a5d1e1c605ad08e7dc390..b17f70b85e7769c0da3a09aa517e3cd80e882bd5 100644 (file)
@@ -1325,9 +1325,9 @@ static int soc15_common_suspend(struct amdgpu_ip_block *ip_block)
        return soc15_common_hw_fini(adev);
 }
 
-static int soc15_common_resume(void *handle)
+static int soc15_common_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        if (soc15_need_reset_on_resume(adev)) {
                dev_info(adev->dev, "S3 suspend abort case, let's reset ASIC.\n");
index d267d975df284fe5b507616ad5066210a8e6fe3a..269857b7e7c84544df5f1e755c2ffc3092b759d0 100644 (file)
@@ -917,9 +917,9 @@ static bool soc21_need_reset_on_resume(struct amdgpu_device *adev)
        return false;
 }
 
-static int soc21_common_resume(void *handle)
+static int soc21_common_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        if (soc21_need_reset_on_resume(adev)) {
                dev_info(adev->dev, "S3 suspend aborted, resetting...");
index 180cb39e5e78abea5b8a3700ae16e656f4b77f81..82d8473a912091f3e51ff49cea71e8d423abf6a5 100644 (file)
@@ -519,9 +519,9 @@ static int soc24_common_suspend(struct amdgpu_ip_block *ip_block)
        return soc24_common_hw_fini(adev);
 }
 
-static int soc24_common_resume(void *handle)
+static int soc24_common_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return soc24_common_hw_init(adev);
 }
index f642cdb7fdafbe5df922b6e883c984703f09ebcc..c630441879540a08ae2e6287e5edc7e3c34569cb 100644 (file)
@@ -352,9 +352,9 @@ static int tonga_ih_suspend(struct amdgpu_ip_block *ip_block)
        return tonga_ih_hw_fini(adev);
 }
 
-static int tonga_ih_resume(void *handle)
+static int tonga_ih_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return tonga_ih_hw_init(adev);
 }
index 079ce9416d01422d97db32d676a8042e19cf398f..79b2fbb0509e64233209b164dd22aea233a1fce6 100644 (file)
@@ -747,10 +747,10 @@ static int uvd_v3_1_suspend(struct amdgpu_ip_block *ip_block)
        return amdgpu_uvd_suspend(adev);
 }
 
-static int uvd_v3_1_resume(void *handle)
+static int uvd_v3_1_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = amdgpu_uvd_resume(adev);
        if (r)
index 53233c48999cdd160aa80ac1110410a59ae89158..b03abfc0c275afc87da4e3e3e4b36b27b1e58d3c 100644 (file)
@@ -261,10 +261,10 @@ static int uvd_v4_2_suspend(struct amdgpu_ip_block *ip_block)
        return amdgpu_uvd_suspend(adev);
 }
 
-static int uvd_v4_2_resume(void *handle)
+static int uvd_v4_2_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = amdgpu_uvd_resume(adev);
        if (r)
index bef29cf21536fbab3994771f3196954d4e9b87f3..cb7056b365b042ec78c99cdb8dc7f48a9dc37808 100644 (file)
@@ -259,10 +259,10 @@ static int uvd_v5_0_suspend(struct amdgpu_ip_block *ip_block)
        return amdgpu_uvd_suspend(adev);
 }
 
-static int uvd_v5_0_resume(void *handle)
+static int uvd_v5_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = amdgpu_uvd_resume(adev);
        if (r)
index cb6e9caec9fef97ab97b1a3eeaed728b16a56f2c..7923fae622192f2a7d68c95e34b0bfeeff72d91e 100644 (file)
@@ -583,10 +583,10 @@ static int uvd_v6_0_suspend(struct amdgpu_ip_block *ip_block)
        return amdgpu_uvd_suspend(adev);
 }
 
-static int uvd_v6_0_resume(void *handle)
+static int uvd_v6_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = amdgpu_uvd_resume(adev);
        if (r)
index 1354277850e824c1298185d50e946d1dae07456f..2e25f95117d6cbcc03670e47665b408db4f38964 100644 (file)
@@ -651,10 +651,10 @@ static int uvd_v7_0_suspend(struct amdgpu_ip_block *ip_block)
        return amdgpu_uvd_suspend(adev);
 }
 
-static int uvd_v7_0_resume(void *handle)
+static int uvd_v7_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = amdgpu_uvd_resume(adev);
        if (r)
index f796c589039b82d6311d6873b708eaf57270abe7..413ff88b7cdd3b3288834beaada8a95ed942aa60 100644 (file)
@@ -526,10 +526,10 @@ static int vce_v2_0_suspend(struct amdgpu_ip_block *ip_block)
        return amdgpu_vce_suspend(adev);
 }
 
-static int vce_v2_0_resume(void *handle)
+static int vce_v2_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = amdgpu_vce_resume(adev);
        if (r)
index e53b3c194008ac0f2b9bc4c16ba8f2eafe9a2dcc..71e2a4d3f3281a6b45c3c5916e730ac2ff337903 100644 (file)
@@ -540,10 +540,10 @@ static int vce_v3_0_suspend(struct amdgpu_ip_block *ip_block)
        return amdgpu_vce_suspend(adev);
 }
 
-static int vce_v3_0_resume(void *handle)
+static int vce_v3_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = amdgpu_vce_resume(adev);
        if (r)
@@ -726,7 +726,7 @@ static int vce_v3_0_post_soft_reset(struct amdgpu_ip_block *ip_block)
 
        mdelay(5);
 
-       return vce_v3_0_resume(adev);
+       return vce_v3_0_resume(ip_block);
 }
 
 static int vce_v3_0_set_interrupt_state(struct amdgpu_device *adev,
index bd273d582000bc1031a4ac6374cc0ac5178f0134..7839e949f86aaae14f032def44b58c0b2c903da5 100644 (file)
@@ -606,9 +606,9 @@ static int vce_v4_0_suspend(struct amdgpu_ip_block *ip_block)
        return amdgpu_vce_suspend(adev);
 }
 
-static int vce_v4_0_resume(void *handle)
+static int vce_v4_0_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
        int r, idx;
 
        if (adev->vce.vcpu_bo == NULL)
index d5ff66c34559e6738829f39792e763dc55dba321..40ebf9c3f5746776fa2d78e3ec77e1d015cd964c 100644 (file)
@@ -322,10 +322,10 @@ static int vcn_v1_0_suspend(struct amdgpu_ip_block *ip_block)
  *
  * Resume firmware and hw init VCN block
  */
-static int vcn_v1_0_resume(void *handle)
+static int vcn_v1_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = amdgpu_vcn_resume(adev);
        if (r)
index 0aef4afbc079ddfeabb63c371b4a7fd779b1577d..817b4dbec3d435aff59bbe878dc9c0d24f17ec53 100644 (file)
@@ -351,10 +351,10 @@ static int vcn_v2_0_suspend(struct amdgpu_ip_block *ip_block)
  *
  * Resume firmware and hw init VCN block
  */
-static int vcn_v2_0_resume(void *handle)
+static int vcn_v2_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = amdgpu_vcn_resume(adev);
        if (r)
index 93bf87d4f611b0f82e7bca3810ba6c90fef9bd6d..f12011db937203e3f13c229c64922048c6cd184b 100644 (file)
@@ -436,10 +436,10 @@ static int vcn_v2_5_suspend(struct amdgpu_ip_block *ip_block)
  *
  * Resume firmware and hw init VCN block
  */
-static int vcn_v2_5_resume(void *handle)
+static int vcn_v2_5_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = amdgpu_vcn_resume(adev);
        if (r)
index 44c1db24c15b478a820c2b3cc192bbccda63fef1..c2b3ba9c6c90d0d9a42613d9daad78ea4d3bdbe9 100644 (file)
@@ -468,10 +468,10 @@ static int vcn_v3_0_suspend(struct amdgpu_ip_block *ip_block)
  *
  * Resume firmware and hw init VCN block
  */
-static int vcn_v3_0_resume(void *handle)
+static int vcn_v3_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = amdgpu_vcn_resume(adev);
        if (r)
index 3832f6be7492192700c210e27c80ab969d410210..18761ad8c25dbd377e7d07ce48679c7f09c5a247 100644 (file)
@@ -397,10 +397,10 @@ static int vcn_v4_0_suspend(struct amdgpu_ip_block *ip_block)
  *
  * Resume firmware and hw init VCN block
  */
-static int vcn_v4_0_resume(void *handle)
+static int vcn_v4_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = amdgpu_vcn_resume(adev);
        if (r)
index e071fb63e98382aabcd5f15656e41909e42efa9a..c3d96bdc8356b45313ed0be32a155b2f29892f1e 100644 (file)
@@ -352,9 +352,9 @@ static int vcn_v4_0_3_suspend(struct amdgpu_ip_block *ip_block)
  *
  * Resume firmware and hw init VCN block
  */
-static int vcn_v4_0_3_resume(void *handle)
+static int vcn_v4_0_3_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
        int r;
 
        r = amdgpu_vcn_resume(adev);
index d7460b49f1701e7bd07072369afc6c2f18c29b4d..b98e1533a830f48a4f176e2b6f4a9db3bf178c57 100644 (file)
@@ -345,10 +345,10 @@ static int vcn_v4_0_5_suspend(struct amdgpu_ip_block *ip_block)
  *
  * Resume firmware and hw init VCN block
  */
-static int vcn_v4_0_5_resume(void *handle)
+static int vcn_v4_0_5_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = amdgpu_vcn_resume(adev);
        if (r)
index 4d4d7ca5d224438907e6a6d1228b8608bae5009f..ed1c2b37946040d862996262dc212d6be3e1870e 100644 (file)
@@ -309,10 +309,10 @@ static int vcn_v5_0_0_suspend(struct amdgpu_ip_block *ip_block)
  *
  * Resume firmware and hw init VCN block
  */
-static int vcn_v5_0_0_resume(void *handle)
+static int vcn_v5_0_0_resume(struct amdgpu_ip_block *ip_block)
 {
        int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        r = amdgpu_vcn_resume(adev);
        if (r)
index c024d25775714d889b2385d4d80631ee82331985..2076c09f048809113080b8165a9aceacd8855b57 100644 (file)
@@ -557,9 +557,9 @@ static int vega10_ih_suspend(struct amdgpu_ip_block *ip_block)
        return vega10_ih_hw_fini(adev);
 }
 
-static int vega10_ih_resume(void *handle)
+static int vega10_ih_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return vega10_ih_hw_init(adev);
 }
index d9b56339ce30460e1c226e4080e40dc8ad2c2d0f..fc02941cefd6e625de75ce16c7489513b00f033d 100644 (file)
@@ -623,9 +623,9 @@ static int vega20_ih_suspend(struct amdgpu_ip_block *ip_block)
        return vega20_ih_hw_fini(adev);
 }
 
-static int vega20_ih_resume(void *handle)
+static int vega20_ih_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return vega20_ih_hw_init(adev);
 }
index c428950e5b4bd48f81bf12c0331c0bd0fecec551..5e18ba72a03e76506fb19e7096fc149823225e14 100644 (file)
@@ -1738,9 +1738,9 @@ static int vi_common_suspend(struct amdgpu_ip_block *ip_block)
        return vi_common_hw_fini(adev);
 }
 
-static int vi_common_resume(void *handle)
+static int vi_common_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        return vi_common_hw_init(adev);
 }
index b0f26f35f922dc3ddc18f30af6198beef7953f0c..c28a8c8df03c45d450bff69abc104782362288f1 100644 (file)
@@ -3124,9 +3124,9 @@ cleanup:
        kfree(bundle);
 }
 
-static int dm_resume(void *handle)
+static int dm_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = handle;
+       struct amdgpu_device *adev = ip_block->adev;
        struct drm_device *ddev = adev_to_drm(adev);
        struct amdgpu_display_manager *dm = &adev->dm;
        struct amdgpu_dm_connector *aconnector;
index 9110a3ad4893975b29691a763d318fe7fd435040..000adb83941fac2c3eb92978668ff2737a69c627 100644 (file)
@@ -389,7 +389,7 @@ struct amd_ip_funcs {
        void (*late_fini)(struct amdgpu_ip_block *ip_block);
        int (*prepare_suspend)(struct amdgpu_ip_block *ip_block);
        int (*suspend)(struct amdgpu_ip_block *ip_block);
-       int (*resume)(void *handle);
+       int (*resume)(struct amdgpu_ip_block *ip_block);
        bool (*is_idle)(void *handle);
        int (*wait_for_idle)(struct amdgpu_ip_block *ip_block);
        bool (*check_soft_reset)(struct amdgpu_ip_block *ip_block);
index c4688283742320f21d284b78e249d5e4d23753e6..01043e954f853102c7a9dab16ea40343f08a877d 100644 (file)
@@ -3075,10 +3075,10 @@ static int kv_dpm_suspend(struct amdgpu_ip_block *ip_block)
        return 0;
 }
 
-static int kv_dpm_resume(void *handle)
+static int kv_dpm_resume(struct amdgpu_ip_block *ip_block)
 {
        int ret;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        if (adev->pm.dpm_enabled) {
                /* asic init will reset to the boot state */
index cba82d151f07c0fc592b2c4d5306e9d0e7f12f80..e23bac6c0c0881540311f37f5cfac575be5caa21 100644 (file)
@@ -7818,10 +7818,10 @@ static int si_dpm_suspend(struct amdgpu_ip_block *ip_block)
        return 0;
 }
 
-static int si_dpm_resume(void *handle)
+static int si_dpm_resume(struct amdgpu_ip_block *ip_block)
 {
        int ret;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+       struct amdgpu_device *adev = ip_block->adev;
 
        if (adev->pm.dpm_enabled) {
                /* asic init will reset to the boot state */
index dfdc26fe2ee7ec0838d6e54422078a1fa57a48a7..cd70941edec537d4ad46c18d1822f52349149059 100644 (file)
@@ -271,9 +271,9 @@ static int pp_suspend(struct amdgpu_ip_block *ip_block)
        return hwmgr_suspend(hwmgr);
 }
 
-static int pp_resume(void *handle)
+static int pp_resume(struct amdgpu_ip_block *ip_block)
 {
-       struct amdgpu_device *adev = handle;
+       struct amdgpu_device *adev = ip_block->adev;
        struct pp_hwmgr *hwmgr = adev->powerplay.pp_handle;
 
        return hwmgr_resume(hwmgr);
index a267ed6a3e3ed6bdb625c25bf3bae2556724154c..033965ed864520e2235178793f59290b4d6db969 100644 (file)
@@ -2109,10 +2109,10 @@ static int smu_suspend(struct amdgpu_ip_block *ip_block)
        return 0;
 }
 
-static int smu_resume(void *handle)
+static int smu_resume(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))