Re: [PATCH v2 4/5] cxl: CXL Performance Monitoring Unit driver

From: kernel test robot
Date: Fri Mar 24 2023 - 18:05:03 EST


Hi Jonathan,

I love your patch! Perhaps something to improve:

[auto build test WARNING on acme/perf/core]
[also build test WARNING on tip/perf/core cxl/next cxl/pending linus/master v6.3-rc3 next-20230324]
[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/Jonathan-Cameron/cxl-Add-function-to-count-regblocks-of-a-given-type/20230325-011827
base: https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git perf/core
patch link: https://lore.kernel.org/r/20230324171313.18448-5-Jonathan.Cameron%40huawei.com
patch subject: [PATCH v2 4/5] cxl: CXL Performance Monitoring Unit driver
config: i386-randconfig-a004 (https://download.01.org/0day-ci/archive/20230325/202303250546.ijiFKIpM-lkp@xxxxxxxxx/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/a04f0052a1fa10bda54569c8c7b3ab7fe60ca975
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Jonathan-Cameron/cxl-Add-function-to-count-regblocks-of-a-given-type/20230325-011827
git checkout a04f0052a1fa10bda54569c8c7b3ab7fe60ca975
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/cxl/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202303250546.ijiFKIpM-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

drivers/cxl/cpmu.c:101:8: error: implicit declaration of function 'readq' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
val = readq(base + CPMU_CAP_REG);
^
drivers/cxl/cpmu.c:559:3: error: implicit declaration of function 'writeq' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
writeq(0, base + CPMU_FREEZE_REG);
^
drivers/cxl/cpmu.c:578:3: error: implicit declaration of function 'writeq' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
writeq(GENMASK(63, 0), base + CPMU_FREEZE_REG);
^
>> drivers/cxl/cpmu.c:578:10: warning: shift count is negative [-Wshift-count-negative]
writeq(GENMASK(63, 0), base + CPMU_FREEZE_REG);
^~~~~~~~~~~~~~
include/linux/bits.h:37:31: note: expanded from macro 'GENMASK'
(GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l))
^~~~~~~~~~~~~~~
include/linux/bits.h:35:11: note: expanded from macro '__GENMASK'
(~UL(0) >> (BITS_PER_LONG - 1 - (h))))
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/cxl/cpmu.c:605:3: error: implicit declaration of function 'writeq' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
writeq(cfg, base + CPMU_FILTER_CFG_REG(hwc->idx, 0));
^
drivers/cxl/cpmu.c:608:8: error: implicit declaration of function 'readq' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
cfg = readq(base + CPMU_COUNTER_CFG_REG(hwc->idx));
^
drivers/cxl/cpmu.c:630:2: error: implicit declaration of function 'writeq' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
writeq(cfg, base + CPMU_COUNTER_CFG_REG(hwc->idx));
^
drivers/cxl/cpmu.c:648:9: error: implicit declaration of function 'readq' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
return readq(base + CPMU_COUNTER_REG(event->hw.idx));
^
drivers/cxl/cpmu.c:689:8: error: implicit declaration of function 'readq' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
cfg = readq(base + CPMU_COUNTER_CFG_REG(hwc->idx));
^
drivers/cxl/cpmu.c:692:2: error: implicit declaration of function 'writeq' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
writeq(cfg, base + CPMU_COUNTER_CFG_REG(hwc->idx));
^
drivers/cxl/cpmu.c:709:2: error: implicit declaration of function 'writeq' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
writeq(0, base + CPMU_EVENT_CAP_REG(idx));
^
drivers/cxl/cpmu.c:761:15: error: implicit declaration of function 'readq' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
overflowed = readq(base + CPMU_OVERFLOW_REG);
^
drivers/cxl/cpmu.c:780:2: error: implicit declaration of function 'writeq' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
writeq(overflowed, base + CPMU_OVERFLOW_REG);
^
1 warning and 12 errors generated.


vim +578 drivers/cxl/cpmu.c

564
565 static void cpmu_pmu_disable(struct pmu *pmu)
566 {
567 struct cpmu_info *info = pmu_to_cpmu_info(pmu);
568 void __iomem *base = info->base;
569
570 if (info->freeze_for_enable) {
571 /*
572 * Whilst bits above number of counters are RsvdZ
573 * they are unlikely to be repurposed given
574 * number of counters is allowed to be 64 leaving
575 * no reserved bits. Hence this is only slightly
576 * naughty.
577 */
> 578 writeq(GENMASK(63, 0), base + CPMU_FREEZE_REG);
579 return;
580 }
581 }
582

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