From: Eric Huang <[email protected]>

Add the powertune table for VEGAM.

Signed-off-by: Eric Huang <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
---
 .../gpu/drm/amd/powerplay/hwmgr/smu7_powertune.c   | 189 +++++++++++++++++++++
 1 file changed, 189 insertions(+)

diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_powertune.c 
b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_powertune.c
index a55ee166ce9f..a264e0c35f45 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_powertune.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_powertune.c
@@ -623,6 +623,190 @@ static const struct gpu_pt_config_reg 
DIDTConfig_Polaris11_Kicker[] =
        {   0xFFFFFFFF  }  /* End of list */
 };
 
+static const struct gpu_pt_config_reg GCCACConfig_VegaM[] =
+{
+// 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+//      Offset                             Mask                                
                Shift                                               Value       
Type
+// 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+    // DIDT_SQ
+    //
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x00060013, 
GPU_CONFIGREG_GC_CAC_IND },
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x00860013, 
GPU_CONFIGREG_GC_CAC_IND },
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x01060013, 
GPU_CONFIGREG_GC_CAC_IND },
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x01860013, 
GPU_CONFIGREG_GC_CAC_IND },
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x02060013, 
GPU_CONFIGREG_GC_CAC_IND },
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x02860013, 
GPU_CONFIGREG_GC_CAC_IND },
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x03060013, 
GPU_CONFIGREG_GC_CAC_IND },
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x03860013, 
GPU_CONFIGREG_GC_CAC_IND },
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x04060013, 
GPU_CONFIGREG_GC_CAC_IND },
+
+    // DIDT_TD
+    //
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x000E0013, 
GPU_CONFIGREG_GC_CAC_IND },
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x008E0013, 
GPU_CONFIGREG_GC_CAC_IND },
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x010E0013, 
GPU_CONFIGREG_GC_CAC_IND },
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x018E0013, 
GPU_CONFIGREG_GC_CAC_IND },
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x020E0013, 
GPU_CONFIGREG_GC_CAC_IND },
+
+    // DIDT_TCP
+    //
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x00100013, 
GPU_CONFIGREG_GC_CAC_IND },
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x00900013, 
GPU_CONFIGREG_GC_CAC_IND },
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x01100013, 
GPU_CONFIGREG_GC_CAC_IND },
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x01900013, 
GPU_CONFIGREG_GC_CAC_IND },
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x02100013, 
GPU_CONFIGREG_GC_CAC_IND },
+    {   ixGC_CAC_CNTL,                     0xFFFFFFFF,                         
                0,                                                  0x02900013, 
GPU_CONFIGREG_GC_CAC_IND },
+
+    {   0xFFFFFFFF  }  // End of list
+};
+
+static const struct gpu_pt_config_reg DIDTConfig_VegaM[] =
+{
+// 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+//      Offset                             Mask                                
                Shift                                               Value       
Type
+// 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+    // DIDT_SQ
+    //
+    {   ixDIDT_SQ_WEIGHT0_3,               DIDT_SQ_WEIGHT0_3__WEIGHT0_MASK,    
                DIDT_SQ_WEIGHT0_3__WEIGHT0__SHIFT,                  0x0073,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_WEIGHT0_3,               DIDT_SQ_WEIGHT0_3__WEIGHT1_MASK,    
                DIDT_SQ_WEIGHT0_3__WEIGHT1__SHIFT,                  0x00ab,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_WEIGHT0_3,               DIDT_SQ_WEIGHT0_3__WEIGHT2_MASK,    
                DIDT_SQ_WEIGHT0_3__WEIGHT2__SHIFT,                  0x0084,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_WEIGHT0_3,               DIDT_SQ_WEIGHT0_3__WEIGHT3_MASK,    
                DIDT_SQ_WEIGHT0_3__WEIGHT3__SHIFT,                  0x005a,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_SQ_WEIGHT4_7,               DIDT_SQ_WEIGHT4_7__WEIGHT4_MASK,    
                DIDT_SQ_WEIGHT4_7__WEIGHT4__SHIFT,                  0x0067,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_WEIGHT4_7,               DIDT_SQ_WEIGHT4_7__WEIGHT5_MASK,    
                DIDT_SQ_WEIGHT4_7__WEIGHT5__SHIFT,                  0x0084,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_WEIGHT4_7,               DIDT_SQ_WEIGHT4_7__WEIGHT6_MASK,    
                DIDT_SQ_WEIGHT4_7__WEIGHT6__SHIFT,                  0x0027,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_WEIGHT4_7,               DIDT_SQ_WEIGHT4_7__WEIGHT7_MASK,    
                DIDT_SQ_WEIGHT4_7__WEIGHT7__SHIFT,                  0x0046,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_SQ_WEIGHT8_11,              DIDT_SQ_WEIGHT8_11__WEIGHT8_MASK,   
                DIDT_SQ_WEIGHT8_11__WEIGHT8__SHIFT,                 0x00aa,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_WEIGHT8_11,              DIDT_SQ_WEIGHT8_11__WEIGHT9_MASK,   
                DIDT_SQ_WEIGHT8_11__WEIGHT9__SHIFT,                 0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_WEIGHT8_11,              DIDT_SQ_WEIGHT8_11__WEIGHT10_MASK,  
                DIDT_SQ_WEIGHT8_11__WEIGHT10__SHIFT,                0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_WEIGHT8_11,              DIDT_SQ_WEIGHT8_11__WEIGHT11_MASK,  
                DIDT_SQ_WEIGHT8_11__WEIGHT11__SHIFT,                0x0000,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_SQ_CTRL1,                   DIDT_SQ_CTRL1__MIN_POWER_MASK,      
                DIDT_SQ_CTRL1__MIN_POWER__SHIFT,                    0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_CTRL1,                   DIDT_SQ_CTRL1__MAX_POWER_MASK,      
                DIDT_SQ_CTRL1__MAX_POWER__SHIFT,                    0xffff,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_SQ_CTRL_OCP,                DIDT_SQ_CTRL_OCP__UNUSED_0_MASK,    
                DIDT_SQ_CTRL_OCP__UNUSED_0__SHIFT,                  0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_CTRL_OCP,                
DIDT_SQ_CTRL_OCP__OCP_MAX_POWER_MASK,               
DIDT_SQ_CTRL_OCP__OCP_MAX_POWER__SHIFT,             0xffff,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_SQ_CTRL2,                   
DIDT_SQ_CTRL2__MAX_POWER_DELTA_MASK,                
DIDT_SQ_CTRL2__MAX_POWER_DELTA__SHIFT,              0x3853,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_CTRL2,                   DIDT_SQ_CTRL2__UNUSED_0_MASK,       
                DIDT_SQ_CTRL2__UNUSED_0__SHIFT,                     0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_CTRL2,                   
DIDT_SQ_CTRL2__SHORT_TERM_INTERVAL_SIZE_MASK,       
DIDT_SQ_CTRL2__SHORT_TERM_INTERVAL_SIZE__SHIFT,     0x005a,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_CTRL2,                   DIDT_SQ_CTRL2__UNUSED_1_MASK,       
                DIDT_SQ_CTRL2__UNUSED_1__SHIFT,                     0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_CTRL2,                   
DIDT_SQ_CTRL2__LONG_TERM_INTERVAL_RATIO_MASK,       
DIDT_SQ_CTRL2__LONG_TERM_INTERVAL_RATIO__SHIFT,     0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_CTRL2,                   DIDT_SQ_CTRL2__UNUSED_2_MASK,       
                DIDT_SQ_CTRL2__UNUSED_2__SHIFT,                     0x0000,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_SQ_STALL_CTRL,              
DIDT_SQ_STALL_CTRL__DIDT_STALL_CTRL_ENABLE_MASK,    
DIDT_SQ_STALL_CTRL__DIDT_STALL_CTRL_ENABLE__SHIFT,  0x0001,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_STALL_CTRL,              
DIDT_SQ_STALL_CTRL__DIDT_STALL_DELAY_HI_MASK,       
DIDT_SQ_STALL_CTRL__DIDT_STALL_DELAY_HI__SHIFT,     0x0001,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_STALL_CTRL,              
DIDT_SQ_STALL_CTRL__DIDT_STALL_DELAY_LO_MASK,       
DIDT_SQ_STALL_CTRL__DIDT_STALL_DELAY_LO__SHIFT,     0x0001,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_STALL_CTRL,              
DIDT_SQ_STALL_CTRL__DIDT_HI_POWER_THRESHOLD_MASK,   
DIDT_SQ_STALL_CTRL__DIDT_HI_POWER_THRESHOLD__SHIFT, 0x0ebb,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_STALL_CTRL,              DIDT_SQ_STALL_CTRL__UNUSED_0_MASK,  
                DIDT_SQ_STALL_CTRL__UNUSED_0__SHIFT,                0x0000,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_SQ_TUNING_CTRL,             
DIDT_SQ_TUNING_CTRL__DIDT_TUNING_ENABLE_MASK,       
DIDT_SQ_TUNING_CTRL__DIDT_TUNING_ENABLE__SHIFT,     0x0001,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_TUNING_CTRL,             
DIDT_SQ_TUNING_CTRL__MAX_POWER_DELTA_HI_MASK,       
DIDT_SQ_TUNING_CTRL__MAX_POWER_DELTA_HI__SHIFT,     0x3853,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_TUNING_CTRL,             
DIDT_SQ_TUNING_CTRL__MAX_POWER_DELTA_LO_MASK,       
DIDT_SQ_TUNING_CTRL__MAX_POWER_DELTA_LO__SHIFT,     0x3153,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_TUNING_CTRL,             DIDT_SQ_TUNING_CTRL__UNUSED_0_MASK, 
                DIDT_SQ_TUNING_CTRL__UNUSED_0__SHIFT,               0x0000,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_SQ_CTRL0,                   DIDT_SQ_CTRL0__DIDT_CTRL_EN_MASK,   
                DIDT_SQ_CTRL0__DIDT_CTRL_EN__SHIFT,                 0x0001,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_CTRL0,                   DIDT_SQ_CTRL0__USE_REF_CLOCK_MASK,  
                DIDT_SQ_CTRL0__USE_REF_CLOCK__SHIFT,                0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_CTRL0,                   DIDT_SQ_CTRL0__PHASE_OFFSET_MASK,   
                DIDT_SQ_CTRL0__PHASE_OFFSET__SHIFT,                 0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_CTRL0,                   DIDT_SQ_CTRL0__DIDT_CTRL_RST_MASK,  
                DIDT_SQ_CTRL0__DIDT_CTRL_RST__SHIFT,                0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_CTRL0,                   
DIDT_SQ_CTRL0__DIDT_CLK_EN_OVERRIDE_MASK,           
DIDT_SQ_CTRL0__DIDT_CLK_EN_OVERRIDE__SHIFT,         0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_CTRL0,                   
DIDT_SQ_CTRL0__DIDT_MAX_STALLS_ALLOWED_HI_MASK,     
DIDT_SQ_CTRL0__DIDT_MAX_STALLS_ALLOWED_HI__SHIFT,   0x0010,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_CTRL0,                   
DIDT_SQ_CTRL0__DIDT_MAX_STALLS_ALLOWED_LO_MASK,     
DIDT_SQ_CTRL0__DIDT_MAX_STALLS_ALLOWED_LO__SHIFT,   0x0010,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_SQ_CTRL0,                   DIDT_SQ_CTRL0__UNUSED_0_MASK,       
                DIDT_SQ_CTRL0__UNUSED_0__SHIFT,                     0x0000,     
GPU_CONFIGREG_DIDT_IND },
+
+    // DIDT_TD
+    //
+    {   ixDIDT_TD_WEIGHT0_3,               DIDT_TD_WEIGHT0_3__WEIGHT0_MASK,    
                DIDT_TD_WEIGHT0_3__WEIGHT0__SHIFT,                  0x000a,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_WEIGHT0_3,               DIDT_TD_WEIGHT0_3__WEIGHT1_MASK,    
                DIDT_TD_WEIGHT0_3__WEIGHT1__SHIFT,                  0x0010,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_WEIGHT0_3,               DIDT_TD_WEIGHT0_3__WEIGHT2_MASK,    
                DIDT_TD_WEIGHT0_3__WEIGHT2__SHIFT,                  0x0017,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_WEIGHT0_3,               DIDT_TD_WEIGHT0_3__WEIGHT3_MASK,    
                DIDT_TD_WEIGHT0_3__WEIGHT3__SHIFT,                  0x002f,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_TD_WEIGHT4_7,               DIDT_TD_WEIGHT4_7__WEIGHT4_MASK,    
                DIDT_TD_WEIGHT4_7__WEIGHT4__SHIFT,                  0x0046,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_WEIGHT4_7,               DIDT_TD_WEIGHT4_7__WEIGHT5_MASK,    
                DIDT_TD_WEIGHT4_7__WEIGHT5__SHIFT,                  0x005d,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_WEIGHT4_7,               DIDT_TD_WEIGHT4_7__WEIGHT6_MASK,    
                DIDT_TD_WEIGHT4_7__WEIGHT6__SHIFT,                  0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_WEIGHT4_7,               DIDT_TD_WEIGHT4_7__WEIGHT7_MASK,    
                DIDT_TD_WEIGHT4_7__WEIGHT7__SHIFT,                  0x0000,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_TD_CTRL1,                   DIDT_TD_CTRL1__MIN_POWER_MASK,      
                DIDT_TD_CTRL1__MIN_POWER__SHIFT,                    0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_CTRL1,                   DIDT_TD_CTRL1__MAX_POWER_MASK,      
                DIDT_TD_CTRL1__MAX_POWER__SHIFT,                    0xffff,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_TD_CTRL_OCP,                DIDT_TD_CTRL_OCP__UNUSED_0_MASK,    
                DIDT_TD_CTRL_OCP__UNUSED_0__SHIFT,                  0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_CTRL_OCP,                
DIDT_TD_CTRL_OCP__OCP_MAX_POWER_MASK,               
DIDT_TD_CTRL_OCP__OCP_MAX_POWER__SHIFT,             0x00ff,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_TD_CTRL2,                   
DIDT_TD_CTRL2__MAX_POWER_DELTA_MASK,                
DIDT_TD_CTRL2__MAX_POWER_DELTA__SHIFT,              0x3fff,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_CTRL2,                   DIDT_TD_CTRL2__UNUSED_0_MASK,       
                DIDT_TD_CTRL2__UNUSED_0__SHIFT,                     0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_CTRL2,                   
DIDT_TD_CTRL2__SHORT_TERM_INTERVAL_SIZE_MASK,       
DIDT_TD_CTRL2__SHORT_TERM_INTERVAL_SIZE__SHIFT,     0x000f,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_CTRL2,                   DIDT_TD_CTRL2__UNUSED_1_MASK,       
                DIDT_TD_CTRL2__UNUSED_1__SHIFT,                     0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_CTRL2,                   
DIDT_TD_CTRL2__LONG_TERM_INTERVAL_RATIO_MASK,       
DIDT_TD_CTRL2__LONG_TERM_INTERVAL_RATIO__SHIFT,     0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_CTRL2,                   DIDT_TD_CTRL2__UNUSED_2_MASK,       
                DIDT_TD_CTRL2__UNUSED_2__SHIFT,                     0x0000,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_TD_STALL_CTRL,              
DIDT_TD_STALL_CTRL__DIDT_STALL_CTRL_ENABLE_MASK,    
DIDT_TD_STALL_CTRL__DIDT_STALL_CTRL_ENABLE__SHIFT,  0x0001,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_STALL_CTRL,              
DIDT_TD_STALL_CTRL__DIDT_STALL_DELAY_HI_MASK,       
DIDT_TD_STALL_CTRL__DIDT_STALL_DELAY_HI__SHIFT,     0x0001,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_STALL_CTRL,              
DIDT_TD_STALL_CTRL__DIDT_STALL_DELAY_LO_MASK,       
DIDT_TD_STALL_CTRL__DIDT_STALL_DELAY_LO__SHIFT,     0x0001,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_STALL_CTRL,              
DIDT_TD_STALL_CTRL__DIDT_HI_POWER_THRESHOLD_MASK,   
DIDT_TD_STALL_CTRL__DIDT_HI_POWER_THRESHOLD__SHIFT, 0x01aa,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_STALL_CTRL,              DIDT_TD_STALL_CTRL__UNUSED_0_MASK,  
                DIDT_TD_STALL_CTRL__UNUSED_0__SHIFT,                0x0000,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_TD_TUNING_CTRL,             
DIDT_TD_TUNING_CTRL__DIDT_TUNING_ENABLE_MASK,       
DIDT_TD_TUNING_CTRL__DIDT_TUNING_ENABLE__SHIFT,     0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_TUNING_CTRL,             
DIDT_TD_TUNING_CTRL__MAX_POWER_DELTA_HI_MASK,       
DIDT_TD_TUNING_CTRL__MAX_POWER_DELTA_HI__SHIFT,     0x0dde,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_TUNING_CTRL,             
DIDT_TD_TUNING_CTRL__MAX_POWER_DELTA_LO_MASK,       
DIDT_TD_TUNING_CTRL__MAX_POWER_DELTA_LO__SHIFT,     0x0dde,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_TUNING_CTRL,             DIDT_TD_TUNING_CTRL__UNUSED_0_MASK, 
                DIDT_TD_TUNING_CTRL__UNUSED_0__SHIFT,               0x0000,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_TD_CTRL0,                   DIDT_TD_CTRL0__DIDT_CTRL_EN_MASK,   
                DIDT_TD_CTRL0__DIDT_CTRL_EN__SHIFT,                 0x0001,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_CTRL0,                   DIDT_TD_CTRL0__USE_REF_CLOCK_MASK,  
                DIDT_TD_CTRL0__USE_REF_CLOCK__SHIFT,                0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_CTRL0,                   DIDT_TD_CTRL0__PHASE_OFFSET_MASK,   
                DIDT_TD_CTRL0__PHASE_OFFSET__SHIFT,                 0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_CTRL0,                   DIDT_TD_CTRL0__DIDT_CTRL_RST_MASK,  
                DIDT_TD_CTRL0__DIDT_CTRL_RST__SHIFT,                0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_CTRL0,                   
DIDT_TD_CTRL0__DIDT_CLK_EN_OVERRIDE_MASK,           
DIDT_TD_CTRL0__DIDT_CLK_EN_OVERRIDE__SHIFT,         0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_CTRL0,                   
DIDT_TD_CTRL0__DIDT_MAX_STALLS_ALLOWED_HI_MASK,     
DIDT_TD_CTRL0__DIDT_MAX_STALLS_ALLOWED_HI__SHIFT,   0x0009,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_CTRL0,                   
DIDT_TD_CTRL0__DIDT_MAX_STALLS_ALLOWED_LO_MASK,     
DIDT_TD_CTRL0__DIDT_MAX_STALLS_ALLOWED_LO__SHIFT,   0x0009,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TD_CTRL0,                   DIDT_TD_CTRL0__UNUSED_0_MASK,       
                DIDT_TD_CTRL0__UNUSED_0__SHIFT,                     0x0000,     
GPU_CONFIGREG_DIDT_IND },
+
+    // DIDT_TCP
+    //
+    {   ixDIDT_TCP_WEIGHT0_3,              DIDT_TCP_WEIGHT0_3__WEIGHT0_MASK,   
                DIDT_TCP_WEIGHT0_3__WEIGHT0__SHIFT,                 0x0004,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_WEIGHT0_3,              DIDT_TCP_WEIGHT0_3__WEIGHT1_MASK,   
                DIDT_TCP_WEIGHT0_3__WEIGHT1__SHIFT,                 0x0037,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_WEIGHT0_3,              DIDT_TCP_WEIGHT0_3__WEIGHT2_MASK,   
                DIDT_TCP_WEIGHT0_3__WEIGHT2__SHIFT,                 0x0001,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_WEIGHT0_3,              DIDT_TCP_WEIGHT0_3__WEIGHT3_MASK,   
                DIDT_TCP_WEIGHT0_3__WEIGHT3__SHIFT,                 0x00ff,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_TCP_WEIGHT4_7,              DIDT_TCP_WEIGHT4_7__WEIGHT4_MASK,   
                DIDT_TCP_WEIGHT4_7__WEIGHT4__SHIFT,                 0x0054,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_WEIGHT4_7,              DIDT_TCP_WEIGHT4_7__WEIGHT5_MASK,   
                DIDT_TCP_WEIGHT4_7__WEIGHT5__SHIFT,                 0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_WEIGHT4_7,              DIDT_TCP_WEIGHT4_7__WEIGHT6_MASK,   
                DIDT_TCP_WEIGHT4_7__WEIGHT6__SHIFT,                 0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_WEIGHT4_7,              DIDT_TCP_WEIGHT4_7__WEIGHT7_MASK,   
                DIDT_TCP_WEIGHT4_7__WEIGHT7__SHIFT,                 0x0000,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_TCP_CTRL1,                  DIDT_TCP_CTRL1__MIN_POWER_MASK,     
                DIDT_TCP_CTRL1__MIN_POWER__SHIFT,                   0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_CTRL1,                  DIDT_TCP_CTRL1__MAX_POWER_MASK,     
                DIDT_TCP_CTRL1__MAX_POWER__SHIFT,                   0xffff,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_TCP_CTRL_OCP,               DIDT_TCP_CTRL_OCP__UNUSED_0_MASK,   
                DIDT_TCP_CTRL_OCP__UNUSED_0__SHIFT,                 0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_CTRL_OCP,               
DIDT_TCP_CTRL_OCP__OCP_MAX_POWER_MASK,              
DIDT_TCP_CTRL_OCP__OCP_MAX_POWER__SHIFT,            0xffff,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_TCP_CTRL2,                  
DIDT_TCP_CTRL2__MAX_POWER_DELTA_MASK,               
DIDT_TCP_CTRL2__MAX_POWER_DELTA__SHIFT,             0x3dde,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_CTRL2,                  DIDT_TCP_CTRL2__UNUSED_0_MASK,      
                DIDT_TCP_CTRL2__UNUSED_0__SHIFT,                    0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_CTRL2,                  
DIDT_TCP_CTRL2__SHORT_TERM_INTERVAL_SIZE_MASK,      
DIDT_TCP_CTRL2__SHORT_TERM_INTERVAL_SIZE__SHIFT,    0x0032,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_CTRL2,                  DIDT_TCP_CTRL2__UNUSED_1_MASK,      
                DIDT_TCP_CTRL2__UNUSED_1__SHIFT,                    0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_CTRL2,                  
DIDT_TCP_CTRL2__LONG_TERM_INTERVAL_RATIO_MASK,      
DIDT_TCP_CTRL2__LONG_TERM_INTERVAL_RATIO__SHIFT,    0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_CTRL2,                  DIDT_TCP_CTRL2__UNUSED_2_MASK,      
                DIDT_TCP_CTRL2__UNUSED_2__SHIFT,                    0x0000,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_TCP_STALL_CTRL,             
DIDT_TCP_STALL_CTRL__DIDT_STALL_CTRL_ENABLE_MASK,   
DIDT_TCP_STALL_CTRL__DIDT_STALL_CTRL_ENABLE__SHIFT, 0x0001,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_STALL_CTRL,             
DIDT_TCP_STALL_CTRL__DIDT_STALL_DELAY_HI_MASK,      
DIDT_TCP_STALL_CTRL__DIDT_STALL_DELAY_HI__SHIFT,    0x0001,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_STALL_CTRL,             
DIDT_TCP_STALL_CTRL__DIDT_STALL_DELAY_LO_MASK,      
DIDT_TCP_STALL_CTRL__DIDT_STALL_DELAY_LO__SHIFT,    0x0001,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_STALL_CTRL,             
DIDT_TCP_STALL_CTRL__DIDT_HI_POWER_THRESHOLD_MASK,  
DIDT_TCP_STALL_CTRL__DIDT_HI_POWER_THRESHOLD__SHIFT,0x01aa,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_STALL_CTRL,             DIDT_TCP_STALL_CTRL__UNUSED_0_MASK, 
                DIDT_TCP_STALL_CTRL__UNUSED_0__SHIFT,               0x0000,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_TCP_TUNING_CTRL,            
DIDT_TCP_TUNING_CTRL__DIDT_TUNING_ENABLE_MASK,      
DIDT_TCP_TUNING_CTRL__DIDT_TUNING_ENABLE__SHIFT,    0x0001,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_TUNING_CTRL,            
DIDT_TCP_TUNING_CTRL__MAX_POWER_DELTA_HI_MASK,      
DIDT_TCP_TUNING_CTRL__MAX_POWER_DELTA_HI__SHIFT,    0x3dde,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_TUNING_CTRL,            
DIDT_TCP_TUNING_CTRL__MAX_POWER_DELTA_LO_MASK,      
DIDT_TCP_TUNING_CTRL__MAX_POWER_DELTA_LO__SHIFT,    0x3dde,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_TUNING_CTRL,            
DIDT_TCP_TUNING_CTRL__UNUSED_0_MASK,                
DIDT_TCP_TUNING_CTRL__UNUSED_0__SHIFT,              0x0000,     
GPU_CONFIGREG_DIDT_IND },
+
+    {   ixDIDT_TCP_CTRL0,                   DIDT_TCP_CTRL0__DIDT_CTRL_EN_MASK, 
                  DIDT_TCP_CTRL0__DIDT_CTRL_EN__SHIFT,                 0x0001,  
   GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_CTRL0,                   
DIDT_TCP_CTRL0__USE_REF_CLOCK_MASK,                  
DIDT_TCP_CTRL0__USE_REF_CLOCK__SHIFT,                0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_CTRL0,                   DIDT_TCP_CTRL0__PHASE_OFFSET_MASK, 
                  DIDT_TCP_CTRL0__PHASE_OFFSET__SHIFT,                 0x0000,  
   GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_CTRL0,                   
DIDT_TCP_CTRL0__DIDT_CTRL_RST_MASK,                  
DIDT_TCP_CTRL0__DIDT_CTRL_RST__SHIFT,                0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_CTRL0,                   
DIDT_TCP_CTRL0__DIDT_CLK_EN_OVERRIDE_MASK,           
DIDT_TCP_CTRL0__DIDT_CLK_EN_OVERRIDE__SHIFT,         0x0000,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_CTRL0,                   
DIDT_TCP_CTRL0__DIDT_MAX_STALLS_ALLOWED_HI_MASK,     
DIDT_TCP_CTRL0__DIDT_MAX_STALLS_ALLOWED_HI__SHIFT,   0x0010,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_CTRL0,                   
DIDT_TCP_CTRL0__DIDT_MAX_STALLS_ALLOWED_LO_MASK,     
DIDT_TCP_CTRL0__DIDT_MAX_STALLS_ALLOWED_LO__SHIFT,   0x0010,     
GPU_CONFIGREG_DIDT_IND },
+    {   ixDIDT_TCP_CTRL0,                   DIDT_TCP_CTRL0__UNUSED_0_MASK,     
                  DIDT_TCP_CTRL0__UNUSED_0__SHIFT,                     0x0000,  
   GPU_CONFIGREG_DIDT_IND },
+
+    {   0xFFFFFFFF  }  // End of list
+};
 static int smu7_enable_didt(struct pp_hwmgr *hwmgr, const bool enable)
 {
        uint32_t en = enable ? 1 : 0;
@@ -768,6 +952,11 @@ int smu7_enable_didt_config(struct pp_hwmgr *hwmgr)
                                PP_ASSERT_WITH_CODE((result == 0), "DIDT Config 
failed.", return result);
                                result = 
smu7_program_pt_config_registers(hwmgr, DIDTConfig_Polaris12);
                                PP_ASSERT_WITH_CODE((result == 0), "DIDT Config 
failed.", return result);
+                       } else if (hwmgr->chip_id == CHIP_VEGAM) {
+                               result = 
smu7_program_pt_config_registers(hwmgr, GCCACConfig_VegaM);
+                               PP_ASSERT_WITH_CODE((result == 0), "DIDT Config 
failed.", return result);
+                               result = 
smu7_program_pt_config_registers(hwmgr, DIDTConfig_VegaM);
+                               PP_ASSERT_WITH_CODE((result == 0), "DIDT Config 
failed.", return result);
                        }
                }
                cgs_write_register(hwmgr->device, mmGRBM_GFX_INDEX, value2);
-- 
2.13.6

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

Reply via email to