提交 167112bf 编写于 作者: H Huang Rui 提交者: Alex Deucher

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

Signed-off-by: NHuang Rui <ray.huang@amd.com>
Acked-by: NAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册