All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_0_ppt.c:1031 smu_v13_0_0_force_clk_levels() error: buffer overflow 'single_dpm_table->dpm_levels' 16 <= 31
@ 2022-05-31 21:28 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2022-05-31 21:28 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 6692 bytes --]

CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Evan Quan <evan.quan@amd.com>
CC: Alex Deucher <alexander.deucher@amd.com>
CC: Lijo Lazar <lijo.lazar@amd.com>
CC: Hawking Zhang <Hawking.Zhang@amd.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   e1cbc3b96a9974746b2a80c3a6c8a0f7eff7b1b5
commit: 276c03a0547068026241decd2c1159df0be5941f drm/amd/smu: Update SMU13 support for SMU 13.0.0
date:   4 weeks ago
:::::: branch date: 5 hours ago
:::::: commit date: 4 weeks ago
config: ia64-randconfig-m031-20220530 (https://download.01.org/0day-ci/archive/20220601/202206010526.g4lk4W3k-lkp(a)intel.com/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 <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

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

vim +1031 drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_0_ppt.c

276c03a0547068 Evan Quan 2022-04-06   968  
276c03a0547068 Evan Quan 2022-04-06   969  static int smu_v13_0_0_force_clk_levels(struct smu_context *smu,
276c03a0547068 Evan Quan 2022-04-06   970  					enum smu_clk_type clk_type,
276c03a0547068 Evan Quan 2022-04-06   971  					uint32_t mask)
276c03a0547068 Evan Quan 2022-04-06   972  {
276c03a0547068 Evan Quan 2022-04-06   973  	struct smu_dpm_context *smu_dpm = &smu->smu_dpm;
276c03a0547068 Evan Quan 2022-04-06   974  	struct smu_13_0_dpm_context *dpm_context = smu_dpm->dpm_context;
276c03a0547068 Evan Quan 2022-04-06   975  	struct smu_13_0_dpm_table *single_dpm_table;
276c03a0547068 Evan Quan 2022-04-06   976  	uint32_t soft_min_level, soft_max_level;
276c03a0547068 Evan Quan 2022-04-06   977  	uint32_t min_freq, max_freq;
276c03a0547068 Evan Quan 2022-04-06   978  	int ret = 0;
276c03a0547068 Evan Quan 2022-04-06   979  
276c03a0547068 Evan Quan 2022-04-06   980  	soft_min_level = mask ? (ffs(mask) - 1) : 0;
276c03a0547068 Evan Quan 2022-04-06   981  	soft_max_level = mask ? (fls(mask) - 1) : 0;
276c03a0547068 Evan Quan 2022-04-06   982  
276c03a0547068 Evan Quan 2022-04-06   983  	switch (clk_type) {
276c03a0547068 Evan Quan 2022-04-06   984  	case SMU_GFXCLK:
276c03a0547068 Evan Quan 2022-04-06   985  	case SMU_SCLK:
276c03a0547068 Evan Quan 2022-04-06   986  		single_dpm_table = &(dpm_context->dpm_tables.gfx_table);
276c03a0547068 Evan Quan 2022-04-06   987  		break;
276c03a0547068 Evan Quan 2022-04-06   988  	case SMU_MCLK:
276c03a0547068 Evan Quan 2022-04-06   989  	case SMU_UCLK:
276c03a0547068 Evan Quan 2022-04-06   990  		single_dpm_table = &(dpm_context->dpm_tables.uclk_table);
276c03a0547068 Evan Quan 2022-04-06   991  		break;
276c03a0547068 Evan Quan 2022-04-06   992  	case SMU_SOCCLK:
276c03a0547068 Evan Quan 2022-04-06   993  		single_dpm_table = &(dpm_context->dpm_tables.soc_table);
276c03a0547068 Evan Quan 2022-04-06   994  		break;
276c03a0547068 Evan Quan 2022-04-06   995  	case SMU_FCLK:
276c03a0547068 Evan Quan 2022-04-06   996  		single_dpm_table = &(dpm_context->dpm_tables.fclk_table);
276c03a0547068 Evan Quan 2022-04-06   997  		break;
276c03a0547068 Evan Quan 2022-04-06   998  	case SMU_VCLK:
276c03a0547068 Evan Quan 2022-04-06   999  	case SMU_VCLK1:
276c03a0547068 Evan Quan 2022-04-06  1000  		single_dpm_table = &(dpm_context->dpm_tables.vclk_table);
276c03a0547068 Evan Quan 2022-04-06  1001  		break;
276c03a0547068 Evan Quan 2022-04-06  1002  	case SMU_DCLK:
276c03a0547068 Evan Quan 2022-04-06  1003  	case SMU_DCLK1:
276c03a0547068 Evan Quan 2022-04-06  1004  		single_dpm_table = &(dpm_context->dpm_tables.dclk_table);
276c03a0547068 Evan Quan 2022-04-06  1005  		break;
276c03a0547068 Evan Quan 2022-04-06  1006  	default:
276c03a0547068 Evan Quan 2022-04-06  1007  		break;
276c03a0547068 Evan Quan 2022-04-06  1008  	}
276c03a0547068 Evan Quan 2022-04-06  1009  
276c03a0547068 Evan Quan 2022-04-06  1010  	switch (clk_type) {
276c03a0547068 Evan Quan 2022-04-06  1011  	case SMU_GFXCLK:
276c03a0547068 Evan Quan 2022-04-06  1012  	case SMU_SCLK:
276c03a0547068 Evan Quan 2022-04-06  1013  	case SMU_MCLK:
276c03a0547068 Evan Quan 2022-04-06  1014  	case SMU_UCLK:
276c03a0547068 Evan Quan 2022-04-06  1015  	case SMU_SOCCLK:
276c03a0547068 Evan Quan 2022-04-06  1016  	case SMU_FCLK:
276c03a0547068 Evan Quan 2022-04-06  1017  	case SMU_VCLK:
276c03a0547068 Evan Quan 2022-04-06  1018  	case SMU_VCLK1:
276c03a0547068 Evan Quan 2022-04-06  1019  	case SMU_DCLK:
276c03a0547068 Evan Quan 2022-04-06  1020  	case SMU_DCLK1:
276c03a0547068 Evan Quan 2022-04-06  1021  		if (single_dpm_table->is_fine_grained) {
276c03a0547068 Evan Quan 2022-04-06  1022  			/* There is only 2 levels for fine grained DPM */
276c03a0547068 Evan Quan 2022-04-06  1023  			soft_max_level = (soft_max_level >= 1 ? 1 : 0);
276c03a0547068 Evan Quan 2022-04-06  1024  			soft_min_level = (soft_min_level >= 1 ? 1 : 0);
276c03a0547068 Evan Quan 2022-04-06  1025  		} else {
276c03a0547068 Evan Quan 2022-04-06  1026  			if ((soft_max_level >= single_dpm_table->count) ||
276c03a0547068 Evan Quan 2022-04-06  1027  			    (soft_min_level >= single_dpm_table->count))
276c03a0547068 Evan Quan 2022-04-06  1028  				return -EINVAL;
276c03a0547068 Evan Quan 2022-04-06  1029  		}
276c03a0547068 Evan Quan 2022-04-06  1030  
276c03a0547068 Evan Quan 2022-04-06 @1031  		min_freq = single_dpm_table->dpm_levels[soft_min_level].value;
276c03a0547068 Evan Quan 2022-04-06  1032  		max_freq = single_dpm_table->dpm_levels[soft_max_level].value;
276c03a0547068 Evan Quan 2022-04-06  1033  
276c03a0547068 Evan Quan 2022-04-06  1034  		ret = smu_v13_0_set_soft_freq_limited_range(smu,
276c03a0547068 Evan Quan 2022-04-06  1035  							    clk_type,
276c03a0547068 Evan Quan 2022-04-06  1036  							    min_freq,
276c03a0547068 Evan Quan 2022-04-06  1037  							    max_freq);
276c03a0547068 Evan Quan 2022-04-06  1038  		break;
276c03a0547068 Evan Quan 2022-04-06  1039  	case SMU_DCEFCLK:
276c03a0547068 Evan Quan 2022-04-06  1040  	case SMU_PCIE:
276c03a0547068 Evan Quan 2022-04-06  1041  	default:
276c03a0547068 Evan Quan 2022-04-06  1042  		break;
276c03a0547068 Evan Quan 2022-04-06  1043  	}
276c03a0547068 Evan Quan 2022-04-06  1044  
276c03a0547068 Evan Quan 2022-04-06  1045  	return ret;
276c03a0547068 Evan Quan 2022-04-06  1046  }
276c03a0547068 Evan Quan 2022-04-06  1047  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 3+ messages in thread

* drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_0_ppt.c:1031 smu_v13_0_0_force_clk_levels() error: buffer overflow 'single_dpm_table->dpm_levels' 16 <= 31
@ 2022-06-14  4:24 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2022-06-14  4:24 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 6693 bytes --]

CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Evan Quan <evan.quan@amd.com>
CC: Alex Deucher <alexander.deucher@amd.com>
CC: Lijo Lazar <lijo.lazar@amd.com>
CC: Hawking Zhang <Hawking.Zhang@amd.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   b13baccc3850ca8b8cccbf8ed9912dbaa0fdf7f3
commit: 276c03a0547068026241decd2c1159df0be5941f drm/amd/smu: Update SMU13 support for SMU 13.0.0
date:   6 weeks ago
:::::: branch date: 29 hours ago
:::::: commit date: 6 weeks ago
config: ia64-randconfig-m031-20220613 (https://download.01.org/0day-ci/archive/20220614/202206141258.qTOXRmaI-lkp(a)intel.com/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 <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

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

vim +1031 drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_0_ppt.c

276c03a0547068 Evan Quan 2022-04-06   968  
276c03a0547068 Evan Quan 2022-04-06   969  static int smu_v13_0_0_force_clk_levels(struct smu_context *smu,
276c03a0547068 Evan Quan 2022-04-06   970  					enum smu_clk_type clk_type,
276c03a0547068 Evan Quan 2022-04-06   971  					uint32_t mask)
276c03a0547068 Evan Quan 2022-04-06   972  {
276c03a0547068 Evan Quan 2022-04-06   973  	struct smu_dpm_context *smu_dpm = &smu->smu_dpm;
276c03a0547068 Evan Quan 2022-04-06   974  	struct smu_13_0_dpm_context *dpm_context = smu_dpm->dpm_context;
276c03a0547068 Evan Quan 2022-04-06   975  	struct smu_13_0_dpm_table *single_dpm_table;
276c03a0547068 Evan Quan 2022-04-06   976  	uint32_t soft_min_level, soft_max_level;
276c03a0547068 Evan Quan 2022-04-06   977  	uint32_t min_freq, max_freq;
276c03a0547068 Evan Quan 2022-04-06   978  	int ret = 0;
276c03a0547068 Evan Quan 2022-04-06   979  
276c03a0547068 Evan Quan 2022-04-06   980  	soft_min_level = mask ? (ffs(mask) - 1) : 0;
276c03a0547068 Evan Quan 2022-04-06   981  	soft_max_level = mask ? (fls(mask) - 1) : 0;
276c03a0547068 Evan Quan 2022-04-06   982  
276c03a0547068 Evan Quan 2022-04-06   983  	switch (clk_type) {
276c03a0547068 Evan Quan 2022-04-06   984  	case SMU_GFXCLK:
276c03a0547068 Evan Quan 2022-04-06   985  	case SMU_SCLK:
276c03a0547068 Evan Quan 2022-04-06   986  		single_dpm_table = &(dpm_context->dpm_tables.gfx_table);
276c03a0547068 Evan Quan 2022-04-06   987  		break;
276c03a0547068 Evan Quan 2022-04-06   988  	case SMU_MCLK:
276c03a0547068 Evan Quan 2022-04-06   989  	case SMU_UCLK:
276c03a0547068 Evan Quan 2022-04-06   990  		single_dpm_table = &(dpm_context->dpm_tables.uclk_table);
276c03a0547068 Evan Quan 2022-04-06   991  		break;
276c03a0547068 Evan Quan 2022-04-06   992  	case SMU_SOCCLK:
276c03a0547068 Evan Quan 2022-04-06   993  		single_dpm_table = &(dpm_context->dpm_tables.soc_table);
276c03a0547068 Evan Quan 2022-04-06   994  		break;
276c03a0547068 Evan Quan 2022-04-06   995  	case SMU_FCLK:
276c03a0547068 Evan Quan 2022-04-06   996  		single_dpm_table = &(dpm_context->dpm_tables.fclk_table);
276c03a0547068 Evan Quan 2022-04-06   997  		break;
276c03a0547068 Evan Quan 2022-04-06   998  	case SMU_VCLK:
276c03a0547068 Evan Quan 2022-04-06   999  	case SMU_VCLK1:
276c03a0547068 Evan Quan 2022-04-06  1000  		single_dpm_table = &(dpm_context->dpm_tables.vclk_table);
276c03a0547068 Evan Quan 2022-04-06  1001  		break;
276c03a0547068 Evan Quan 2022-04-06  1002  	case SMU_DCLK:
276c03a0547068 Evan Quan 2022-04-06  1003  	case SMU_DCLK1:
276c03a0547068 Evan Quan 2022-04-06  1004  		single_dpm_table = &(dpm_context->dpm_tables.dclk_table);
276c03a0547068 Evan Quan 2022-04-06  1005  		break;
276c03a0547068 Evan Quan 2022-04-06  1006  	default:
276c03a0547068 Evan Quan 2022-04-06  1007  		break;
276c03a0547068 Evan Quan 2022-04-06  1008  	}
276c03a0547068 Evan Quan 2022-04-06  1009  
276c03a0547068 Evan Quan 2022-04-06  1010  	switch (clk_type) {
276c03a0547068 Evan Quan 2022-04-06  1011  	case SMU_GFXCLK:
276c03a0547068 Evan Quan 2022-04-06  1012  	case SMU_SCLK:
276c03a0547068 Evan Quan 2022-04-06  1013  	case SMU_MCLK:
276c03a0547068 Evan Quan 2022-04-06  1014  	case SMU_UCLK:
276c03a0547068 Evan Quan 2022-04-06  1015  	case SMU_SOCCLK:
276c03a0547068 Evan Quan 2022-04-06  1016  	case SMU_FCLK:
276c03a0547068 Evan Quan 2022-04-06  1017  	case SMU_VCLK:
276c03a0547068 Evan Quan 2022-04-06  1018  	case SMU_VCLK1:
276c03a0547068 Evan Quan 2022-04-06  1019  	case SMU_DCLK:
276c03a0547068 Evan Quan 2022-04-06  1020  	case SMU_DCLK1:
276c03a0547068 Evan Quan 2022-04-06  1021  		if (single_dpm_table->is_fine_grained) {
276c03a0547068 Evan Quan 2022-04-06  1022  			/* There is only 2 levels for fine grained DPM */
276c03a0547068 Evan Quan 2022-04-06  1023  			soft_max_level = (soft_max_level >= 1 ? 1 : 0);
276c03a0547068 Evan Quan 2022-04-06  1024  			soft_min_level = (soft_min_level >= 1 ? 1 : 0);
276c03a0547068 Evan Quan 2022-04-06  1025  		} else {
276c03a0547068 Evan Quan 2022-04-06  1026  			if ((soft_max_level >= single_dpm_table->count) ||
276c03a0547068 Evan Quan 2022-04-06  1027  			    (soft_min_level >= single_dpm_table->count))
276c03a0547068 Evan Quan 2022-04-06  1028  				return -EINVAL;
276c03a0547068 Evan Quan 2022-04-06  1029  		}
276c03a0547068 Evan Quan 2022-04-06  1030  
276c03a0547068 Evan Quan 2022-04-06 @1031  		min_freq = single_dpm_table->dpm_levels[soft_min_level].value;
276c03a0547068 Evan Quan 2022-04-06  1032  		max_freq = single_dpm_table->dpm_levels[soft_max_level].value;
276c03a0547068 Evan Quan 2022-04-06  1033  
276c03a0547068 Evan Quan 2022-04-06  1034  		ret = smu_v13_0_set_soft_freq_limited_range(smu,
276c03a0547068 Evan Quan 2022-04-06  1035  							    clk_type,
276c03a0547068 Evan Quan 2022-04-06  1036  							    min_freq,
276c03a0547068 Evan Quan 2022-04-06  1037  							    max_freq);
276c03a0547068 Evan Quan 2022-04-06  1038  		break;
276c03a0547068 Evan Quan 2022-04-06  1039  	case SMU_DCEFCLK:
276c03a0547068 Evan Quan 2022-04-06  1040  	case SMU_PCIE:
276c03a0547068 Evan Quan 2022-04-06  1041  	default:
276c03a0547068 Evan Quan 2022-04-06  1042  		break;
276c03a0547068 Evan Quan 2022-04-06  1043  	}
276c03a0547068 Evan Quan 2022-04-06  1044  
276c03a0547068 Evan Quan 2022-04-06  1045  	return ret;
276c03a0547068 Evan Quan 2022-04-06  1046  }
276c03a0547068 Evan Quan 2022-04-06  1047  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 3+ messages in thread

* drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_0_ppt.c:1031 smu_v13_0_0_force_clk_levels() error: buffer overflow 'single_dpm_table->dpm_levels' 16 <= 31
@ 2022-06-18  9:17 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2022-06-18  9:17 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 6693 bytes --]

CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Evan Quan <evan.quan@amd.com>
CC: Alex Deucher <alexander.deucher@amd.com>
CC: Lijo Lazar <lijo.lazar@amd.com>
CC: Hawking Zhang <Hawking.Zhang@amd.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   4b35035bcf80ddb47c0112c4fbd84a63a2836a18
commit: 276c03a0547068026241decd2c1159df0be5941f drm/amd/smu: Update SMU13 support for SMU 13.0.0
date:   6 weeks ago
:::::: branch date: 13 hours ago
:::::: commit date: 6 weeks ago
config: ia64-randconfig-m031-20220616 (https://download.01.org/0day-ci/archive/20220618/202206181704.FRfydS7y-lkp(a)intel.com/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 <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

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

vim +1031 drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_0_ppt.c

276c03a0547068 Evan Quan 2022-04-06   968  
276c03a0547068 Evan Quan 2022-04-06   969  static int smu_v13_0_0_force_clk_levels(struct smu_context *smu,
276c03a0547068 Evan Quan 2022-04-06   970  					enum smu_clk_type clk_type,
276c03a0547068 Evan Quan 2022-04-06   971  					uint32_t mask)
276c03a0547068 Evan Quan 2022-04-06   972  {
276c03a0547068 Evan Quan 2022-04-06   973  	struct smu_dpm_context *smu_dpm = &smu->smu_dpm;
276c03a0547068 Evan Quan 2022-04-06   974  	struct smu_13_0_dpm_context *dpm_context = smu_dpm->dpm_context;
276c03a0547068 Evan Quan 2022-04-06   975  	struct smu_13_0_dpm_table *single_dpm_table;
276c03a0547068 Evan Quan 2022-04-06   976  	uint32_t soft_min_level, soft_max_level;
276c03a0547068 Evan Quan 2022-04-06   977  	uint32_t min_freq, max_freq;
276c03a0547068 Evan Quan 2022-04-06   978  	int ret = 0;
276c03a0547068 Evan Quan 2022-04-06   979  
276c03a0547068 Evan Quan 2022-04-06   980  	soft_min_level = mask ? (ffs(mask) - 1) : 0;
276c03a0547068 Evan Quan 2022-04-06   981  	soft_max_level = mask ? (fls(mask) - 1) : 0;
276c03a0547068 Evan Quan 2022-04-06   982  
276c03a0547068 Evan Quan 2022-04-06   983  	switch (clk_type) {
276c03a0547068 Evan Quan 2022-04-06   984  	case SMU_GFXCLK:
276c03a0547068 Evan Quan 2022-04-06   985  	case SMU_SCLK:
276c03a0547068 Evan Quan 2022-04-06   986  		single_dpm_table = &(dpm_context->dpm_tables.gfx_table);
276c03a0547068 Evan Quan 2022-04-06   987  		break;
276c03a0547068 Evan Quan 2022-04-06   988  	case SMU_MCLK:
276c03a0547068 Evan Quan 2022-04-06   989  	case SMU_UCLK:
276c03a0547068 Evan Quan 2022-04-06   990  		single_dpm_table = &(dpm_context->dpm_tables.uclk_table);
276c03a0547068 Evan Quan 2022-04-06   991  		break;
276c03a0547068 Evan Quan 2022-04-06   992  	case SMU_SOCCLK:
276c03a0547068 Evan Quan 2022-04-06   993  		single_dpm_table = &(dpm_context->dpm_tables.soc_table);
276c03a0547068 Evan Quan 2022-04-06   994  		break;
276c03a0547068 Evan Quan 2022-04-06   995  	case SMU_FCLK:
276c03a0547068 Evan Quan 2022-04-06   996  		single_dpm_table = &(dpm_context->dpm_tables.fclk_table);
276c03a0547068 Evan Quan 2022-04-06   997  		break;
276c03a0547068 Evan Quan 2022-04-06   998  	case SMU_VCLK:
276c03a0547068 Evan Quan 2022-04-06   999  	case SMU_VCLK1:
276c03a0547068 Evan Quan 2022-04-06  1000  		single_dpm_table = &(dpm_context->dpm_tables.vclk_table);
276c03a0547068 Evan Quan 2022-04-06  1001  		break;
276c03a0547068 Evan Quan 2022-04-06  1002  	case SMU_DCLK:
276c03a0547068 Evan Quan 2022-04-06  1003  	case SMU_DCLK1:
276c03a0547068 Evan Quan 2022-04-06  1004  		single_dpm_table = &(dpm_context->dpm_tables.dclk_table);
276c03a0547068 Evan Quan 2022-04-06  1005  		break;
276c03a0547068 Evan Quan 2022-04-06  1006  	default:
276c03a0547068 Evan Quan 2022-04-06  1007  		break;
276c03a0547068 Evan Quan 2022-04-06  1008  	}
276c03a0547068 Evan Quan 2022-04-06  1009  
276c03a0547068 Evan Quan 2022-04-06  1010  	switch (clk_type) {
276c03a0547068 Evan Quan 2022-04-06  1011  	case SMU_GFXCLK:
276c03a0547068 Evan Quan 2022-04-06  1012  	case SMU_SCLK:
276c03a0547068 Evan Quan 2022-04-06  1013  	case SMU_MCLK:
276c03a0547068 Evan Quan 2022-04-06  1014  	case SMU_UCLK:
276c03a0547068 Evan Quan 2022-04-06  1015  	case SMU_SOCCLK:
276c03a0547068 Evan Quan 2022-04-06  1016  	case SMU_FCLK:
276c03a0547068 Evan Quan 2022-04-06  1017  	case SMU_VCLK:
276c03a0547068 Evan Quan 2022-04-06  1018  	case SMU_VCLK1:
276c03a0547068 Evan Quan 2022-04-06  1019  	case SMU_DCLK:
276c03a0547068 Evan Quan 2022-04-06  1020  	case SMU_DCLK1:
276c03a0547068 Evan Quan 2022-04-06  1021  		if (single_dpm_table->is_fine_grained) {
276c03a0547068 Evan Quan 2022-04-06  1022  			/* There is only 2 levels for fine grained DPM */
276c03a0547068 Evan Quan 2022-04-06  1023  			soft_max_level = (soft_max_level >= 1 ? 1 : 0);
276c03a0547068 Evan Quan 2022-04-06  1024  			soft_min_level = (soft_min_level >= 1 ? 1 : 0);
276c03a0547068 Evan Quan 2022-04-06  1025  		} else {
276c03a0547068 Evan Quan 2022-04-06  1026  			if ((soft_max_level >= single_dpm_table->count) ||
276c03a0547068 Evan Quan 2022-04-06  1027  			    (soft_min_level >= single_dpm_table->count))
276c03a0547068 Evan Quan 2022-04-06  1028  				return -EINVAL;
276c03a0547068 Evan Quan 2022-04-06  1029  		}
276c03a0547068 Evan Quan 2022-04-06  1030  
276c03a0547068 Evan Quan 2022-04-06 @1031  		min_freq = single_dpm_table->dpm_levels[soft_min_level].value;
276c03a0547068 Evan Quan 2022-04-06  1032  		max_freq = single_dpm_table->dpm_levels[soft_max_level].value;
276c03a0547068 Evan Quan 2022-04-06  1033  
276c03a0547068 Evan Quan 2022-04-06  1034  		ret = smu_v13_0_set_soft_freq_limited_range(smu,
276c03a0547068 Evan Quan 2022-04-06  1035  							    clk_type,
276c03a0547068 Evan Quan 2022-04-06  1036  							    min_freq,
276c03a0547068 Evan Quan 2022-04-06  1037  							    max_freq);
276c03a0547068 Evan Quan 2022-04-06  1038  		break;
276c03a0547068 Evan Quan 2022-04-06  1039  	case SMU_DCEFCLK:
276c03a0547068 Evan Quan 2022-04-06  1040  	case SMU_PCIE:
276c03a0547068 Evan Quan 2022-04-06  1041  	default:
276c03a0547068 Evan Quan 2022-04-06  1042  		break;
276c03a0547068 Evan Quan 2022-04-06  1043  	}
276c03a0547068 Evan Quan 2022-04-06  1044  
276c03a0547068 Evan Quan 2022-04-06  1045  	return ret;
276c03a0547068 Evan Quan 2022-04-06  1046  }
276c03a0547068 Evan Quan 2022-04-06  1047  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-06-18  9:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-14  4:24 drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_0_ppt.c:1031 smu_v13_0_0_force_clk_levels() error: buffer overflow 'single_dpm_table->dpm_levels' 16 <= 31 kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2022-06-18  9:17 kernel test robot
2022-05-31 21:28 kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.