|
@@ -464,13 +464,20 @@ static bool fiji_is_hw_avfs_present(struct pp_smumgr *smumgr)
|
|
|
*/
|
|
|
static int fiji_smu_init(struct pp_smumgr *smumgr)
|
|
|
{
|
|
|
- struct fiji_smumgr *priv = (struct fiji_smumgr *)(smumgr->backend);
|
|
|
int i;
|
|
|
+ struct fiji_smumgr *fiji_priv = NULL;
|
|
|
+
|
|
|
+ fiji_priv = kzalloc(sizeof(struct fiji_smumgr), GFP_KERNEL);
|
|
|
+
|
|
|
+ if (fiji_priv == NULL)
|
|
|
+ return -ENOMEM;
|
|
|
+
|
|
|
+ smumgr->backend = fiji_priv;
|
|
|
|
|
|
if (smu7_init(smumgr))
|
|
|
return -EINVAL;
|
|
|
|
|
|
- priv->avfs.AvfsBtcStatus = AVFS_BTC_BOOT;
|
|
|
+ fiji_priv->avfs.AvfsBtcStatus = AVFS_BTC_BOOT;
|
|
|
if (fiji_is_hw_avfs_present(smumgr))
|
|
|
/* AVFS Parameter
|
|
|
* 0 - BTC DC disabled, BTC AC disabled
|
|
@@ -479,18 +486,18 @@ static int fiji_smu_init(struct pp_smumgr *smumgr)
|
|
|
* 3 - BTC DC enabled, BTC AC enabled
|
|
|
* Default is 0 - BTC DC disabled, BTC AC disabled
|
|
|
*/
|
|
|
- priv->avfs.AvfsBtcParam = 0;
|
|
|
+ fiji_priv->avfs.AvfsBtcParam = 0;
|
|
|
else
|
|
|
- priv->avfs.AvfsBtcStatus = AVFS_BTC_NOTSUPPORTED;
|
|
|
+ fiji_priv->avfs.AvfsBtcStatus = AVFS_BTC_NOTSUPPORTED;
|
|
|
|
|
|
for (i = 0; i < SMU73_MAX_LEVELS_GRAPHICS; i++)
|
|
|
- priv->activity_target[i] = 30;
|
|
|
+ fiji_priv->activity_target[i] = 30;
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
|
|
|
-static const struct pp_smumgr_func fiji_smu_funcs = {
|
|
|
+const struct pp_smumgr_func fiji_smu_funcs = {
|
|
|
.smu_init = &fiji_smu_init,
|
|
|
.smu_fini = &smu7_smu_fini,
|
|
|
.start_smu = &fiji_start_smu,
|
|
@@ -513,18 +520,3 @@ static const struct pp_smumgr_func fiji_smu_funcs = {
|
|
|
.initialize_mc_reg_table = fiji_initialize_mc_reg_table,
|
|
|
.is_dpm_running = fiji_is_dpm_running,
|
|
|
};
|
|
|
-
|
|
|
-int fiji_smum_init(struct pp_smumgr *smumgr)
|
|
|
-{
|
|
|
- struct fiji_smumgr *fiji_smu = NULL;
|
|
|
-
|
|
|
- fiji_smu = kzalloc(sizeof(struct fiji_smumgr), GFP_KERNEL);
|
|
|
-
|
|
|
- if (fiji_smu == NULL)
|
|
|
- return -ENOMEM;
|
|
|
-
|
|
|
- smumgr->backend = fiji_smu;
|
|
|
- smumgr->smumgr_funcs = &fiji_smu_funcs;
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|