1. add smu_11_0_msg_mapping definition
2. add valid info for each SMC message in SRIOV

Signed-off-by: Wenhui Sheng <[email protected]>
Change-Id: I887283cceb8ba631069a2300ef6756ba4902dcdd
Reviewed-by: Hawking Zhang <[email protected]>
---
 drivers/gpu/drm/amd/powerplay/arcturus_ppt.c  | 124 +++++++--------
 drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h |   6 +
 drivers/gpu/drm/amd/powerplay/navi10_ppt.c    | 146 +++++++++---------
 3 files changed, 141 insertions(+), 135 deletions(-)

diff --git a/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c 
b/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c
index 27c5fc9572b2..fad6f3a60dc9 100644
--- a/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c
+++ b/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c
@@ -48,8 +48,8 @@
 #define CTF_OFFSET_HOTSPOT             5
 #define CTF_OFFSET_HBM                 5
 
-#define MSG_MAP(msg, index) \
-       [SMU_MSG_##msg] = {1, (index)}
+#define MSG_MAP(msg, index, valid_in_vf) \
+       [SMU_MSG_##msg] = {1, (index), (valid_in_vf)}
 #define ARCTURUS_FEA_MAP(smu_feature, arcturus_feature) \
        [smu_feature] = {1, (arcturus_feature)}
 
@@ -70,65 +70,65 @@
 /* possible frequency drift (1Mhz) */
 #define EPSILON                                1
 
-static struct smu_11_0_cmn2aisc_mapping 
arcturus_message_map[SMU_MSG_MAX_COUNT] = {
-       MSG_MAP(TestMessage,                         PPSMC_MSG_TestMessage),
-       MSG_MAP(GetSmuVersion,                       PPSMC_MSG_GetSmuVersion),
-       MSG_MAP(GetDriverIfVersion,                  
PPSMC_MSG_GetDriverIfVersion),
-       MSG_MAP(SetAllowedFeaturesMaskLow,           
PPSMC_MSG_SetAllowedFeaturesMaskLow),
-       MSG_MAP(SetAllowedFeaturesMaskHigh,          
PPSMC_MSG_SetAllowedFeaturesMaskHigh),
-       MSG_MAP(EnableAllSmuFeatures,                
PPSMC_MSG_EnableAllSmuFeatures),
-       MSG_MAP(DisableAllSmuFeatures,               
PPSMC_MSG_DisableAllSmuFeatures),
-       MSG_MAP(EnableSmuFeaturesLow,                
PPSMC_MSG_EnableSmuFeaturesLow),
-       MSG_MAP(EnableSmuFeaturesHigh,               
PPSMC_MSG_EnableSmuFeaturesHigh),
-       MSG_MAP(DisableSmuFeaturesLow,               
PPSMC_MSG_DisableSmuFeaturesLow),
-       MSG_MAP(DisableSmuFeaturesHigh,              
PPSMC_MSG_DisableSmuFeaturesHigh),
-       MSG_MAP(GetEnabledSmuFeaturesLow,            
PPSMC_MSG_GetEnabledSmuFeaturesLow),
-       MSG_MAP(GetEnabledSmuFeaturesHigh,           
PPSMC_MSG_GetEnabledSmuFeaturesHigh),
-       MSG_MAP(SetDriverDramAddrHigh,               
PPSMC_MSG_SetDriverDramAddrHigh),
-       MSG_MAP(SetDriverDramAddrLow,                
PPSMC_MSG_SetDriverDramAddrLow),
-       MSG_MAP(SetToolsDramAddrHigh,                
PPSMC_MSG_SetToolsDramAddrHigh),
-       MSG_MAP(SetToolsDramAddrLow,                 
PPSMC_MSG_SetToolsDramAddrLow),
-       MSG_MAP(TransferTableSmu2Dram,               
PPSMC_MSG_TransferTableSmu2Dram),
-       MSG_MAP(TransferTableDram2Smu,               
PPSMC_MSG_TransferTableDram2Smu),
-       MSG_MAP(UseDefaultPPTable,                   
PPSMC_MSG_UseDefaultPPTable),
-       MSG_MAP(UseBackupPPTable,                    
PPSMC_MSG_UseBackupPPTable),
-       MSG_MAP(SetSystemVirtualDramAddrHigh,        
PPSMC_MSG_SetSystemVirtualDramAddrHigh),
-       MSG_MAP(SetSystemVirtualDramAddrLow,         
PPSMC_MSG_SetSystemVirtualDramAddrLow),
-       MSG_MAP(EnterBaco,                           PPSMC_MSG_EnterBaco),
-       MSG_MAP(ExitBaco,                            PPSMC_MSG_ExitBaco),
-       MSG_MAP(ArmD3,                               PPSMC_MSG_ArmD3),
-       MSG_MAP(SetSoftMinByFreq,                    
PPSMC_MSG_SetSoftMinByFreq),
-       MSG_MAP(SetSoftMaxByFreq,                    
PPSMC_MSG_SetSoftMaxByFreq),
-       MSG_MAP(SetHardMinByFreq,                    
PPSMC_MSG_SetHardMinByFreq),
-       MSG_MAP(SetHardMaxByFreq,                    
PPSMC_MSG_SetHardMaxByFreq),
-       MSG_MAP(GetMinDpmFreq,                       PPSMC_MSG_GetMinDpmFreq),
-       MSG_MAP(GetMaxDpmFreq,                       PPSMC_MSG_GetMaxDpmFreq),
-       MSG_MAP(GetDpmFreqByIndex,                   
PPSMC_MSG_GetDpmFreqByIndex),
-       MSG_MAP(SetWorkloadMask,                     PPSMC_MSG_SetWorkloadMask),
-       MSG_MAP(SetDfSwitchType,                     PPSMC_MSG_SetDfSwitchType),
-       MSG_MAP(GetVoltageByDpm,                     PPSMC_MSG_GetVoltageByDpm),
-       MSG_MAP(GetVoltageByDpmOverdrive,            
PPSMC_MSG_GetVoltageByDpmOverdrive),
-       MSG_MAP(SetPptLimit,                         PPSMC_MSG_SetPptLimit),
-       MSG_MAP(GetPptLimit,                         PPSMC_MSG_GetPptLimit),
-       MSG_MAP(PowerUpVcn0,                         PPSMC_MSG_PowerUpVcn0),
-       MSG_MAP(PowerDownVcn0,                       PPSMC_MSG_PowerDownVcn0),
-       MSG_MAP(PowerUpVcn1,                         PPSMC_MSG_PowerUpVcn1),
-       MSG_MAP(PowerDownVcn1,                       PPSMC_MSG_PowerDownVcn1),
-       MSG_MAP(PrepareMp1ForUnload,                 
PPSMC_MSG_PrepareMp1ForUnload),
-       MSG_MAP(PrepareMp1ForReset,                  
PPSMC_MSG_PrepareMp1ForReset),
-       MSG_MAP(PrepareMp1ForShutdown,               
PPSMC_MSG_PrepareMp1ForShutdown),
-       MSG_MAP(SoftReset,                           PPSMC_MSG_SoftReset),
-       MSG_MAP(RunAfllBtc,                          PPSMC_MSG_RunAfllBtc),
-       MSG_MAP(RunDcBtc,                            PPSMC_MSG_RunDcBtc),
-       MSG_MAP(DramLogSetDramAddrHigh,              
PPSMC_MSG_DramLogSetDramAddrHigh),
-       MSG_MAP(DramLogSetDramAddrLow,               
PPSMC_MSG_DramLogSetDramAddrLow),
-       MSG_MAP(DramLogSetDramSize,                  
PPSMC_MSG_DramLogSetDramSize),
-       MSG_MAP(GetDebugData,                        PPSMC_MSG_GetDebugData),
-       MSG_MAP(WaflTest,                            PPSMC_MSG_WaflTest),
-       MSG_MAP(SetXgmiMode,                         PPSMC_MSG_SetXgmiMode),
-       MSG_MAP(SetMemoryChannelEnable,              
PPSMC_MSG_SetMemoryChannelEnable),
-       MSG_MAP(DFCstateControl,                     PPSMC_MSG_DFCstateControl),
-       MSG_MAP(GmiPwrDnControl,                     PPSMC_MSG_GmiPwrDnControl),
+static struct smu_11_0_msg_mapping arcturus_message_map[SMU_MSG_MAX_COUNT] = {
+       MSG_MAP(TestMessage,                         PPSMC_MSG_TestMessage,     
                0),
+       MSG_MAP(GetSmuVersion,                       PPSMC_MSG_GetSmuVersion,   
                1),
+       MSG_MAP(GetDriverIfVersion,                  
PPSMC_MSG_GetDriverIfVersion,              1),
+       MSG_MAP(SetAllowedFeaturesMaskLow,           
PPSMC_MSG_SetAllowedFeaturesMaskLow,       0),
+       MSG_MAP(SetAllowedFeaturesMaskHigh,          
PPSMC_MSG_SetAllowedFeaturesMaskHigh,      0),
+       MSG_MAP(EnableAllSmuFeatures,                
PPSMC_MSG_EnableAllSmuFeatures,            0),
+       MSG_MAP(DisableAllSmuFeatures,               
PPSMC_MSG_DisableAllSmuFeatures,           0),
+       MSG_MAP(EnableSmuFeaturesLow,                
PPSMC_MSG_EnableSmuFeaturesLow,            1),
+       MSG_MAP(EnableSmuFeaturesHigh,               
PPSMC_MSG_EnableSmuFeaturesHigh,           1),
+       MSG_MAP(DisableSmuFeaturesLow,               
PPSMC_MSG_DisableSmuFeaturesLow,           0),
+       MSG_MAP(DisableSmuFeaturesHigh,              
PPSMC_MSG_DisableSmuFeaturesHigh,          0),
+       MSG_MAP(GetEnabledSmuFeaturesLow,            
PPSMC_MSG_GetEnabledSmuFeaturesLow,        0),
+       MSG_MAP(GetEnabledSmuFeaturesHigh,           
PPSMC_MSG_GetEnabledSmuFeaturesHigh,       0),
+       MSG_MAP(SetDriverDramAddrHigh,               
PPSMC_MSG_SetDriverDramAddrHigh,           1),
+       MSG_MAP(SetDriverDramAddrLow,                
PPSMC_MSG_SetDriverDramAddrLow,            1),
+       MSG_MAP(SetToolsDramAddrHigh,                
PPSMC_MSG_SetToolsDramAddrHigh,            0),
+       MSG_MAP(SetToolsDramAddrLow,                 
PPSMC_MSG_SetToolsDramAddrLow,             0),
+       MSG_MAP(TransferTableSmu2Dram,               
PPSMC_MSG_TransferTableSmu2Dram,           1),
+       MSG_MAP(TransferTableDram2Smu,               
PPSMC_MSG_TransferTableDram2Smu,           0),
+       MSG_MAP(UseDefaultPPTable,                   
PPSMC_MSG_UseDefaultPPTable,               0),
+       MSG_MAP(UseBackupPPTable,                    
PPSMC_MSG_UseBackupPPTable,                0),
+       MSG_MAP(SetSystemVirtualDramAddrHigh,        
PPSMC_MSG_SetSystemVirtualDramAddrHigh,    0),
+       MSG_MAP(SetSystemVirtualDramAddrLow,         
PPSMC_MSG_SetSystemVirtualDramAddrLow,     0),
+       MSG_MAP(EnterBaco,                           PPSMC_MSG_EnterBaco,       
                0),
+       MSG_MAP(ExitBaco,                            PPSMC_MSG_ExitBaco,        
                0),
+       MSG_MAP(ArmD3,                               PPSMC_MSG_ArmD3,           
                0),
+       MSG_MAP(SetSoftMinByFreq,                    
PPSMC_MSG_SetSoftMinByFreq,                0),
+       MSG_MAP(SetSoftMaxByFreq,                    
PPSMC_MSG_SetSoftMaxByFreq,                0),
+       MSG_MAP(SetHardMinByFreq,                    
PPSMC_MSG_SetHardMinByFreq,                0),
+       MSG_MAP(SetHardMaxByFreq,                    
PPSMC_MSG_SetHardMaxByFreq,                0),
+       MSG_MAP(GetMinDpmFreq,                       PPSMC_MSG_GetMinDpmFreq,   
                0),
+       MSG_MAP(GetMaxDpmFreq,                       PPSMC_MSG_GetMaxDpmFreq,   
                0),
+       MSG_MAP(GetDpmFreqByIndex,                   
PPSMC_MSG_GetDpmFreqByIndex,               1),
+       MSG_MAP(SetWorkloadMask,                     PPSMC_MSG_SetWorkloadMask, 
                1),
+       MSG_MAP(SetDfSwitchType,                     PPSMC_MSG_SetDfSwitchType, 
                0),
+       MSG_MAP(GetVoltageByDpm,                     PPSMC_MSG_GetVoltageByDpm, 
                0),
+       MSG_MAP(GetVoltageByDpmOverdrive,            
PPSMC_MSG_GetVoltageByDpmOverdrive,        0),
+       MSG_MAP(SetPptLimit,                         PPSMC_MSG_SetPptLimit,     
                0),
+       MSG_MAP(GetPptLimit,                         PPSMC_MSG_GetPptLimit,     
                1),
+       MSG_MAP(PowerUpVcn0,                         PPSMC_MSG_PowerUpVcn0,     
                0),
+       MSG_MAP(PowerDownVcn0,                       PPSMC_MSG_PowerDownVcn0,   
                0),
+       MSG_MAP(PowerUpVcn1,                         PPSMC_MSG_PowerUpVcn1,     
                0),
+       MSG_MAP(PowerDownVcn1,                       PPSMC_MSG_PowerDownVcn1,   
                0),
+       MSG_MAP(PrepareMp1ForUnload,                 
PPSMC_MSG_PrepareMp1ForUnload,             0),
+       MSG_MAP(PrepareMp1ForReset,                  
PPSMC_MSG_PrepareMp1ForReset,              0),
+       MSG_MAP(PrepareMp1ForShutdown,               
PPSMC_MSG_PrepareMp1ForShutdown,           0),
+       MSG_MAP(SoftReset,                           PPSMC_MSG_SoftReset,       
                0),
+       MSG_MAP(RunAfllBtc,                          PPSMC_MSG_RunAfllBtc,      
                0),
+       MSG_MAP(RunDcBtc,                            PPSMC_MSG_RunDcBtc,        
                0),
+       MSG_MAP(DramLogSetDramAddrHigh,              
PPSMC_MSG_DramLogSetDramAddrHigh,          0),
+       MSG_MAP(DramLogSetDramAddrLow,               
PPSMC_MSG_DramLogSetDramAddrLow,           0),
+       MSG_MAP(DramLogSetDramSize,                  
PPSMC_MSG_DramLogSetDramSize,              0),
+       MSG_MAP(GetDebugData,                        PPSMC_MSG_GetDebugData,    
                0),
+       MSG_MAP(WaflTest,                            PPSMC_MSG_WaflTest,        
                0),
+       MSG_MAP(SetXgmiMode,                         PPSMC_MSG_SetXgmiMode,     
                0),
+       MSG_MAP(SetMemoryChannelEnable,              
PPSMC_MSG_SetMemoryChannelEnable,          0),
+       MSG_MAP(DFCstateControl,                     PPSMC_MSG_DFCstateControl, 
                0),
+       MSG_MAP(GmiPwrDnControl,                     PPSMC_MSG_GmiPwrDnControl, 
                0),
 };
 
 static struct smu_11_0_cmn2aisc_mapping arcturus_clk_map[SMU_CLK_COUNT] = {
@@ -199,7 +199,7 @@ static struct smu_11_0_cmn2aisc_mapping 
arcturus_workload_map[PP_SMC_POWER_PROFI
 
 static int arcturus_get_smu_msg_index(struct smu_context *smc, uint32_t index)
 {
-       struct smu_11_0_cmn2aisc_mapping mapping;
+       struct smu_11_0_msg_mapping mapping;
 
        if (index >= SMU_MSG_MAX_COUNT)
                return -EINVAL;
diff --git a/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h 
b/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h
index 5c6bfe76d596..09047c3010e9 100644
--- a/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h
+++ b/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h
@@ -70,6 +70,12 @@ static const struct smu_temperature_range 
smu11_thermal_policy[] =
        { 120000, 120000, 120000, 120000, 120000, 120000, 120000, 120000, 
120000},
 };
 
+struct smu_11_0_msg_mapping {
+       int     valid_mapping;
+       int     map_to;
+       int     valid_in_vf;
+};
+
 struct smu_11_0_cmn2aisc_mapping {
        int     valid_mapping;
        int     map_to;
diff --git a/drivers/gpu/drm/amd/powerplay/navi10_ppt.c 
b/drivers/gpu/drm/amd/powerplay/navi10_ppt.c
index 0c9be864d072..2dd48b2c580b 100644
--- a/drivers/gpu/drm/amd/powerplay/navi10_ppt.c
+++ b/drivers/gpu/drm/amd/powerplay/navi10_ppt.c
@@ -51,78 +51,78 @@
        FEATURE_MASK(FEATURE_DPM_LINK_BIT)       | \
        FEATURE_MASK(FEATURE_DPM_DCEFCLK_BIT))
 
-#define MSG_MAP(msg, index) \
-       [SMU_MSG_##msg] = {1, (index)}
-
-static struct smu_11_0_cmn2aisc_mapping navi10_message_map[SMU_MSG_MAX_COUNT] 
= {
-       MSG_MAP(TestMessage,                    PPSMC_MSG_TestMessage),
-       MSG_MAP(GetSmuVersion,                  PPSMC_MSG_GetSmuVersion),
-       MSG_MAP(GetDriverIfVersion,             PPSMC_MSG_GetDriverIfVersion),
-       MSG_MAP(SetAllowedFeaturesMaskLow,      
PPSMC_MSG_SetAllowedFeaturesMaskLow),
-       MSG_MAP(SetAllowedFeaturesMaskHigh,     
PPSMC_MSG_SetAllowedFeaturesMaskHigh),
-       MSG_MAP(EnableAllSmuFeatures,           PPSMC_MSG_EnableAllSmuFeatures),
-       MSG_MAP(DisableAllSmuFeatures,          
PPSMC_MSG_DisableAllSmuFeatures),
-       MSG_MAP(EnableSmuFeaturesLow,           PPSMC_MSG_EnableSmuFeaturesLow),
-       MSG_MAP(EnableSmuFeaturesHigh,          
PPSMC_MSG_EnableSmuFeaturesHigh),
-       MSG_MAP(DisableSmuFeaturesLow,          
PPSMC_MSG_DisableSmuFeaturesLow),
-       MSG_MAP(DisableSmuFeaturesHigh,         
PPSMC_MSG_DisableSmuFeaturesHigh),
-       MSG_MAP(GetEnabledSmuFeaturesLow,       
PPSMC_MSG_GetEnabledSmuFeaturesLow),
-       MSG_MAP(GetEnabledSmuFeaturesHigh,      
PPSMC_MSG_GetEnabledSmuFeaturesHigh),
-       MSG_MAP(SetWorkloadMask,                PPSMC_MSG_SetWorkloadMask),
-       MSG_MAP(SetPptLimit,                    PPSMC_MSG_SetPptLimit),
-       MSG_MAP(SetDriverDramAddrHigh,          
PPSMC_MSG_SetDriverDramAddrHigh),
-       MSG_MAP(SetDriverDramAddrLow,           PPSMC_MSG_SetDriverDramAddrLow),
-       MSG_MAP(SetToolsDramAddrHigh,           PPSMC_MSG_SetToolsDramAddrHigh),
-       MSG_MAP(SetToolsDramAddrLow,            PPSMC_MSG_SetToolsDramAddrLow),
-       MSG_MAP(TransferTableSmu2Dram,          
PPSMC_MSG_TransferTableSmu2Dram),
-       MSG_MAP(TransferTableDram2Smu,          
PPSMC_MSG_TransferTableDram2Smu),
-       MSG_MAP(UseDefaultPPTable,              PPSMC_MSG_UseDefaultPPTable),
-       MSG_MAP(UseBackupPPTable,               PPSMC_MSG_UseBackupPPTable),
-       MSG_MAP(RunBtc,                         PPSMC_MSG_RunBtc),
-       MSG_MAP(EnterBaco,                      PPSMC_MSG_EnterBaco),
-       MSG_MAP(SetSoftMinByFreq,               PPSMC_MSG_SetSoftMinByFreq),
-       MSG_MAP(SetSoftMaxByFreq,               PPSMC_MSG_SetSoftMaxByFreq),
-       MSG_MAP(SetHardMinByFreq,               PPSMC_MSG_SetHardMinByFreq),
-       MSG_MAP(SetHardMaxByFreq,               PPSMC_MSG_SetHardMaxByFreq),
-       MSG_MAP(GetMinDpmFreq,                  PPSMC_MSG_GetMinDpmFreq),
-       MSG_MAP(GetMaxDpmFreq,                  PPSMC_MSG_GetMaxDpmFreq),
-       MSG_MAP(GetDpmFreqByIndex,              PPSMC_MSG_GetDpmFreqByIndex),
-       MSG_MAP(SetMemoryChannelConfig,         
PPSMC_MSG_SetMemoryChannelConfig),
-       MSG_MAP(SetGeminiMode,                  PPSMC_MSG_SetGeminiMode),
-       MSG_MAP(SetGeminiApertureHigh,          
PPSMC_MSG_SetGeminiApertureHigh),
-       MSG_MAP(SetGeminiApertureLow,           PPSMC_MSG_SetGeminiApertureLow),
-       MSG_MAP(OverridePcieParameters,         
PPSMC_MSG_OverridePcieParameters),
-       MSG_MAP(SetMinDeepSleepDcefclk,         
PPSMC_MSG_SetMinDeepSleepDcefclk),
-       MSG_MAP(ReenableAcDcInterrupt,          
PPSMC_MSG_ReenableAcDcInterrupt),
-       MSG_MAP(NotifyPowerSource,              PPSMC_MSG_NotifyPowerSource),
-       MSG_MAP(SetUclkFastSwitch,              PPSMC_MSG_SetUclkFastSwitch),
-       MSG_MAP(SetVideoFps,                    PPSMC_MSG_SetVideoFps),
-       MSG_MAP(PrepareMp1ForUnload,            PPSMC_MSG_PrepareMp1ForUnload),
-       MSG_MAP(DramLogSetDramAddrHigh,         
PPSMC_MSG_DramLogSetDramAddrHigh),
-       MSG_MAP(DramLogSetDramAddrLow,          
PPSMC_MSG_DramLogSetDramAddrLow),
-       MSG_MAP(DramLogSetDramSize,             PPSMC_MSG_DramLogSetDramSize),
-       MSG_MAP(ConfigureGfxDidt,               PPSMC_MSG_ConfigureGfxDidt),
-       MSG_MAP(NumOfDisplays,                  PPSMC_MSG_NumOfDisplays),
-       MSG_MAP(SetSystemVirtualDramAddrHigh,   
PPSMC_MSG_SetSystemVirtualDramAddrHigh),
-       MSG_MAP(SetSystemVirtualDramAddrLow,    
PPSMC_MSG_SetSystemVirtualDramAddrLow),
-       MSG_MAP(AllowGfxOff,                    PPSMC_MSG_AllowGfxOff),
-       MSG_MAP(DisallowGfxOff,                 PPSMC_MSG_DisallowGfxOff),
-       MSG_MAP(GetPptLimit,                    PPSMC_MSG_GetPptLimit),
-       MSG_MAP(GetDcModeMaxDpmFreq,            PPSMC_MSG_GetDcModeMaxDpmFreq),
-       MSG_MAP(GetDebugData,                   PPSMC_MSG_GetDebugData),
-       MSG_MAP(ExitBaco,                       PPSMC_MSG_ExitBaco),
-       MSG_MAP(PrepareMp1ForReset,             PPSMC_MSG_PrepareMp1ForReset),
-       MSG_MAP(PrepareMp1ForShutdown,          
PPSMC_MSG_PrepareMp1ForShutdown),
-       MSG_MAP(PowerUpVcn,             PPSMC_MSG_PowerUpVcn),
-       MSG_MAP(PowerDownVcn,           PPSMC_MSG_PowerDownVcn),
-       MSG_MAP(PowerUpJpeg,            PPSMC_MSG_PowerUpJpeg),
-       MSG_MAP(PowerDownJpeg,          PPSMC_MSG_PowerDownJpeg),
-       MSG_MAP(BacoAudioD3PME,         PPSMC_MSG_BacoAudioD3PME),
-       MSG_MAP(ArmD3,                  PPSMC_MSG_ArmD3),
-       
MSG_MAP(DAL_DISABLE_DUMMY_PSTATE_CHANGE,PPSMC_MSG_DALDisableDummyPstateChange),
-       MSG_MAP(DAL_ENABLE_DUMMY_PSTATE_CHANGE, 
PPSMC_MSG_DALEnableDummyPstateChange),
-       MSG_MAP(GetVoltageByDpm,                     PPSMC_MSG_GetVoltageByDpm),
-       MSG_MAP(GetVoltageByDpmOverdrive,            
PPSMC_MSG_GetVoltageByDpmOverdrive),
+#define MSG_MAP(msg, index, valid_in_vf) \
+       [SMU_MSG_##msg] = {1, (index), (valid_in_vf)}
+
+static struct smu_11_0_msg_mapping navi10_message_map[SMU_MSG_MAX_COUNT] = {
+       MSG_MAP(TestMessage,                    PPSMC_MSG_TestMessage,          
        1),
+       MSG_MAP(GetSmuVersion,                  PPSMC_MSG_GetSmuVersion,        
        1),
+       MSG_MAP(GetDriverIfVersion,             PPSMC_MSG_GetDriverIfVersion,   
        1),
+       MSG_MAP(SetAllowedFeaturesMaskLow,      
PPSMC_MSG_SetAllowedFeaturesMaskLow,    0),
+       MSG_MAP(SetAllowedFeaturesMaskHigh,     
PPSMC_MSG_SetAllowedFeaturesMaskHigh,   0),
+       MSG_MAP(EnableAllSmuFeatures,           PPSMC_MSG_EnableAllSmuFeatures, 
        0),
+       MSG_MAP(DisableAllSmuFeatures,          
PPSMC_MSG_DisableAllSmuFeatures,        0),
+       MSG_MAP(EnableSmuFeaturesLow,           PPSMC_MSG_EnableSmuFeaturesLow, 
        1),
+       MSG_MAP(EnableSmuFeaturesHigh,          
PPSMC_MSG_EnableSmuFeaturesHigh,        1),
+       MSG_MAP(DisableSmuFeaturesLow,          
PPSMC_MSG_DisableSmuFeaturesLow,        1),
+       MSG_MAP(DisableSmuFeaturesHigh,         
PPSMC_MSG_DisableSmuFeaturesHigh,       1),
+       MSG_MAP(GetEnabledSmuFeaturesLow,       
PPSMC_MSG_GetEnabledSmuFeaturesLow,     1),
+       MSG_MAP(GetEnabledSmuFeaturesHigh,      
PPSMC_MSG_GetEnabledSmuFeaturesHigh,    1),
+       MSG_MAP(SetWorkloadMask,                PPSMC_MSG_SetWorkloadMask,      
        1),
+       MSG_MAP(SetPptLimit,                    PPSMC_MSG_SetPptLimit,          
        0),
+       MSG_MAP(SetDriverDramAddrHigh,          
PPSMC_MSG_SetDriverDramAddrHigh,        0),
+       MSG_MAP(SetDriverDramAddrLow,           PPSMC_MSG_SetDriverDramAddrLow, 
        0),
+       MSG_MAP(SetToolsDramAddrHigh,           PPSMC_MSG_SetToolsDramAddrHigh, 
        0),
+       MSG_MAP(SetToolsDramAddrLow,            PPSMC_MSG_SetToolsDramAddrLow,  
        0),
+       MSG_MAP(TransferTableSmu2Dram,          
PPSMC_MSG_TransferTableSmu2Dram,        0),
+       MSG_MAP(TransferTableDram2Smu,          
PPSMC_MSG_TransferTableDram2Smu,        0),
+       MSG_MAP(UseDefaultPPTable,              PPSMC_MSG_UseDefaultPPTable,    
        0),
+       MSG_MAP(UseBackupPPTable,               PPSMC_MSG_UseBackupPPTable,     
        0),
+       MSG_MAP(RunBtc,                         PPSMC_MSG_RunBtc,               
        0),
+       MSG_MAP(EnterBaco,                      PPSMC_MSG_EnterBaco,            
        0),
+       MSG_MAP(SetSoftMinByFreq,               PPSMC_MSG_SetSoftMinByFreq,     
        0),
+       MSG_MAP(SetSoftMaxByFreq,               PPSMC_MSG_SetSoftMaxByFreq,     
        0),
+       MSG_MAP(SetHardMinByFreq,               PPSMC_MSG_SetHardMinByFreq,     
        1),
+       MSG_MAP(SetHardMaxByFreq,               PPSMC_MSG_SetHardMaxByFreq,     
        0),
+       MSG_MAP(GetMinDpmFreq,                  PPSMC_MSG_GetMinDpmFreq,        
        1),
+       MSG_MAP(GetMaxDpmFreq,                  PPSMC_MSG_GetMaxDpmFreq,        
        1),
+       MSG_MAP(GetDpmFreqByIndex,              PPSMC_MSG_GetDpmFreqByIndex,    
        1),
+       MSG_MAP(SetMemoryChannelConfig,         
PPSMC_MSG_SetMemoryChannelConfig,       0),
+       MSG_MAP(SetGeminiMode,                  PPSMC_MSG_SetGeminiMode,        
        0),
+       MSG_MAP(SetGeminiApertureHigh,          
PPSMC_MSG_SetGeminiApertureHigh,        0),
+       MSG_MAP(SetGeminiApertureLow,           PPSMC_MSG_SetGeminiApertureLow, 
        0),
+       MSG_MAP(OverridePcieParameters,         
PPSMC_MSG_OverridePcieParameters,       0),
+       MSG_MAP(SetMinDeepSleepDcefclk,         
PPSMC_MSG_SetMinDeepSleepDcefclk,       0),
+       MSG_MAP(ReenableAcDcInterrupt,          
PPSMC_MSG_ReenableAcDcInterrupt,        0),
+       MSG_MAP(NotifyPowerSource,              PPSMC_MSG_NotifyPowerSource,    
        0),
+       MSG_MAP(SetUclkFastSwitch,              PPSMC_MSG_SetUclkFastSwitch,    
        0),
+       MSG_MAP(SetVideoFps,                    PPSMC_MSG_SetVideoFps,          
        0),
+       MSG_MAP(PrepareMp1ForUnload,            PPSMC_MSG_PrepareMp1ForUnload,  
        1),
+       MSG_MAP(DramLogSetDramAddrHigh,         
PPSMC_MSG_DramLogSetDramAddrHigh,       0),
+       MSG_MAP(DramLogSetDramAddrLow,          
PPSMC_MSG_DramLogSetDramAddrLow,        0),
+       MSG_MAP(DramLogSetDramSize,             PPSMC_MSG_DramLogSetDramSize,   
        0),
+       MSG_MAP(ConfigureGfxDidt,               PPSMC_MSG_ConfigureGfxDidt,     
        0),
+       MSG_MAP(NumOfDisplays,                  PPSMC_MSG_NumOfDisplays,        
        0),
+       MSG_MAP(SetSystemVirtualDramAddrHigh,   
PPSMC_MSG_SetSystemVirtualDramAddrHigh, 0),
+       MSG_MAP(SetSystemVirtualDramAddrLow,    
PPSMC_MSG_SetSystemVirtualDramAddrLow,  0),
+       MSG_MAP(AllowGfxOff,                    PPSMC_MSG_AllowGfxOff,          
        0),
+       MSG_MAP(DisallowGfxOff,                 PPSMC_MSG_DisallowGfxOff,       
        0),
+       MSG_MAP(GetPptLimit,                    PPSMC_MSG_GetPptLimit,          
        0),
+       MSG_MAP(GetDcModeMaxDpmFreq,            PPSMC_MSG_GetDcModeMaxDpmFreq,  
        1),
+       MSG_MAP(GetDebugData,                   PPSMC_MSG_GetDebugData,         
        0),
+       MSG_MAP(ExitBaco,                       PPSMC_MSG_ExitBaco,             
        0),
+       MSG_MAP(PrepareMp1ForReset,             PPSMC_MSG_PrepareMp1ForReset,   
        0),
+       MSG_MAP(PrepareMp1ForShutdown,          
PPSMC_MSG_PrepareMp1ForShutdown,        0),
+       MSG_MAP(PowerUpVcn,                     PPSMC_MSG_PowerUpVcn,           
        0),
+       MSG_MAP(PowerDownVcn,                   PPSMC_MSG_PowerDownVcn,         
        0),
+       MSG_MAP(PowerUpJpeg,                    PPSMC_MSG_PowerUpJpeg,          
        0),
+       MSG_MAP(PowerDownJpeg,                  PPSMC_MSG_PowerDownJpeg,        
        0),
+       MSG_MAP(BacoAudioD3PME,                 PPSMC_MSG_BacoAudioD3PME,       
        0),
+       MSG_MAP(ArmD3,                          PPSMC_MSG_ArmD3,                
        0),
+       
MSG_MAP(DAL_DISABLE_DUMMY_PSTATE_CHANGE,PPSMC_MSG_DALDisableDummyPstateChange,  
0),
+       MSG_MAP(DAL_ENABLE_DUMMY_PSTATE_CHANGE, 
PPSMC_MSG_DALEnableDummyPstateChange,   0),
+       MSG_MAP(GetVoltageByDpm,                PPSMC_MSG_GetVoltageByDpm,      
        0),
+       MSG_MAP(GetVoltageByDpmOverdrive,       
PPSMC_MSG_GetVoltageByDpmOverdrive,     0),
 };
 
 static struct smu_11_0_cmn2aisc_mapping navi10_clk_map[SMU_CLK_COUNT] = {
@@ -218,7 +218,7 @@ static struct smu_11_0_cmn2aisc_mapping 
navi10_workload_map[PP_SMC_POWER_PROFILE
 
 static int navi10_get_smu_msg_index(struct smu_context *smc, uint32_t index)
 {
-       struct smu_11_0_cmn2aisc_mapping mapping;
+       struct smu_11_0_msg_mapping mapping;
 
        if (index >= SMU_MSG_MAX_COUNT)
                return -EINVAL;
-- 
2.17.1

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to