CC: [email protected] CC: [email protected] TO: Huang Rui <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git amd-pstate-dev-v5 head: 33ee93463b3b2fe05043d5be31bfb12475d7b142 commit: 912ee85e7c162de04823c6b061d5a9a482556d91 [6/22] cpufreq: amd: introduce a new amd pstate driver to support future processors :::::: branch date: 3 days ago :::::: commit date: 3 days ago config: x86_64-randconfig-m001-20211202 (https://download.01.org/0day-ci/archive/20211204/[email protected]/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> smatch warnings: drivers/cpufreq/amd-pstate.c:206 amd_get_max_freq() warn: should 'max_perf << 10' be a 64 bit type? drivers/cpufreq/amd-pstate.c:243 amd_get_lowest_nonlinear_freq() warn: should 'lowest_nonlinear_perf << 10' be a 64 bit type? vim +206 drivers/cpufreq/amd-pstate.c 912ee85e7c162de Huang Rui 2021-06-10 191 912ee85e7c162de Huang Rui 2021-06-10 192 static int amd_get_max_freq(struct amd_cpudata *cpudata) 912ee85e7c162de Huang Rui 2021-06-10 193 { 912ee85e7c162de Huang Rui 2021-06-10 194 struct cppc_perf_caps cppc_perf; 912ee85e7c162de Huang Rui 2021-06-10 195 u32 max_perf, max_freq, nominal_freq, nominal_perf; 912ee85e7c162de Huang Rui 2021-06-10 196 u64 boost_ratio; 912ee85e7c162de Huang Rui 2021-06-10 197 912ee85e7c162de Huang Rui 2021-06-10 198 int ret = cppc_get_perf_caps(cpudata->cpu, &cppc_perf); 912ee85e7c162de Huang Rui 2021-06-10 199 if (ret) 912ee85e7c162de Huang Rui 2021-06-10 200 return ret; 912ee85e7c162de Huang Rui 2021-06-10 201 912ee85e7c162de Huang Rui 2021-06-10 202 nominal_freq = cppc_perf.nominal_freq; 912ee85e7c162de Huang Rui 2021-06-10 203 nominal_perf = READ_ONCE(cpudata->nominal_perf); 912ee85e7c162de Huang Rui 2021-06-10 204 max_perf = READ_ONCE(cpudata->highest_perf); 912ee85e7c162de Huang Rui 2021-06-10 205 912ee85e7c162de Huang Rui 2021-06-10 @206 boost_ratio = div_u64(max_perf << SCHED_CAPACITY_SHIFT, 912ee85e7c162de Huang Rui 2021-06-10 207 nominal_perf); 912ee85e7c162de Huang Rui 2021-06-10 208 912ee85e7c162de Huang Rui 2021-06-10 209 max_freq = nominal_freq * boost_ratio >> SCHED_CAPACITY_SHIFT; 912ee85e7c162de Huang Rui 2021-06-10 210 912ee85e7c162de Huang Rui 2021-06-10 211 /* Switch to khz */ 912ee85e7c162de Huang Rui 2021-06-10 212 return max_freq * 1000; 912ee85e7c162de Huang Rui 2021-06-10 213 } 912ee85e7c162de Huang Rui 2021-06-10 214 912ee85e7c162de Huang Rui 2021-06-10 215 static int amd_get_nominal_freq(struct amd_cpudata *cpudata) 912ee85e7c162de Huang Rui 2021-06-10 216 { 912ee85e7c162de Huang Rui 2021-06-10 217 struct cppc_perf_caps cppc_perf; 912ee85e7c162de Huang Rui 2021-06-10 218 912ee85e7c162de Huang Rui 2021-06-10 219 int ret = cppc_get_perf_caps(cpudata->cpu, &cppc_perf); 912ee85e7c162de Huang Rui 2021-06-10 220 if (ret) 912ee85e7c162de Huang Rui 2021-06-10 221 return ret; 912ee85e7c162de Huang Rui 2021-06-10 222 912ee85e7c162de Huang Rui 2021-06-10 223 /* Switch to khz */ 912ee85e7c162de Huang Rui 2021-06-10 224 return cppc_perf.nominal_freq * 1000; 912ee85e7c162de Huang Rui 2021-06-10 225 } 912ee85e7c162de Huang Rui 2021-06-10 226 912ee85e7c162de Huang Rui 2021-06-10 227 static int amd_get_lowest_nonlinear_freq(struct amd_cpudata *cpudata) 912ee85e7c162de Huang Rui 2021-06-10 228 { 912ee85e7c162de Huang Rui 2021-06-10 229 struct cppc_perf_caps cppc_perf; 912ee85e7c162de Huang Rui 2021-06-10 230 u32 lowest_nonlinear_freq, lowest_nonlinear_perf, 912ee85e7c162de Huang Rui 2021-06-10 231 nominal_freq, nominal_perf; 912ee85e7c162de Huang Rui 2021-06-10 232 u64 lowest_nonlinear_ratio; 912ee85e7c162de Huang Rui 2021-06-10 233 912ee85e7c162de Huang Rui 2021-06-10 234 int ret = cppc_get_perf_caps(cpudata->cpu, &cppc_perf); 912ee85e7c162de Huang Rui 2021-06-10 235 if (ret) 912ee85e7c162de Huang Rui 2021-06-10 236 return ret; 912ee85e7c162de Huang Rui 2021-06-10 237 912ee85e7c162de Huang Rui 2021-06-10 238 nominal_freq = cppc_perf.nominal_freq; 912ee85e7c162de Huang Rui 2021-06-10 239 nominal_perf = READ_ONCE(cpudata->nominal_perf); 912ee85e7c162de Huang Rui 2021-06-10 240 912ee85e7c162de Huang Rui 2021-06-10 241 lowest_nonlinear_perf = cppc_perf.lowest_nonlinear_perf; 912ee85e7c162de Huang Rui 2021-06-10 242 912ee85e7c162de Huang Rui 2021-06-10 @243 lowest_nonlinear_ratio = div_u64(lowest_nonlinear_perf << SCHED_CAPACITY_SHIFT, 912ee85e7c162de Huang Rui 2021-06-10 244 nominal_perf); 912ee85e7c162de Huang Rui 2021-06-10 245 912ee85e7c162de Huang Rui 2021-06-10 246 lowest_nonlinear_freq = nominal_freq * lowest_nonlinear_ratio >> SCHED_CAPACITY_SHIFT; 912ee85e7c162de Huang Rui 2021-06-10 247 912ee85e7c162de Huang Rui 2021-06-10 248 /* Switch to khz */ 912ee85e7c162de Huang Rui 2021-06-10 249 return lowest_nonlinear_freq * 1000; 912ee85e7c162de Huang Rui 2021-06-10 250 } 912ee85e7c162de Huang Rui 2021-06-10 251 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
