tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: b992b79ca8bc336fa8e2c80990b5af80ed8f36fd commit: cabff60ca77da6cb460988e2af40bde95776d92b [1969/7397] cache: Add StarFive StarLink cache management config: riscv-randconfig-r061-20240621 (https://download.01.org/0day-ci/archive/20240621/202406210833.YnAXTakc-lkp@xxxxxxxxx/config) compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project ad79a14c9e5ec4a369eed4adf567c22cc029863f) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240621/202406210833.YnAXTakc-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/202406210833.YnAXTakc-lkp@xxxxxxxxx/ All error/warnings (new ones prefixed by >>): | ~~~~~~~~~~~ ^ ~~~ In file included from drivers/cache/starfive_starlink_cache.c:12: In file included from include/linux/iopoll.h:14: In file included from include/linux/io.h:14: In file included from arch/riscv/include/asm/io.h:136: include/asm-generic/io.h:548:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 548 | val = __raw_readb(PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:561:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 561 | val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr)); | ~~~~~~~~~~ ^ include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu' 37 | #define __le16_to_cpu(x) ((__force __u16)(__le16)(x)) | ^ In file included from drivers/cache/starfive_starlink_cache.c:12: In file included from include/linux/iopoll.h:14: In file included from include/linux/io.h:14: In file included from arch/riscv/include/asm/io.h:136: include/asm-generic/io.h:574:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 574 | val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr)); | ~~~~~~~~~~ ^ include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu' 35 | #define __le32_to_cpu(x) ((__force __u32)(__le32)(x)) | ^ In file included from drivers/cache/starfive_starlink_cache.c:12: In file included from include/linux/iopoll.h:14: In file included from include/linux/io.h:14: In file included from arch/riscv/include/asm/io.h:136: include/asm-generic/io.h:585:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 585 | __raw_writeb(value, PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:595:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 595 | __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:605:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 605 | __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:744:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 744 | insb(addr, buffer, count); | ^~~~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/io.h:104:53: note: expanded from macro 'insb' 104 | #define insb(addr, buffer, count) __insb(PCI_IOBASE + (addr), buffer, count) | ~~~~~~~~~~ ^ In file included from drivers/cache/starfive_starlink_cache.c:12: In file included from include/linux/iopoll.h:14: In file included from include/linux/io.h:14: In file included from arch/riscv/include/asm/io.h:136: include/asm-generic/io.h:752:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 752 | insw(addr, buffer, count); | ^~~~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/io.h:105:53: note: expanded from macro 'insw' 105 | #define insw(addr, buffer, count) __insw(PCI_IOBASE + (addr), buffer, count) | ~~~~~~~~~~ ^ In file included from drivers/cache/starfive_starlink_cache.c:12: In file included from include/linux/iopoll.h:14: In file included from include/linux/io.h:14: In file included from arch/riscv/include/asm/io.h:136: include/asm-generic/io.h:760:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 760 | insl(addr, buffer, count); | ^~~~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/io.h:106:53: note: expanded from macro 'insl' 106 | #define insl(addr, buffer, count) __insl(PCI_IOBASE + (addr), buffer, count) | ~~~~~~~~~~ ^ In file included from drivers/cache/starfive_starlink_cache.c:12: In file included from include/linux/iopoll.h:14: In file included from include/linux/io.h:14: In file included from arch/riscv/include/asm/io.h:136: include/asm-generic/io.h:769:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 769 | outsb(addr, buffer, count); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/io.h:118:55: note: expanded from macro 'outsb' 118 | #define outsb(addr, buffer, count) __outsb(PCI_IOBASE + (addr), buffer, count) | ~~~~~~~~~~ ^ In file included from drivers/cache/starfive_starlink_cache.c:12: In file included from include/linux/iopoll.h:14: In file included from include/linux/io.h:14: In file included from arch/riscv/include/asm/io.h:136: include/asm-generic/io.h:778:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 778 | outsw(addr, buffer, count); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/io.h:119:55: note: expanded from macro 'outsw' 119 | #define outsw(addr, buffer, count) __outsw(PCI_IOBASE + (addr), buffer, count) | ~~~~~~~~~~ ^ In file included from drivers/cache/starfive_starlink_cache.c:12: In file included from include/linux/iopoll.h:14: In file included from include/linux/io.h:14: In file included from arch/riscv/include/asm/io.h:136: include/asm-generic/io.h:787:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 787 | outsl(addr, buffer, count); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/io.h:120:55: note: expanded from macro 'outsl' 120 | #define outsl(addr, buffer, count) __outsl(PCI_IOBASE + (addr), buffer, count) | ~~~~~~~~~~ ^ In file included from drivers/cache/starfive_starlink_cache.c:12: In file included from include/linux/iopoll.h:14: In file included from include/linux/io.h:14: In file included from arch/riscv/include/asm/io.h:136: include/asm-generic/io.h:1115:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 1115 | return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port; | ~~~~~~~~~~ ^ >> drivers/cache/starfive_starlink_cache.c:40:8: error: call to undeclared function 'readq'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 40 | ret = readq_poll_timeout_atomic(ctl, v, !(v & STARLINK_CACHE_FLUSH_CTL_ENABLE_MASK), | ^ include/linux/iopoll.h:179:28: note: expanded from macro 'readq_poll_timeout_atomic' 179 | readx_poll_timeout_atomic(readq, addr, val, cond, delay_us, timeout_us) | ^ >> drivers/cache/starfive_starlink_cache.c:49:2: error: call to undeclared function 'writeq'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 49 | writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr), | ^ >> drivers/cache/starfive_starlink_cache.c:49:20: warning: shift count is negative [-Wshift-count-negative] 49 | writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/cache/starfive_starlink_cache.c:22:44: note: expanded from macro 'STARLINK_CACHE_ADDRESS_RANGE_MASK' 22 | #define STARLINK_CACHE_ADDRESS_RANGE_MASK GENMASK(39, 0) | ^ include/linux/bits.h:35:31: note: expanded from macro 'GENMASK' 35 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^ include/uapi/linux/bits.h:9:19: note: expanded from macro '__GENMASK' 9 | (~_UL(0) >> (__BITS_PER_LONG - 1 - (h)))) | ^ note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:487:22: note: expanded from macro 'compiletime_assert' 487 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:475:23: note: expanded from macro '_compiletime_assert' 475 | __compiletime_assert(condition, msg, prefix, suffix) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:467:9: note: expanded from macro '__compiletime_assert' 467 | if (!(condition)) \ | ^~~~~~~~~ >> drivers/cache/starfive_starlink_cache.c:49:20: warning: shift count is negative [-Wshift-count-negative] 49 | writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/cache/starfive_starlink_cache.c:22:44: note: expanded from macro 'STARLINK_CACHE_ADDRESS_RANGE_MASK' 22 | #define STARLINK_CACHE_ADDRESS_RANGE_MASK GENMASK(39, 0) | ^ include/linux/bits.h:35:31: note: expanded from macro 'GENMASK' 35 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^ include/uapi/linux/bits.h:9:19: note: expanded from macro '__GENMASK' 9 | (~_UL(0) >> (__BITS_PER_LONG - 1 - (h)))) | ^ note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:487:22: note: expanded from macro 'compiletime_assert' 487 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:475:23: note: expanded from macro '_compiletime_assert' 475 | __compiletime_assert(condition, msg, prefix, suffix) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:467:9: note: expanded from macro '__compiletime_assert' 467 | if (!(condition)) \ | ^~~~~~~~~ >> drivers/cache/starfive_starlink_cache.c:49:20: warning: shift count is negative [-Wshift-count-negative] 49 | writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/cache/starfive_starlink_cache.c:22:44: note: expanded from macro 'STARLINK_CACHE_ADDRESS_RANGE_MASK' 22 | #define STARLINK_CACHE_ADDRESS_RANGE_MASK GENMASK(39, 0) | ^ include/linux/bits.h:35:31: note: expanded from macro 'GENMASK' 35 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^ include/uapi/linux/bits.h:9:19: note: expanded from macro '__GENMASK' 9 | (~_UL(0) >> (__BITS_PER_LONG - 1 - (h)))) | ^ note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:487:22: note: expanded from macro 'compiletime_assert' 487 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:475:23: note: expanded from macro '_compiletime_assert' 475 | __compiletime_assert(condition, msg, prefix, suffix) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:467:9: note: expanded from macro '__compiletime_assert' 467 | if (!(condition)) \ | ^~~~~~~~~ >> drivers/cache/starfive_starlink_cache.c:49:20: warning: shift count is negative [-Wshift-count-negative] 49 | writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/cache/starfive_starlink_cache.c:22:44: note: expanded from macro 'STARLINK_CACHE_ADDRESS_RANGE_MASK' 22 | #define STARLINK_CACHE_ADDRESS_RANGE_MASK GENMASK(39, 0) | ^ include/linux/bits.h:35:31: note: expanded from macro 'GENMASK' 35 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^ include/uapi/linux/bits.h:9:19: note: expanded from macro '__GENMASK' 9 | (~_UL(0) >> (__BITS_PER_LONG - 1 - (h)))) | ^ note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:487:22: note: expanded from macro 'compiletime_assert' 487 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:475:23: note: expanded from macro '_compiletime_assert' 475 | __compiletime_assert(condition, msg, prefix, suffix) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:467:9: note: expanded from macro '__compiletime_assert' 467 | if (!(condition)) \ | ^~~~~~~~~ >> drivers/cache/starfive_starlink_cache.c:49:20: warning: shift count is negative [-Wshift-count-negative] 49 | writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/cache/starfive_starlink_cache.c:22:44: note: expanded from macro 'STARLINK_CACHE_ADDRESS_RANGE_MASK' 22 | #define STARLINK_CACHE_ADDRESS_RANGE_MASK GENMASK(39, 0) | ^ include/linux/bits.h:35:31: note: expanded from macro 'GENMASK' 35 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^ include/uapi/linux/bits.h:9:19: note: expanded from macro '__GENMASK' 9 | (~_UL(0) >> (__BITS_PER_LONG - 1 - (h)))) | ^ note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:487:22: note: expanded from macro 'compiletime_assert' 487 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:475:23: note: expanded from macro '_compiletime_assert' 475 | __compiletime_assert(condition, msg, prefix, suffix) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:467:9: note: expanded from macro '__compiletime_assert' 467 | if (!(condition)) \ | ^~~~~~~~~ >> drivers/cache/starfive_starlink_cache.c:49:20: warning: shift count is negative [-Wshift-count-negative] 49 | writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/cache/starfive_starlink_cache.c:22:44: note: expanded from macro 'STARLINK_CACHE_ADDRESS_RANGE_MASK' 22 | #define STARLINK_CACHE_ADDRESS_RANGE_MASK GENMASK(39, 0) | ^ include/linux/bits.h:35:31: note: expanded from macro 'GENMASK' 35 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^ include/uapi/linux/bits.h:9:19: note: expanded from macro '__GENMASK' 9 | (~_UL(0) >> (__BITS_PER_LONG - 1 - (h)))) | ^ note: (skipping 5 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:487:22: note: expanded from macro 'compiletime_assert' 487 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:475:23: note: expanded from macro '_compiletime_assert' 475 | __compiletime_assert(condition, msg, prefix, suffix) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:467:9: note: expanded from macro '__compiletime_assert' 467 | if (!(condition)) \ | ^~~~~~~~~ >> drivers/cache/starfive_starlink_cache.c:49:20: warning: shift count is negative [-Wshift-count-negative] 49 | writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/cache/starfive_starlink_cache.c:22:44: note: expanded from macro 'STARLINK_CACHE_ADDRESS_RANGE_MASK' 22 | #define STARLINK_CACHE_ADDRESS_RANGE_MASK GENMASK(39, 0) | ^ include/linux/bits.h:35:31: note: expanded from macro 'GENMASK' 35 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^ include/uapi/linux/bits.h:9:19: note: expanded from macro '__GENMASK' 9 | (~_UL(0) >> (__BITS_PER_LONG - 1 - (h)))) | ^ note: (skipping 6 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:487:22: note: expanded from macro 'compiletime_assert' 487 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:475:23: note: expanded from macro '_compiletime_assert' 475 | __compiletime_assert(condition, msg, prefix, suffix) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:467:9: note: expanded from macro '__compiletime_assert' 467 | if (!(condition)) \ | ^~~~~~~~~ >> drivers/cache/starfive_starlink_cache.c:49:20: warning: shift count is negative [-Wshift-count-negative] 49 | writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/cache/starfive_starlink_cache.c:22:44: note: expanded from macro 'STARLINK_CACHE_ADDRESS_RANGE_MASK' 22 | #define STARLINK_CACHE_ADDRESS_RANGE_MASK GENMASK(39, 0) | ^ include/linux/bits.h:35:31: note: expanded from macro 'GENMASK' 35 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^ include/uapi/linux/bits.h:9:19: note: expanded from macro '__GENMASK' 9 | (~_UL(0) >> (__BITS_PER_LONG - 1 - (h)))) | ^ note: (skipping 5 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:487:22: note: expanded from macro 'compiletime_assert' 487 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:475:23: note: expanded from macro '_compiletime_assert' 475 | __compiletime_assert(condition, msg, prefix, suffix) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:467:9: note: expanded from macro '__compiletime_assert' 467 | if (!(condition)) \ | ^~~~~~~~~ >> drivers/cache/starfive_starlink_cache.c:49:20: warning: shift count is negative [-Wshift-count-negative] 49 | writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/cache/starfive_starlink_cache.c:22:44: note: expanded from macro 'STARLINK_CACHE_ADDRESS_RANGE_MASK' 22 | #define STARLINK_CACHE_ADDRESS_RANGE_MASK GENMASK(39, 0) | ^ include/linux/bits.h:35:31: note: expanded from macro 'GENMASK' 35 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^ include/uapi/linux/bits.h:9:19: note: expanded from macro '__GENMASK' 9 | (~_UL(0) >> (__BITS_PER_LONG - 1 - (h)))) | ^ note: (skipping 6 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:487:22: note: expanded from macro 'compiletime_assert' 487 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:475:23: note: expanded from macro '_compiletime_assert' 475 | __compiletime_assert(condition, msg, prefix, suffix) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:467:9: note: expanded from macro '__compiletime_assert' 467 | if (!(condition)) \ | ^~~~~~~~~ >> drivers/cache/starfive_starlink_cache.c:49:20: warning: shift count is negative [-Wshift-count-negative] 49 | writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/cache/starfive_starlink_cache.c:22:44: note: expanded from macro 'STARLINK_CACHE_ADDRESS_RANGE_MASK' 22 | #define STARLINK_CACHE_ADDRESS_RANGE_MASK GENMASK(39, 0) | ^ include/linux/bits.h:35:31: note: expanded from macro 'GENMASK' 35 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^ include/uapi/linux/bits.h:9:19: note: expanded from macro '__GENMASK' 9 | (~_UL(0) >> (__BITS_PER_LONG - 1 - (h)))) | ^ include/linux/bitfield.h:116:38: note: expanded from macro 'FIELD_PREP' 116 | ((typeof(_mask))(_val) << __bf_shf(_mask)) & (_mask); \ | ~~~~~~~~~^~~~~~ include/linux/bitfield.h:45:38: note: expanded from macro '__bf_shf' 45 | #define __bf_shf(x) (__builtin_ffsll(x) - 1) | ^ >> drivers/cache/starfive_starlink_cache.c:49:20: warning: shift count is negative [-Wshift-count-negative] 49 | writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/cache/starfive_starlink_cache.c:22:44: note: expanded from macro 'STARLINK_CACHE_ADDRESS_RANGE_MASK' 22 | #define STARLINK_CACHE_ADDRESS_RANGE_MASK GENMASK(39, 0) | ^ include/linux/bits.h:35:31: note: expanded from macro 'GENMASK' 35 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^ include/uapi/linux/bits.h:9:19: note: expanded from macro '__GENMASK' 9 | (~_UL(0) >> (__BITS_PER_LONG - 1 - (h)))) | ^ include/linux/bitfield.h:116:49: note: expanded from macro 'FIELD_PREP' 116 | ((typeof(_mask))(_val) << __bf_shf(_mask)) & (_mask); \ | ^~~~~ drivers/cache/starfive_starlink_cache.c:51:20: warning: shift count is negative [-Wshift-count-negative] 51 | writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr + size), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/cache/starfive_starlink_cache.c:22:44: note: expanded from macro 'STARLINK_CACHE_ADDRESS_RANGE_MASK' 22 | #define STARLINK_CACHE_ADDRESS_RANGE_MASK GENMASK(39, 0) | ^ include/linux/bits.h:35:31: note: expanded from macro 'GENMASK' 35 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^ include/uapi/linux/bits.h:9:19: note: expanded from macro '__GENMASK' 9 | (~_UL(0) >> (__BITS_PER_LONG - 1 - (h)))) | ^ note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:487:22: note: expanded from macro 'compiletime_assert' 487 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:475:23: note: expanded from macro '_compiletime_assert' 475 | __compiletime_assert(condition, msg, prefix, suffix) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:467:9: note: expanded from macro '__compiletime_assert' 467 | if (!(condition)) \ | ^~~~~~~~~ drivers/cache/starfive_starlink_cache.c:51:20: warning: shift count is negative [-Wshift-count-negative] 51 | writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr + size), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/cache/starfive_starlink_cache.c:22:44: note: expanded from macro 'STARLINK_CACHE_ADDRESS_RANGE_MASK' 22 | #define STARLINK_CACHE_ADDRESS_RANGE_MASK GENMASK(39, 0) | ^ include/linux/bits.h:35:31: note: expanded from macro 'GENMASK' 35 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^ include/uapi/linux/bits.h:9:19: note: expanded from macro '__GENMASK' 9 | (~_UL(0) >> (__BITS_PER_LONG - 1 - (h)))) | ^ note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:487:22: note: expanded from macro 'compiletime_assert' 487 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:475:23: note: expanded from macro '_compiletime_assert' 475 | __compiletime_assert(condition, msg, prefix, suffix) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:467:9: note: expanded from macro '__compiletime_assert' 467 | if (!(condition)) \ | ^~~~~~~~~ drivers/cache/starfive_starlink_cache.c:51:20: warning: shift count is negative [-Wshift-count-negative] 51 | writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr + size), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/cache/starfive_starlink_cache.c:22:44: note: expanded from macro 'STARLINK_CACHE_ADDRESS_RANGE_MASK' 22 | #define STARLINK_CACHE_ADDRESS_RANGE_MASK GENMASK(39, 0) | ^ include/linux/bits.h:35:31: note: expanded from macro 'GENMASK' 35 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^ include/uapi/linux/bits.h:9:19: note: expanded from macro '__GENMASK' 9 | (~_UL(0) >> (__BITS_PER_LONG - 1 - (h)))) | ^ note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:487:22: note: expanded from macro 'compiletime_assert' 487 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:475:23: note: expanded from macro '_compiletime_assert' 475 | __compiletime_assert(condition, msg, prefix, suffix) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:467:9: note: expanded from macro '__compiletime_assert' 467 | if (!(condition)) \ | ^~~~~~~~~ drivers/cache/starfive_starlink_cache.c:51:20: warning: shift count is negative [-Wshift-count-negative] 51 | writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr + size), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/cache/starfive_starlink_cache.c:22:44: note: expanded from macro 'STARLINK_CACHE_ADDRESS_RANGE_MASK' 22 | #define STARLINK_CACHE_ADDRESS_RANGE_MASK GENMASK(39, 0) | ^ include/linux/bits.h:35:31: note: expanded from macro 'GENMASK' 35 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^ include/uapi/linux/bits.h:9:19: note: expanded from macro '__GENMASK' 9 | (~_UL(0) >> (__BITS_PER_LONG - 1 - (h)))) | ^ note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:487:22: note: expanded from macro 'compiletime_assert' 487 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:475:23: note: expanded from macro '_compiletime_assert' 475 | __compiletime_assert(condition, msg, prefix, suffix) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:467:9: note: expanded from macro '__compiletime_assert' .. vim +/readq +40 drivers/cache/starfive_starlink_cache.c 33 34 static void starlink_cache_flush_complete(void) 35 { 36 volatile void __iomem *ctl = starlink_cache_base + STARLINK_CACHE_FLUSH_CTL; 37 u64 v; 38 int ret; 39 > 40 ret = readq_poll_timeout_atomic(ctl, v, !(v & STARLINK_CACHE_FLUSH_CTL_ENABLE_MASK), 41 STARLINK_CACHE_FLUSH_POLL_DELAY_US, 42 STARLINK_CACHE_FLUSH_TIMEOUT_US); 43 if (ret) 44 WARN(1, "StarFive Starlink cache flush operation timeout\n"); 45 } 46 47 static void starlink_cache_dma_cache_wback(phys_addr_t paddr, unsigned long size) 48 { > 49 writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr), 50 starlink_cache_base + STARLINK_CACHE_FLUSH_START_ADDR); 51 writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr + size), 52 starlink_cache_base + STARLINK_CACHE_FLUSH_END_ADDR); 53 54 mb(); 55 writeq(FIELD_PREP(STARLINK_CACHE_FLUSH_CTL_MODE_MASK, 56 STARLINK_CACHE_FLUSH_CTL_CLEAN_SHARED), 57 starlink_cache_base + STARLINK_CACHE_FLUSH_CTL); 58 59 starlink_cache_flush_complete(); 60 } 61 62 static void starlink_cache_dma_cache_invalidate(phys_addr_t paddr, unsigned long size) 63 { 64 writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr), 65 starlink_cache_base + STARLINK_CACHE_FLUSH_START_ADDR); 66 writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr + size), 67 starlink_cache_base + STARLINK_CACHE_FLUSH_END_ADDR); 68 69 mb(); 70 writeq(FIELD_PREP(STARLINK_CACHE_FLUSH_CTL_MODE_MASK, 71 STARLINK_CACHE_FLUSH_CTL_MAKE_INVALIDATE), 72 starlink_cache_base + STARLINK_CACHE_FLUSH_CTL); 73 74 starlink_cache_flush_complete(); 75 } 76 77 static void starlink_cache_dma_cache_wback_inv(phys_addr_t paddr, unsigned long size) 78 { 79 writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr), 80 starlink_cache_base + STARLINK_CACHE_FLUSH_START_ADDR); 81 writeq(FIELD_PREP(STARLINK_CACHE_ADDRESS_RANGE_MASK, paddr + size), 82 starlink_cache_base + STARLINK_CACHE_FLUSH_END_ADDR); 83 84 mb(); 85 writeq(FIELD_PREP(STARLINK_CACHE_FLUSH_CTL_MODE_MASK, 86 STARLINK_CACHE_FLUSH_CTL_CLEAN_INVALIDATE), 87 starlink_cache_base + STARLINK_CACHE_FLUSH_CTL); 88 89 starlink_cache_flush_complete(); 90 } 91 92 static const struct riscv_nonstd_cache_ops starlink_cache_ops = { > 93 .wback = &starlink_cache_dma_cache_wback, 94 .inv = &starlink_cache_dma_cache_invalidate, 95 .wback_inv = &starlink_cache_dma_cache_wback_inv, 96 }; 97 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki