tree:
https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.10
head: a34fc0a18f7e71d743c7231ef8186bf3779b5b11
commit: 121d08a011e0315614d6f9018585815c5fab305c [9551/9999] UPSTREAM: cpufreq:
intel_pstate: Process HWP Guaranteed change notification
config: x86_64-randconfig-s022
(
https://download.01.org/0day-ci/archive/20220117/202201171020.cDwgFpX4-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
git remote add chrome-os
https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-5.10
git checkout 121d08a011e0315614d6f9018585815c5fab305c
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir
ARCH=x86_64 SHELL=/bin/bash drivers/cpufreq/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
> drivers/cpufreq/intel_pstate.c:1484:6: sparse: sparse: symbol
'notify_hwp_interrupt' was not declared. Should it be static?
vim +/notify_hwp_interrupt +1484 drivers/cpufreq/intel_pstate.c
1483
1484 void notify_hwp_interrupt(void)
1485 {
1486 unsigned int this_cpu = smp_processor_id();
1487 struct cpudata *cpudata;
1488 unsigned long flags;
1489 u64 value;
1490
1491 if (!READ_ONCE(hwp_active) || !boot_cpu_has(X86_FEATURE_HWP_NOTIFY))
1492 return;
1493
1494 rdmsrl_safe(MSR_HWP_STATUS, &value);
1495 if (!(value & 0x01))
1496 return;
1497
1498 spin_lock_irqsave(&hwp_notify_lock, flags);
1499
1500 if (!cpumask_test_cpu(this_cpu, &hwp_intr_enable_mask))
1501 goto ack_intr;
1502
1503 /*
1504 * Currently we never free all_cpu_data. And we can't reach here
1505 * without this allocated. But for safety for future changes, added
1506 * check.
1507 */
1508 if (unlikely(!READ_ONCE(all_cpu_data)))
1509 goto ack_intr;
1510
1511 /*
1512 * The free is done during cleanup, when cpufreq registry is failed.
1513 * We wouldn't be here if it fails on init or switch status. But for
1514 * future changes, added check.
1515 */
1516 cpudata = READ_ONCE(all_cpu_data[this_cpu]);
1517 if (unlikely(!cpudata))
1518 goto ack_intr;
1519
1520 schedule_delayed_work(&cpudata->hwp_notify_work, msecs_to_jiffies(10));
1521
1522 spin_unlock_irqrestore(&hwp_notify_lock, flags);
1523
1524 return;
1525
1526 ack_intr:
1527 wrmsrl_safe(MSR_HWP_STATUS, 0);
1528 spin_unlock_irqrestore(&hwp_notify_lock, flags);
1529 }
1530
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org