Commit 167112bf authored by Huang Rui's avatar Huang Rui Committed by Alex Deucher

drm/amd/powerplay: add callbacks to move smc firmware request into sw_init phase

Signed-off-by: default avatarHuang Rui <ray.huang@amd.com>
Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent a5b2b6eb
...@@ -76,9 +76,18 @@ static int pp_sw_init(void *handle) ...@@ -76,9 +76,18 @@ static int pp_sw_init(void *handle)
if (ret) if (ret)
goto err1; goto err1;
if (hwmgr->hwmgr_func->request_firmware) {
ret = hwmgr->hwmgr_func->request_firmware(hwmgr);
if (ret)
goto err2;
}
pr_info("amdgpu: powerplay initialized\n"); pr_info("amdgpu: powerplay initialized\n");
return 0; return 0;
err2:
if (hwmgr->hwmgr_func->backend_fini)
hwmgr->hwmgr_func->backend_fini(hwmgr);
err1: err1:
if (hwmgr->pptable_func->pptable_fini) if (hwmgr->pptable_func->pptable_fini)
hwmgr->pptable_func->pptable_fini(hwmgr); hwmgr->pptable_func->pptable_fini(hwmgr);
...@@ -101,6 +110,9 @@ static int pp_sw_fini(void *handle) ...@@ -101,6 +110,9 @@ static int pp_sw_fini(void *handle)
PP_CHECK_HW(hwmgr); PP_CHECK_HW(hwmgr);
if (hwmgr->hwmgr_func->release_firmware)
ret = hwmgr->hwmgr_func->release_firmware(hwmgr);
if (hwmgr->hwmgr_func->backend_fini != NULL) if (hwmgr->hwmgr_func->backend_fini != NULL)
ret = hwmgr->hwmgr_func->backend_fini(hwmgr); ret = hwmgr->hwmgr_func->backend_fini(hwmgr);
......
...@@ -358,6 +358,8 @@ struct pp_hwmgr_func { ...@@ -358,6 +358,8 @@ struct pp_hwmgr_func {
int (*get_mclk_od)(struct pp_hwmgr *hwmgr); int (*get_mclk_od)(struct pp_hwmgr *hwmgr);
int (*set_mclk_od)(struct pp_hwmgr *hwmgr, uint32_t value); int (*set_mclk_od)(struct pp_hwmgr *hwmgr, uint32_t value);
int (*read_sensor)(struct pp_hwmgr *hwmgr, int idx, int32_t *value); int (*read_sensor)(struct pp_hwmgr *hwmgr, int idx, int32_t *value);
int (*request_firmware)(struct pp_hwmgr *hwmgr);
int (*release_firmware)(struct pp_hwmgr *hwmgr);
}; };
struct pp_table_func { struct pp_table_func {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment