aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/powerplay/amd_powerplay.c')
-rw-r--r--drivers/gpu/drm/amd/powerplay/amd_powerplay.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
index c81cf1412728..cc7219084fad 100644
--- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
+++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
@@ -76,9 +76,18 @@ static int pp_sw_init(void *handle)
76 if (ret) 76 if (ret)
77 goto err1; 77 goto err1;
78 78
79 if (hwmgr->hwmgr_func->request_firmware) {
80 ret = hwmgr->hwmgr_func->request_firmware(hwmgr);
81 if (ret)
82 goto err2;
83 }
84
79 pr_info("amdgpu: powerplay initialized\n"); 85 pr_info("amdgpu: powerplay initialized\n");
80 86
81 return 0; 87 return 0;
88err2:
89 if (hwmgr->hwmgr_func->backend_fini)
90 hwmgr->hwmgr_func->backend_fini(hwmgr);
82err1: 91err1:
83 if (hwmgr->pptable_func->pptable_fini) 92 if (hwmgr->pptable_func->pptable_fini)
84 hwmgr->pptable_func->pptable_fini(hwmgr); 93 hwmgr->pptable_func->pptable_fini(hwmgr);
@@ -101,6 +110,9 @@ static int pp_sw_fini(void *handle)
101 110
102 PP_CHECK_HW(hwmgr); 111 PP_CHECK_HW(hwmgr);
103 112
113 if (hwmgr->hwmgr_func->release_firmware)
114 ret = hwmgr->hwmgr_func->release_firmware(hwmgr);
115
104 if (hwmgr->hwmgr_func->backend_fini != NULL) 116 if (hwmgr->hwmgr_func->backend_fini != NULL)
105 ret = hwmgr->hwmgr_func->backend_fini(hwmgr); 117 ret = hwmgr->hwmgr_func->backend_fini(hwmgr);
106 118