drm/amd/pm: Drop legacy message fields from SMUv11
authorLijo Lazar <lijo.lazar@amd.com>
Tue, 16 Dec 2025 08:15:52 +0000 (13:45 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Sat, 10 Jan 2026 19:08:37 +0000 (14:08 -0500)
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>
drivers/gpu/drm/amd/pm/swsmu/inc/smu_v11_0.h
drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu11/cyan_skillfish_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c

index 97c1900..7c1701e 100644 (file)
@@ -282,7 +282,6 @@ int smu_v11_0_handle_passthrough_sbr(struct smu_context *smu, bool enable);
 
 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);
 
index eadd81e..4de7ae6 100644 (file)
@@ -1959,12 +1959,10 @@ static const struct pptable_funcs arcturus_ppt_funcs = {
 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);
 }
index 5ae6ee8..15968b0 100644 (file)
@@ -601,9 +601,7 @@ static const struct pptable_funcs cyan_skillfish_ppt_funcs = {
 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);
 }
index 3596cb7..d7aa166 100644 (file)
@@ -3369,12 +3369,10 @@ static const struct pptable_funcs navi10_ppt_funcs = {
 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);
 }
index 087b4b6..90aba9a 100644 (file)
@@ -3182,12 +3182,10 @@ static const struct pptable_funcs sienna_cichlid_ppt_funcs = {
 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);
 }
index 579b1db..eb1b9fa 100644 (file)
@@ -2168,15 +2168,6 @@ int smu_v11_0_restore_user_od_settings(struct smu_context *smu)
        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)
 {
index fe19242..4ca211e 100644 (file)
@@ -2557,11 +2557,9 @@ static const struct pptable_funcs vangogh_ppt_funcs = {
 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);
 }
index 177643d..6b673ee 100644 (file)
@@ -584,10 +584,10 @@ int smu_cmn_to_asic_specific_index(struct smu_context *smu,
        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;