Remove usage of legacy message related fields from SMUv11 SOCs.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Asad Kamal <asad.kamal@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
int smu_v11_0_restore_user_od_settings(struct smu_context *smu);
-void smu_v11_0_set_smu_mailbox_registers(struct smu_context *smu);
void smu_v11_0_init_msg_ctl(struct smu_context *smu,
const struct cmn2asic_msg_mapping *message_map);
void arcturus_set_ppt_funcs(struct smu_context *smu)
{
smu->ppt_funcs = &arcturus_ppt_funcs;
- smu->message_map = arcturus_message_map;
smu->clock_map = arcturus_clk_map;
smu->feature_map = arcturus_feature_mask_map;
smu->table_map = arcturus_table_map;
smu->pwr_src_map = arcturus_pwr_src_map;
smu->workload_map = arcturus_workload_map;
- smu_v11_0_set_smu_mailbox_registers(smu);
smu_v11_0_init_msg_ctl(smu, arcturus_message_map);
}
void cyan_skillfish_set_ppt_funcs(struct smu_context *smu)
{
smu->ppt_funcs = &cyan_skillfish_ppt_funcs;
- smu->message_map = cyan_skillfish_message_map;
smu->table_map = cyan_skillfish_table_map;
smu->is_apu = true;
- smu_v11_0_set_smu_mailbox_registers(smu);
smu_v11_0_init_msg_ctl(smu, cyan_skillfish_message_map);
}
void navi10_set_ppt_funcs(struct smu_context *smu)
{
smu->ppt_funcs = &navi10_ppt_funcs;
- smu->message_map = navi10_message_map;
smu->clock_map = navi10_clk_map;
smu->feature_map = navi10_feature_mask_map;
smu->table_map = navi10_table_map;
smu->pwr_src_map = navi10_pwr_src_map;
smu->workload_map = navi10_workload_map;
- smu_v11_0_set_smu_mailbox_registers(smu);
smu_v11_0_init_msg_ctl(smu, navi10_message_map);
}
void sienna_cichlid_set_ppt_funcs(struct smu_context *smu)
{
smu->ppt_funcs = &sienna_cichlid_ppt_funcs;
- smu->message_map = sienna_cichlid_message_map;
smu->clock_map = sienna_cichlid_clk_map;
smu->feature_map = sienna_cichlid_feature_mask_map;
smu->table_map = sienna_cichlid_table_map;
smu->pwr_src_map = sienna_cichlid_pwr_src_map;
smu->workload_map = sienna_cichlid_workload_map;
- smu_v11_0_set_smu_mailbox_registers(smu);
smu_v11_0_init_msg_ctl(smu, sienna_cichlid_message_map);
}
return ret;
}
-void smu_v11_0_set_smu_mailbox_registers(struct smu_context *smu)
-{
- struct amdgpu_device *adev = smu->adev;
-
- smu->param_reg = SOC15_REG_OFFSET(MP1, 0, mmMP1_SMN_C2PMSG_82);
- smu->msg_reg = SOC15_REG_OFFSET(MP1, 0, mmMP1_SMN_C2PMSG_66);
- smu->resp_reg = SOC15_REG_OFFSET(MP1, 0, mmMP1_SMN_C2PMSG_90);
-}
-
void smu_v11_0_init_msg_ctl(struct smu_context *smu,
const struct cmn2asic_msg_mapping *message_map)
{
void vangogh_set_ppt_funcs(struct smu_context *smu)
{
smu->ppt_funcs = &vangogh_ppt_funcs;
- smu->message_map = vangogh_message_map;
smu->feature_map = vangogh_feature_mask_map;
smu->table_map = vangogh_table_map;
smu->workload_map = vangogh_workload_map;
smu->is_apu = true;
- smu_v11_0_set_smu_mailbox_registers(smu);
smu_v11_0_init_msg_ctl(smu, vangogh_message_map);
}
switch (type) {
case CMN2ASIC_MAPPING_MSG:
if (index >= SMU_MSG_MAX_COUNT ||
- !smu->message_map)
+ !smu->msg_ctl.message_map)
return -EINVAL;
- msg_mapping = smu->message_map[index];
+ msg_mapping = smu->msg_ctl.message_map[index];
if (!msg_mapping.valid_mapping)
return -EINVAL;