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)
if (ret)
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");
return 0;
err2:
if (hwmgr->hwmgr_func->backend_fini)
hwmgr->hwmgr_func->backend_fini(hwmgr);
err1:
if (hwmgr->pptable_func->pptable_fini)
hwmgr->pptable_func->pptable_fini(hwmgr);
......@@ -101,6 +110,9 @@ static int pp_sw_fini(void *handle)
PP_CHECK_HW(hwmgr);
if (hwmgr->hwmgr_func->release_firmware)
ret = hwmgr->hwmgr_func->release_firmware(hwmgr);
if (hwmgr->hwmgr_func->backend_fini != NULL)
ret = hwmgr->hwmgr_func->backend_fini(hwmgr);
......
......@@ -358,6 +358,8 @@ struct pp_hwmgr_func {
int (*get_mclk_od)(struct pp_hwmgr *hwmgr);
int (*set_mclk_od)(struct pp_hwmgr *hwmgr, uint32_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 {
......
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