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);
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);
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 {