CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: Kenneth Feng <[email protected]>
CC: Alex Deucher <[email protected]>
CC: Jack Gui <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   700170bf6b4d773e328fa54ebb70ba444007c702
commit: 2492d40d6ff2043682316b26c1c6436c9023de8f drm/amd/pm: pp_dpm_* interface 
for smu_v13_0_7
date:   4 weeks ago
:::::: branch date: 6 hours ago
:::::: commit date: 4 weeks ago
config: ia64-randconfig-m031-20220530 
(https://download.01.org/0day-ci/archive/20220601/[email protected]/config)
compiler: ia64-linux-gcc (GCC) 11.3.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

smatch warnings:
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_7_ppt.c:1067 
smu_v13_0_7_force_clk_levels() error: buffer overflow 
'single_dpm_table->dpm_levels' 16 <= 31

vim +1067 drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_7_ppt.c

2492d40d6ff204 Kenneth Feng 2022-04-15  1004  
2492d40d6ff204 Kenneth Feng 2022-04-15  1005  static int 
smu_v13_0_7_force_clk_levels(struct smu_context *smu,
2492d40d6ff204 Kenneth Feng 2022-04-15  1006                                    
enum smu_clk_type clk_type,
2492d40d6ff204 Kenneth Feng 2022-04-15  1007                                    
uint32_t mask)
2492d40d6ff204 Kenneth Feng 2022-04-15  1008  {
2492d40d6ff204 Kenneth Feng 2022-04-15  1009    struct smu_dpm_context *smu_dpm 
= &smu->smu_dpm;
2492d40d6ff204 Kenneth Feng 2022-04-15  1010    struct smu_13_0_dpm_context 
*dpm_context = smu_dpm->dpm_context;
2492d40d6ff204 Kenneth Feng 2022-04-15  1011    struct smu_13_0_dpm_table 
*single_dpm_table;
2492d40d6ff204 Kenneth Feng 2022-04-15  1012    uint32_t soft_min_level, 
soft_max_level;
2492d40d6ff204 Kenneth Feng 2022-04-15  1013    uint32_t min_freq, max_freq;
2492d40d6ff204 Kenneth Feng 2022-04-15  1014    int ret = 0;
2492d40d6ff204 Kenneth Feng 2022-04-15  1015  
2492d40d6ff204 Kenneth Feng 2022-04-15  1016    soft_min_level = mask ? 
(ffs(mask) - 1) : 0;
2492d40d6ff204 Kenneth Feng 2022-04-15  1017    soft_max_level = mask ? 
(fls(mask) - 1) : 0;
2492d40d6ff204 Kenneth Feng 2022-04-15  1018  
2492d40d6ff204 Kenneth Feng 2022-04-15  1019    switch (clk_type) {
2492d40d6ff204 Kenneth Feng 2022-04-15  1020    case SMU_GFXCLK:
2492d40d6ff204 Kenneth Feng 2022-04-15  1021    case SMU_SCLK:
2492d40d6ff204 Kenneth Feng 2022-04-15  1022            single_dpm_table = 
&(dpm_context->dpm_tables.gfx_table);
2492d40d6ff204 Kenneth Feng 2022-04-15  1023            break;
2492d40d6ff204 Kenneth Feng 2022-04-15  1024    case SMU_MCLK:
2492d40d6ff204 Kenneth Feng 2022-04-15  1025    case SMU_UCLK:
2492d40d6ff204 Kenneth Feng 2022-04-15  1026            single_dpm_table = 
&(dpm_context->dpm_tables.uclk_table);
2492d40d6ff204 Kenneth Feng 2022-04-15  1027            break;
2492d40d6ff204 Kenneth Feng 2022-04-15  1028    case SMU_SOCCLK:
2492d40d6ff204 Kenneth Feng 2022-04-15  1029            single_dpm_table = 
&(dpm_context->dpm_tables.soc_table);
2492d40d6ff204 Kenneth Feng 2022-04-15  1030            break;
2492d40d6ff204 Kenneth Feng 2022-04-15  1031    case SMU_FCLK:
2492d40d6ff204 Kenneth Feng 2022-04-15  1032            single_dpm_table = 
&(dpm_context->dpm_tables.fclk_table);
2492d40d6ff204 Kenneth Feng 2022-04-15  1033            break;
2492d40d6ff204 Kenneth Feng 2022-04-15  1034    case SMU_VCLK:
2492d40d6ff204 Kenneth Feng 2022-04-15  1035    case SMU_VCLK1:
2492d40d6ff204 Kenneth Feng 2022-04-15  1036            single_dpm_table = 
&(dpm_context->dpm_tables.vclk_table);
2492d40d6ff204 Kenneth Feng 2022-04-15  1037            break;
2492d40d6ff204 Kenneth Feng 2022-04-15  1038    case SMU_DCLK:
2492d40d6ff204 Kenneth Feng 2022-04-15  1039    case SMU_DCLK1:
2492d40d6ff204 Kenneth Feng 2022-04-15  1040            single_dpm_table = 
&(dpm_context->dpm_tables.dclk_table);
2492d40d6ff204 Kenneth Feng 2022-04-15  1041            break;
2492d40d6ff204 Kenneth Feng 2022-04-15  1042    default:
2492d40d6ff204 Kenneth Feng 2022-04-15  1043            break;
2492d40d6ff204 Kenneth Feng 2022-04-15  1044    }
2492d40d6ff204 Kenneth Feng 2022-04-15  1045  
2492d40d6ff204 Kenneth Feng 2022-04-15  1046    switch (clk_type) {
2492d40d6ff204 Kenneth Feng 2022-04-15  1047    case SMU_GFXCLK:
2492d40d6ff204 Kenneth Feng 2022-04-15  1048    case SMU_SCLK:
2492d40d6ff204 Kenneth Feng 2022-04-15  1049    case SMU_MCLK:
2492d40d6ff204 Kenneth Feng 2022-04-15  1050    case SMU_UCLK:
2492d40d6ff204 Kenneth Feng 2022-04-15  1051    case SMU_SOCCLK:
2492d40d6ff204 Kenneth Feng 2022-04-15  1052    case SMU_FCLK:
2492d40d6ff204 Kenneth Feng 2022-04-15  1053    case SMU_VCLK:
2492d40d6ff204 Kenneth Feng 2022-04-15  1054    case SMU_VCLK1:
2492d40d6ff204 Kenneth Feng 2022-04-15  1055    case SMU_DCLK:
2492d40d6ff204 Kenneth Feng 2022-04-15  1056    case SMU_DCLK1:
2492d40d6ff204 Kenneth Feng 2022-04-15  1057            if 
(single_dpm_table->is_fine_grained) {
2492d40d6ff204 Kenneth Feng 2022-04-15  1058                    /* There is 
only 2 levels for fine grained DPM */
2492d40d6ff204 Kenneth Feng 2022-04-15  1059                    soft_max_level 
= (soft_max_level >= 1 ? 1 : 0);
2492d40d6ff204 Kenneth Feng 2022-04-15  1060                    soft_min_level 
= (soft_min_level >= 1 ? 1 : 0);
2492d40d6ff204 Kenneth Feng 2022-04-15  1061            } else {
2492d40d6ff204 Kenneth Feng 2022-04-15  1062                    if 
((soft_max_level >= single_dpm_table->count) ||
2492d40d6ff204 Kenneth Feng 2022-04-15  1063                        
(soft_min_level >= single_dpm_table->count))
2492d40d6ff204 Kenneth Feng 2022-04-15  1064                            return 
-EINVAL;
2492d40d6ff204 Kenneth Feng 2022-04-15  1065            }
2492d40d6ff204 Kenneth Feng 2022-04-15  1066  
2492d40d6ff204 Kenneth Feng 2022-04-15 @1067            min_freq = 
single_dpm_table->dpm_levels[soft_min_level].value;
2492d40d6ff204 Kenneth Feng 2022-04-15  1068            max_freq = 
single_dpm_table->dpm_levels[soft_max_level].value;
2492d40d6ff204 Kenneth Feng 2022-04-15  1069  
2492d40d6ff204 Kenneth Feng 2022-04-15  1070            ret = 
smu_v13_0_set_soft_freq_limited_range(smu,
2492d40d6ff204 Kenneth Feng 2022-04-15  1071                                    
                    clk_type,
2492d40d6ff204 Kenneth Feng 2022-04-15  1072                                    
                    min_freq,
2492d40d6ff204 Kenneth Feng 2022-04-15  1073                                    
                    max_freq);
2492d40d6ff204 Kenneth Feng 2022-04-15  1074            break;
2492d40d6ff204 Kenneth Feng 2022-04-15  1075    case SMU_DCEFCLK:
2492d40d6ff204 Kenneth Feng 2022-04-15  1076    case SMU_PCIE:
2492d40d6ff204 Kenneth Feng 2022-04-15  1077    default:
2492d40d6ff204 Kenneth Feng 2022-04-15  1078            break;
2492d40d6ff204 Kenneth Feng 2022-04-15  1079    }
2492d40d6ff204 Kenneth Feng 2022-04-15  1080  
2492d40d6ff204 Kenneth Feng 2022-04-15  1081    return ret;
2492d40d6ff204 Kenneth Feng 2022-04-15  1082  }
2492d40d6ff204 Kenneth Feng 2022-04-15  1083  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to