Re: [PATCH] cpufreq: intel_pstate: Fix scaling for hybrid capable system with disabled E-cores

From: kernel test robot
Date: Wed Jun 28 2023 - 22:03:17 EST


Hi Srinivas,

kernel test robot noticed the following build errors:

[auto build test ERROR on rafael-pm/linux-next]
[also build test ERROR on linus/master v6.4 next-20230628]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Srinivas-Pandruvada/cpufreq-intel_pstate-Fix-scaling-for-hybrid-capable-system-with-disabled-E-cores/20230629-065506
base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
patch link: https://lore.kernel.org/r/20230628225341.3718351-1-srinivas.pandruvada%40linux.intel.com
patch subject: [PATCH] cpufreq: intel_pstate: Fix scaling for hybrid capable system with disabled E-cores
config: i386-buildonly-randconfig-r004-20230628 (https://download.01.org/0day-ci/archive/20230629/202306290948.ThmHeSqf-lkp@xxxxxxxxx/config)
compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project.git 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a)
reproduce: (https://download.01.org/0day-ci/archive/20230629/202306290948.ThmHeSqf-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306290948.ThmHeSqf-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

>> drivers/cpufreq/intel_pstate.c:1975:10: error: use of undeclared identifier 'HYBRID_SCALING_FACTOR'
return HYBRID_SCALING_FACTOR;
^
>> drivers/cpufreq/intel_pstate.c:1979:10: error: call to undeclared function 'core_get_scaling'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
return core_get_scaling();
^
drivers/cpufreq/intel_pstate.c:1979:10: note: did you mean 'core_get_val'?
drivers/cpufreq/intel_pstate.c:1932:12: note: 'core_get_val' declared here
static u64 core_get_val(struct cpudata *cpudata, int pstate)
^
>> drivers/cpufreq/intel_pstate.c:1990:9: error: call to undeclared function 'intel_pstate_cppc_get_scaling'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
return intel_pstate_cppc_get_scaling(cpu);
^
>> drivers/cpufreq/intel_pstate.c:2350:17: error: use of undeclared identifier 'core_get_scaling'; did you mean 'core_get_val'?
.get_scaling = core_get_scaling,
^~~~~~~~~~~~~~~~
core_get_val
drivers/cpufreq/intel_pstate.c:1932:12: note: 'core_get_val' declared here
static u64 core_get_val(struct cpudata *cpudata, int pstate)
^
>> drivers/cpufreq/intel_pstate.c:2350:17: error: incompatible function pointer types initializing 'int (*)(void)' with an expression of type 'u64 (struct cpudata *, int)' (aka 'unsigned long long (struct cpudata *, int)') [-Werror,-Wincompatible-function-pointer-types]
.get_scaling = core_get_scaling,
^~~~~~~~~~~~~~~~
drivers/cpufreq/intel_pstate.c:2380:17: error: use of undeclared identifier 'core_get_scaling'; did you mean 'core_get_val'?
.get_scaling = core_get_scaling,
^~~~~~~~~~~~~~~~
core_get_val
drivers/cpufreq/intel_pstate.c:1932:12: note: 'core_get_val' declared here
static u64 core_get_val(struct cpudata *cpudata, int pstate)
^
drivers/cpufreq/intel_pstate.c:2380:17: error: incompatible function pointer types initializing 'int (*)(void)' with an expression of type 'u64 (struct cpudata *, int)' (aka 'unsigned long long (struct cpudata *, int)') [-Werror,-Wincompatible-function-pointer-types]
.get_scaling = core_get_scaling,
^~~~~~~~~~~~~~~~
7 errors generated.


vim +/HYBRID_SCALING_FACTOR +1975 drivers/cpufreq/intel_pstate.c

1967
1968 static int hwp_get_cpu_scaling(int cpu)
1969 {
1970 u8 cpu_type = 0;
1971
1972 smp_call_function_single(cpu, hybrid_get_type, &cpu_type, 1);
1973 /* P-cores have a smaller perf level-to-freqency scaling factor. */
1974 if (cpu_type == 0x40)
> 1975 return HYBRID_SCALING_FACTOR;
1976
1977 /* Use default core scaling for E-cores */
1978 if (cpu_type == 0x20)
> 1979 return core_get_scaling();
1980
1981 /*
1982 * If reached here, it means that, this system is either non
1983 * hybrid system (like Tiger Lake) or hybrid capable system (like
1984 * Alder Lake or Raptor Lake) with no E cores (CPUID for hybrid
1985 * support is 0).
1986 * All non hybrid systems, don't publish nominal_frequency
1987 * field (means nominal frequency = 0), In that case
1988 * the legacy core scaling is used.
1989 */
> 1990 return intel_pstate_cppc_get_scaling(cpu);
1991 }
1992

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki