Hi Vishal,
First bad commit (maybe != root cause):
tree:
https://github.com/Xilinx/linux-xlnx master
head: 043f8a226a752a1dd11f7ff64cee6dbe7334d394
commit: c0b33b8ccd38096c815f2dd39746044d0aa079d3 [59/60] staging: xlnxsync: Fix the uapi
header license
config: h8300-randconfig-s031-20210209 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-215-g0fb77bb6-dirty
#
https://github.com/Xilinx/linux-xlnx/commit/c0b33b8ccd38096c815f2dd397460...
git remote add xlnx
https://github.com/Xilinx/linux-xlnx
git fetch --no-tags xlnx master
git checkout c0b33b8ccd38096c815f2dd39746044d0aa079d3
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300
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/clk/clk-xlnx-clock-wizard-v.c:119:43: sparse: sparse:
cast removes address space '<asn:2>' of expression
drivers/clk/clk-xlnx-clock-wizard-v.c:149:43: sparse: sparse: cast removes address space
'<asn:2>' of expression
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
arch/h8300/include/asm/io.h, include/linux/io.h):
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
include/linux/io.h):
arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space
'<asn:2>' of expression
arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space
'<asn:2>' of expression
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
arch/h8300/include/asm/io.h, include/linux/io.h):
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
include/linux/io.h):
arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space
'<asn:2>' of expression
arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space
'<asn:2>' of expression
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
arch/h8300/include/asm/io.h, include/linux/io.h):
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
include/linux/io.h):
arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space
'<asn:2>' of expression
arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space
'<asn:2>' of expression
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
arch/h8300/include/asm/io.h, include/linux/io.h):
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
include/linux/io.h):
arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space
'<asn:2>' of expression
arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space
'<asn:2>' of expression
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
arch/h8300/include/asm/io.h, include/linux/io.h):
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
include/linux/io.h):
arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space
'<asn:2>' of expression
arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space
'<asn:2>' of expression
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
arch/h8300/include/asm/io.h, include/linux/io.h):
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
include/linux/io.h):
arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space
'<asn:2>' of expression
arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space
'<asn:2>' of expression
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
arch/h8300/include/asm/io.h, include/linux/io.h):
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1
(different base types) @@ expected unsigned int [usertype] b @@ got restricted
__le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] b
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
include/linux/io.h):
arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address space
'<asn:2>' of expression
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
arch/h8300/include/asm/io.h, include/linux/io.h):
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1
(different base types) @@ expected unsigned int [usertype] b @@ got restricted
__le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] b
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
include/linux/io.h):
arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address space
'<asn:2>' of expression
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
arch/h8300/include/asm/io.h, include/linux/io.h):
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
include/linux/io.h):
arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space
'<asn:2>' of expression
arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space
'<asn:2>' of expression
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
arch/h8300/include/asm/io.h, include/linux/io.h):
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1
(different base types) @@ expected unsigned int [usertype] b @@ got restricted
__le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] b
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
include/linux/io.h):
arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address space
'<asn:2>' of expression
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
arch/h8300/include/asm/io.h, include/linux/io.h):
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
include/linux/io.h):
arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space
'<asn:2>' of expression
arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space
'<asn:2>' of expression
drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through
arch/h8300/include/asm/io.h, include/linux/io.h):
vim +119 drivers/clk/clk-xlnx-clock-wizard-v.c
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 113
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 114 static unsigned long
clk_wzrd_recalc_rate(struct clk_hw *hw,
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 115 unsigned long parent_rate)
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 116 {
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 117 struct clk_wzrd_divider *divider =
to_clk_wzrd_divider(hw);
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 118 void __iomem *div_addr =
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 @119 (void __iomem
*)((u64)divider->base + divider->offset);
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 120 unsigned int vall, valh;
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 121 u32 div;
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 122 u32 p5en, edge, prediv2;
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 123 u32 all;
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 124
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 125 edge = !!(readl(div_addr) &
BIT(8));
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 126 p5en = !!(readl(div_addr) &
BIT(13));
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 127 prediv2 = !!(readl(div_addr) &
BIT(11));
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 128 vall = readl(div_addr + 4) &
0xff;
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 129 valh = readl(div_addr + 4) >>
8;
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 130 all = valh + vall + edge;
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 131 if (!all)
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 132 all = 1;
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 133 div = (prediv2 + 1) * (all + (prediv2
* p5en) / 2);
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 134 return
DIV_ROUND_UP_ULL((u64)parent_rate, div);
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 135 }
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 136
:::::: The code at line 119 was first introduced by commit
:::::: a7f1c7dfe2600b52aaec17d35e0a4c75d4102930 clocking-wizard: Add versal clocking
wizard support
:::::: TO: Shubhrajyoti Datta <shubhrajyoti.datta(a)xilinx.com>
:::::: CC: Michal Simek <michal.simek(a)xilinx.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org