tree:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
linux-4.19.y
head: a1b1c60de6b977bc1a2fc8176b647879030ab862
commit: 657441f1728e3870aee57d46cd26b78e55af6d2c [1674/2389] RDMA/hns: Fix missing
sq_sig_type when querying QP
config: ia64-randconfig-s032-20201209 (attached as .config)
compiler: ia64-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-179-ga00755aa-dirty
#
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gi...
git remote add linux-stable-rc
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git fetch --no-tags linux-stable-rc linux-4.19.y
git checkout 657441f1728e3870aee57d46cd26b78e55af6d2c
# 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=ia64
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/infiniband/hw/hns/hns_roce_hw_v2.c:1537:9: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1537:9: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1537:9: sparse: sparse: invalid assignment:
|=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1537:9: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1537:9: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1539:9: sparse: sparse: invalid assignment:
&=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1539:9: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1539:9: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1539:9: sparse: sparse: invalid assignment:
|=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1539:9: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1539:9: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1662:28: sparse: sparse: incorrect type in
assignment (different base types) @@ expected restricted __le32 [usertype] vf_smac_l
@@ got unsigned int [assigned] [usertype] reg_smac_l @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1662:28: sparse: expected restricted
__le32 [usertype] vf_smac_l
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1662:28: sparse: got unsigned int
[assigned] [usertype] reg_smac_l
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1916:38: sparse: sparse: cast from
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1921:38: sparse: sparse: incorrect type in
assignment (different base types) @@ expected restricted __le32 [usertype]
cqe_cur_blk_addr @@ got unsigned int [usertype] @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1921:38: sparse: expected restricted
__le32 [usertype] cqe_cur_blk_addr
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1921:38: sparse: got unsigned int
[usertype]
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1923:33: sparse: sparse: cast from
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1925:9: sparse: sparse: cast from restricted
__le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1934:38: sparse: sparse: incorrect type in
assignment (different base types) @@ expected restricted __le32 [usertype]
cqe_nxt_blk_addr @@ got unsigned int [usertype] @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1934:38: sparse: expected restricted
__le32 [usertype] cqe_nxt_blk_addr
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1934:38: sparse: got unsigned int
[usertype]
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1935:9: sparse: sparse: cast from restricted
__le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1948:28: sparse: sparse: incorrect type in
assignment (different base types) @@ expected restricted __le32 [usertype] cqe_ba @@
got unsigned int [usertype] @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1948:28: sparse: expected restricted
__le32 [usertype] cqe_ba
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1948:28: sparse: got unsigned int
[usertype]
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1961:36: sparse: sparse: incorrect type in
assignment (different base types) @@ expected restricted __le32 [usertype]
db_record_addr @@ got unsigned long long @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1961:36: sparse: expected restricted
__le32 [usertype] db_record_addr
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1961:36: sparse: got unsigned long long
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1989:9: sparse: sparse: invalid assignment:
&=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1989:9: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1989:9: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1989:9: sparse: sparse: invalid assignment:
|=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1989:9: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1989:9: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1991:9: sparse: sparse: invalid assignment:
&=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1991:9: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1991:9: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1991:9: sparse: sparse: invalid assignment:
|=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1991:9: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1991:9: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1993:9: sparse: sparse: invalid assignment:
&=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1993:9: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1993:9: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1993:9: sparse: sparse: invalid assignment:
|=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1993:9: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1993:9: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1996:9: sparse: sparse: invalid assignment:
&=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1996:9: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1996:9: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1996:9: sparse: sparse: invalid assignment:
|=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1996:9: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1996:9: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1998:9: sparse: sparse: invalid assignment:
&=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1998:9: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1998:9: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1998:9: sparse: sparse: invalid assignment:
|=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1998:9: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1998:9: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:2001:28: sparse: sparse: incorrect type in
argument 1 (different base types) @@ expected restricted __le32 [usertype] *val @@
got unsigned int * @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:2001:28: sparse: expected restricted
__le32 [usertype] *val
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:2001:28: sparse: got unsigned int *
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:2610:36: sparse: sparse: incorrect type in
assignment (different base types) @@ expected restricted __le32 [usertype] qkey_xrcd
@@ got unsigned int const [usertype] qkey @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:2610:36: sparse: expected restricted
__le32 [usertype] qkey_xrcd
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:2610:36: sparse: got unsigned int const
[usertype] qkey
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:2629:36: sparse: sparse: incorrect type in
assignment (different base types) @@ expected restricted __le32 [usertype]
rq_db_record_addr @@ got unsigned long long @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:2629:36: sparse: expected restricted
__le32 [usertype] rq_db_record_addr
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:2629:36: sparse: got unsigned long long
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:2942:36: sparse: sparse: incorrect type in
assignment (different base types) @@ expected restricted __le32 [usertype] qkey_xrcd
@@ got unsigned int const [usertype] qkey @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:2942:36: sparse: expected restricted
__le32 [usertype] qkey_xrcd
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:2942:36: sparse: got unsigned int const
[usertype] qkey
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3017:29: sparse: sparse: incorrect type in
assignment (different base types) @@ expected restricted __le32 [usertype] wqe_sge_ba
@@ got unsigned int [usertype] @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3017:29: sparse: expected restricted
__le32 [usertype] wqe_sge_ba
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3017:29: sparse: got unsigned int
[usertype]
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3080:34: sparse: sparse: incorrect type in
assignment (different base types) @@ expected restricted __le32 [usertype]
rq_cur_blk_addr @@ got unsigned int [usertype] @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3080:34: sparse: expected restricted
__le32 [usertype] rq_cur_blk_addr
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3080:34: sparse: got unsigned int
[usertype]
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3093:34: sparse: sparse: incorrect type in
assignment (different base types) @@ expected restricted __le32 [usertype]
rq_nxt_blk_addr @@ got unsigned int [usertype] @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3093:34: sparse: expected restricted
__le32 [usertype] rq_nxt_blk_addr
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3093:34: sparse: got unsigned int
[usertype]
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3117:26: sparse: sparse: incorrect type in
assignment (different base types) @@ expected restricted __le32 [usertype] trrl_ba @@
got unsigned int [usertype] @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3117:26: sparse: expected restricted
__le32 [usertype] trrl_ba
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3117:26: sparse: got unsigned int
[usertype]
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3125:26: sparse: sparse: incorrect type in
assignment (different base types) @@ expected restricted __le32 [usertype] irrl_ba @@
got unsigned int [usertype] @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3125:26: sparse: expected restricted
__le32 [usertype] irrl_ba
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3125:26: sparse: got unsigned int
[usertype]
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3136:9: sparse: sparse: cast from restricted
__le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3280:34: sparse: sparse: incorrect type in
assignment (different base types) @@ expected restricted __le32 [usertype]
sq_cur_blk_addr @@ got unsigned int [usertype] @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3280:34: sparse: expected restricted
__le32 [usertype] sq_cur_blk_addr
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3280:34: sparse: got unsigned int
[usertype]
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3291:38: sparse: sparse: incorrect type in
assignment (different base types) @@ expected restricted __le32 [usertype]
sq_cur_sge_blk_addr @@ got unsigned int @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3291:38: sparse: expected restricted
__le32 [usertype] sq_cur_sge_blk_addr
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3291:38: sparse: got unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3306:37: sparse: sparse: incorrect type in
assignment (different base types) @@ expected restricted __le32 [usertype]
rx_sq_cur_blk_addr @@ got unsigned int [usertype] @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3306:37: sparse: expected restricted
__le32 [usertype] rx_sq_cur_blk_addr
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3306:37: sparse: got unsigned int
[usertype]
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3808:28: sparse: sparse: incorrect type in
assignment (different base types) @@ expected unsigned char [usertype] rnr_retry @@
got restricted __le32 [usertype] rq_rnr_timer @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3808:28: sparse: expected unsigned char
[usertype] rnr_retry
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3808:28: sparse: got restricted __le32
[usertype] rq_rnr_timer
> drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3824:35: sparse:
sparse: incorrect type in assignment (different base types) @@ expected unsigned int
enum ib_sig_type sq_sig_type @@ got restricted __le32 [usertype] sq_signal_bits @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3824:35: sparse: expected unsigned
int enum ib_sig_type sq_sig_type
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:3824:35: sparse: got restricted __le32
[usertype] sq_signal_bits
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4042:17: sparse: sparse: invalid assignment:
&=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4042:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4042:17: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4042:17: sparse: sparse: invalid assignment:
|=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4042:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4042:17: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4048:17: sparse: sparse: invalid assignment:
&=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4048:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4048:17: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4048:17: sparse: sparse: invalid assignment:
|=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4048:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4048:17: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4051:17: sparse: sparse: invalid assignment:
&=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4051:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4051:17: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4051:17: sparse: sparse: invalid assignment:
|=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4051:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4051:17: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4058:9: sparse: sparse: invalid assignment:
&=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4058:9: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4058:9: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4058:9: sparse: sparse: invalid assignment:
|=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4058:9: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4058:9: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4062:28: sparse: sparse: incorrect type in
argument 1 (different base types) @@ expected restricted __le32 [usertype] *val @@
got unsigned int * @@
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4062:28: sparse: expected restricted
__le32 [usertype] *val
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4062:28: sparse: got unsigned int *
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4356:20: sparse: sparse: cast to restricted
__le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4375:23: sparse: sparse: cast to restricted
__le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4423:13: sparse: sparse: cast to restricted
__le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4426:17: sparse: sparse: invalid assignment:
&=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4426:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4426:17: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4426:17: sparse: sparse: invalid assignment:
|=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4426:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4426:17: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4429:17: sparse: sparse: invalid assignment:
&=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4429:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4429:17: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4429:17: sparse: sparse: invalid assignment:
|=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4429:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4429:17: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4433:20: sparse: sparse: cast to restricted
__le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4436:17: sparse: sparse: invalid assignment:
&=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4436:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4436:17: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4436:17: sparse: sparse: invalid assignment:
|=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4436:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4436:17: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4439:17: sparse: sparse: invalid assignment:
&=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4439:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4439:17: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4439:17: sparse: sparse: invalid assignment:
|=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4439:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4439:17: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4443:20: sparse: sparse: cast to restricted
__le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4446:17: sparse: sparse: invalid assignment:
&=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4446:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4446:17: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4446:17: sparse: sparse: invalid assignment:
|=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4446:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4446:17: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4449:17: sparse: sparse: invalid assignment:
&=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4449:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4449:17: sparse: right side has type
restricted __le32
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4449:17: sparse: sparse: invalid assignment:
|=
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4449:17: sparse: left side has type
unsigned int
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4449:17: sparse: right side has type
restricted __le32
In file included from arch/ia64/include/asm/pgtable.h:154,
from include/linux/memremap.h:7,
from include/linux/mm.h:27,
from arch/ia64/include/asm/uaccess.h:38,
from include/linux/uaccess.h:14,
from include/net/checksum.h:25,
from include/linux/skbuff.h:31,
from include/linux/if_ether.h:23,
from include/linux/etherdevice.h:25,
from drivers/infiniband/hw/hns/hns_roce_hw_v2.c:34:
arch/ia64/include/asm/mmu_context.h: In function 'reload_context':
arch/ia64/include/asm/mmu_context.h:137:41: warning: variable 'old_rr4' set but
not used [-Wunused-but-set-variable]
137 | unsigned long rr0, rr1, rr2, rr3, rr4, old_rr4;
| ^~~~~~~
In file included from include/linux/ioport.h:13,
from include/linux/acpi.h:25,
from drivers/infiniband/hw/hns/hns_roce_hw_v2.c:33:
include/linux/dma-mapping.h: In function 'dma_map_resource':
arch/ia64/include/asm/page.h:118:36: error: 'max_mapnr' undeclared (first use
in this function); did you mean 'set_max_mapnr'?
118 | # define pfn_valid(pfn) (((pfn) < max_mapnr) &&
ia64_pfn_valid(pfn))
| ^~~~~~~~~
include/linux/compiler.h:77:42: note: in definition of macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/dma-mapping.h:329:2: note: in expansion of macro 'BUG_ON'
329 | BUG_ON(pfn_valid(PHYS_PFN(phys_addr)));
| ^~~~~~
include/linux/dma-mapping.h:329:9: note: in expansion of macro 'pfn_valid'
329 | BUG_ON(pfn_valid(PHYS_PFN(phys_addr)));
| ^~~~~~~~~
vim +3824 drivers/infiniband/hw/hns/hns_roce_hw_v2.c
3698
3699 static int hns_roce_v2_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *qp_attr,
3700 int qp_attr_mask,
3701 struct ib_qp_init_attr *qp_init_attr)
3702 {
3703 struct hns_roce_dev *hr_dev = to_hr_dev(ibqp->device);
3704 struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
3705 struct hns_roce_v2_qp_context *context;
3706 struct device *dev = hr_dev->dev;
3707 int tmp_qp_state;
3708 int state;
3709 int ret;
3710
3711 context = kzalloc(sizeof(*context), GFP_KERNEL);
3712 if (!context)
3713 return -ENOMEM;
3714
3715 memset(qp_attr, 0, sizeof(*qp_attr));
3716 memset(qp_init_attr, 0, sizeof(*qp_init_attr));
3717
3718 mutex_lock(&hr_qp->mutex);
3719
3720 if (hr_qp->state == IB_QPS_RESET) {
3721 qp_attr->qp_state = IB_QPS_RESET;
3722 ret = 0;
3723 goto done;
3724 }
3725
3726 ret = hns_roce_v2_query_qpc(hr_dev, hr_qp, context);
3727 if (ret) {
3728 dev_err(dev, "query qpc error\n");
3729 ret = -EINVAL;
3730 goto out;
3731 }
3732
3733 state = roce_get_field(context->byte_60_qpst_mapid,
3734 V2_QPC_BYTE_60_QP_ST_M, V2_QPC_BYTE_60_QP_ST_S);
3735 tmp_qp_state = to_ib_qp_st((enum hns_roce_v2_qp_state)state);
3736 if (tmp_qp_state == -1) {
3737 dev_err(dev, "Illegal ib_qp_state\n");
3738 ret = -EINVAL;
3739 goto out;
3740 }
3741 hr_qp->state = (u8)tmp_qp_state;
3742 qp_attr->qp_state = (enum ib_qp_state)hr_qp->state;
3743 qp_attr->path_mtu = (enum ib_mtu)roce_get_field(context->byte_24_mtu_tc,
3744 V2_QPC_BYTE_24_MTU_M,
3745 V2_QPC_BYTE_24_MTU_S);
3746 qp_attr->path_mig_state = IB_MIG_ARMED;
3747 qp_attr->ah_attr.type = RDMA_AH_ATTR_TYPE_ROCE;
3748 if (hr_qp->ibqp.qp_type == IB_QPT_UD)
3749 qp_attr->qkey = V2_QKEY_VAL;
3750
3751 qp_attr->rq_psn = roce_get_field(context->byte_108_rx_reqepsn,
3752 V2_QPC_BYTE_108_RX_REQ_EPSN_M,
3753 V2_QPC_BYTE_108_RX_REQ_EPSN_S);
3754 qp_attr->sq_psn = (u32)roce_get_field(context->byte_172_sq_psn,
3755 V2_QPC_BYTE_172_SQ_CUR_PSN_M,
3756 V2_QPC_BYTE_172_SQ_CUR_PSN_S);
3757 qp_attr->dest_qp_num = (u8)roce_get_field(context->byte_56_dqpn_err,
3758 V2_QPC_BYTE_56_DQPN_M,
3759 V2_QPC_BYTE_56_DQPN_S);
3760 qp_attr->qp_access_flags = ((roce_get_bit(context->byte_76_srqn_op_en,
3761 V2_QPC_BYTE_76_RRE_S)) << 2) |
3762 ((roce_get_bit(context->byte_76_srqn_op_en,
3763 V2_QPC_BYTE_76_RWE_S)) << 1) |
3764 ((roce_get_bit(context->byte_76_srqn_op_en,
3765 V2_QPC_BYTE_76_ATE_S)) << 3);
3766 if (hr_qp->ibqp.qp_type == IB_QPT_RC ||
3767 hr_qp->ibqp.qp_type == IB_QPT_UC) {
3768 struct ib_global_route *grh =
3769 rdma_ah_retrieve_grh(&qp_attr->ah_attr);
3770
3771 rdma_ah_set_sl(&qp_attr->ah_attr,
3772 roce_get_field(context->byte_28_at_fl,
3773 V2_QPC_BYTE_28_SL_M,
3774 V2_QPC_BYTE_28_SL_S));
3775 grh->flow_label = roce_get_field(context->byte_28_at_fl,
3776 V2_QPC_BYTE_28_FL_M,
3777 V2_QPC_BYTE_28_FL_S);
3778 grh->sgid_index = roce_get_field(context->byte_20_smac_sgid_idx,
3779 V2_QPC_BYTE_20_SGID_IDX_M,
3780 V2_QPC_BYTE_20_SGID_IDX_S);
3781 grh->hop_limit = roce_get_field(context->byte_24_mtu_tc,
3782 V2_QPC_BYTE_24_HOP_LIMIT_M,
3783 V2_QPC_BYTE_24_HOP_LIMIT_S);
3784 grh->traffic_class = roce_get_field(context->byte_24_mtu_tc,
3785 V2_QPC_BYTE_24_TC_M,
3786 V2_QPC_BYTE_24_TC_S);
3787
3788 memcpy(grh->dgid.raw, context->dgid, sizeof(grh->dgid.raw));
3789 }
3790
3791 qp_attr->port_num = hr_qp->port + 1;
3792 qp_attr->sq_draining = 0;
3793 qp_attr->max_rd_atomic = 1 << roce_get_field(context->byte_208_irrl,
3794 V2_QPC_BYTE_208_SR_MAX_M,
3795 V2_QPC_BYTE_208_SR_MAX_S);
3796 qp_attr->max_dest_rd_atomic = 1 <<
roce_get_field(context->byte_140_raq,
3797 V2_QPC_BYTE_140_RR_MAX_M,
3798 V2_QPC_BYTE_140_RR_MAX_S);
3799 qp_attr->min_rnr_timer = (u8)roce_get_field(context->byte_80_rnr_rx_cqn,
3800 V2_QPC_BYTE_80_MIN_RNR_TIME_M,
3801 V2_QPC_BYTE_80_MIN_RNR_TIME_S);
3802 qp_attr->timeout = (u8)roce_get_field(context->byte_28_at_fl,
3803 V2_QPC_BYTE_28_AT_M,
3804 V2_QPC_BYTE_28_AT_S);
3805 qp_attr->retry_cnt = roce_get_field(context->byte_212_lsn,
3806 V2_QPC_BYTE_212_RETRY_CNT_M,
3807 V2_QPC_BYTE_212_RETRY_CNT_S);
3808 qp_attr->rnr_retry = context->rq_rnr_timer;
3809
3810 done:
3811 qp_attr->cur_qp_state = qp_attr->qp_state;
3812 qp_attr->cap.max_recv_wr = hr_qp->rq.wqe_cnt;
3813 qp_attr->cap.max_recv_sge = hr_qp->rq.max_gs;
3814
3815 if (!ibqp->uobject) {
3816 qp_attr->cap.max_send_wr = hr_qp->sq.wqe_cnt;
3817 qp_attr->cap.max_send_sge = hr_qp->sq.max_gs;
3818 } else {
3819 qp_attr->cap.max_send_wr = 0;
3820 qp_attr->cap.max_send_sge = 0;
3821 }
3822
3823 qp_init_attr->cap = qp_attr->cap;
3824 qp_init_attr->sq_sig_type = hr_qp->sq_signal_bits;
3825
3826 out:
3827 mutex_unlock(&hr_qp->mutex);
3828 kfree(context);
3829 return ret;
3830 }
3831
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org