Message ID | 1460902778-5977-5-git-send-email-matanb@mellanox.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Hi Majd, [auto build test ERROR on rdma/master] [also build test ERROR on v4.6-rc3 next-20160415] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Matan-Barak/Add-scatter-FCS-support/20160417-222225 base: https://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma master config: tile-allmodconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=tile All errors (new ones prefixed by >>): drivers/infiniband/hw/mlx5/qp.c: In function 'create_raw_packet_qp_rq': >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' >> drivers/infiniband/hw/mlx5/qp.c:1056:3: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' vim +1056 drivers/infiniband/hw/mlx5/qp.c 1050 MLX5_SET(rqc, rqc, state, MLX5_RQC_STATE_RST); 1051 MLX5_SET(rqc, rqc, flush_in_error_en, 1); 1052 MLX5_SET(rqc, rqc, user_index, MLX5_GET(qpc, qpc, user_index)); 1053 MLX5_SET(rqc, rqc, cqn, MLX5_GET(qpc, qpc, cqn_rcv)); 1054 1055 if (mqp->flags & MLX5_IB_QP_CAP_SCATTER_FCS) > 1056 MLX5_SET(rqc, rqc, scatter_fcs, 1); 1057 1058 wq = MLX5_ADDR_OF(rqc, rqc, wq); 1059 MLX5_SET(wq, wq, wq_type, MLX5_WQ_TYPE_CYCLIC); --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Hi Majd, [auto build test ERROR on rdma/master] [also build test ERROR on v4.6-rc3 next-20160415] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Matan-Barak/Add-scatter-FCS-support/20160417-222225 base: https://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma master config: xtensa-allmodconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=xtensa All error/warnings (new ones prefixed by >>): In file included from include/linux/mlx5/driver.h:45:0, from drivers/infiniband/hw/mlx5/mlx5_ib.h:40, from drivers/infiniband/hw/mlx5/qp.c:37: drivers/infiniband/hw/mlx5/qp.c: In function 'create_raw_packet_qp_rq': >> include/linux/mlx5/device.h:51:80: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_off(typ, fld) ((unsigned)(unsigned long)(&(__mlx5_nullp(typ)->fld))) ^ >> include/linux/mlx5/device.h:52:34: note: in expansion of macro '__mlx5_bit_off' #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32) ^ >> include/linux/mlx5/device.h:70:20: note: in expansion of macro '__mlx5_dw_off' *((__be32 *)(p) + __mlx5_dw_off(typ, fld)) = \ ^ >> drivers/infiniband/hw/mlx5/qp.c:1056:3: note: in expansion of macro 'MLX5_SET' MLX5_SET(rqc, rqc, scatter_fcs, 1); ^ In file included from include/linux/byteorder/big_endian.h:4:0, from arch/xtensa/include/uapi/asm/byteorder.h:7, from arch/xtensa/include/asm/bitops.h:23, from include/linux/bitops.h:36, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/module.h:9, from drivers/infiniband/hw/mlx5/qp.c:33: >> include/linux/mlx5/device.h:51:80: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_off(typ, fld) ((unsigned)(unsigned long)(&(__mlx5_nullp(typ)->fld))) ^ include/uapi/linux/byteorder/big_endian.h:38:51: note: in definition of macro '__cpu_to_be32' #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) ^ >> include/linux/byteorder/generic.h:94:21: note: in expansion of macro '__be32_to_cpu' #define be32_to_cpu __be32_to_cpu ^ >> include/linux/mlx5/device.h:52:34: note: in expansion of macro '__mlx5_bit_off' #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32) ^ include/linux/mlx5/device.h:71:45: note: in expansion of macro '__mlx5_dw_off' cpu_to_be32((be32_to_cpu(*((__be32 *)(p) + __mlx5_dw_off(typ, fld))) & \ ^ >> drivers/infiniband/hw/mlx5/qp.c:1056:3: note: in expansion of macro 'MLX5_SET' MLX5_SET(rqc, rqc, scatter_fcs, 1); ^ include/linux/mlx5/device.h:50:57: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld) ^ include/uapi/linux/byteorder/big_endian.h:38:51: note: in definition of macro '__cpu_to_be32' #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) ^ >> include/linux/mlx5/device.h:55:47: note: in expansion of macro '__mlx5_bit_sz' #define __mlx5_mask(typ, fld) ((u32)((1ull << __mlx5_bit_sz(typ, fld)) - 1)) ^ >> include/linux/mlx5/device.h:56:35: note: in expansion of macro '__mlx5_mask' #define __mlx5_dw_mask(typ, fld) (__mlx5_mask(typ, fld) << __mlx5_dw_bit_off(typ, fld)) ^ >> include/linux/mlx5/device.h:72:10: note: in expansion of macro '__mlx5_dw_mask' (~__mlx5_dw_mask(typ, fld))) | (((v) & __mlx5_mask(typ, fld)) \ ^ >> drivers/infiniband/hw/mlx5/qp.c:1056:3: note: in expansion of macro 'MLX5_SET' MLX5_SET(rqc, rqc, scatter_fcs, 1); ^ include/linux/mlx5/device.h:50:57: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld) ^ include/uapi/linux/byteorder/big_endian.h:38:51: note: in definition of macro '__cpu_to_be32' #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) ^ include/linux/mlx5/device.h:54:43: note: in expansion of macro '__mlx5_bit_sz' #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f)) ^ >> include/linux/mlx5/device.h:56:60: note: in expansion of macro '__mlx5_dw_bit_off' #define __mlx5_dw_mask(typ, fld) (__mlx5_mask(typ, fld) << __mlx5_dw_bit_off(typ, fld)) ^ >> include/linux/mlx5/device.h:72:10: note: in expansion of macro '__mlx5_dw_mask' (~__mlx5_dw_mask(typ, fld))) | (((v) & __mlx5_mask(typ, fld)) \ ^ >> drivers/infiniband/hw/mlx5/qp.c:1056:3: note: in expansion of macro 'MLX5_SET' MLX5_SET(rqc, rqc, scatter_fcs, 1); ^ >> include/linux/mlx5/device.h:51:80: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_off(typ, fld) ((unsigned)(unsigned long)(&(__mlx5_nullp(typ)->fld))) ^ include/uapi/linux/byteorder/big_endian.h:38:51: note: in definition of macro '__cpu_to_be32' #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) ^ include/linux/mlx5/device.h:54:70: note: in expansion of macro '__mlx5_bit_off' #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f)) ^ >> include/linux/mlx5/device.h:56:60: note: in expansion of macro '__mlx5_dw_bit_off' #define __mlx5_dw_mask(typ, fld) (__mlx5_mask(typ, fld) << __mlx5_dw_bit_off(typ, fld)) ^ >> include/linux/mlx5/device.h:72:10: note: in expansion of macro '__mlx5_dw_mask' (~__mlx5_dw_mask(typ, fld))) | (((v) & __mlx5_mask(typ, fld)) \ ^ >> drivers/infiniband/hw/mlx5/qp.c:1056:3: note: in expansion of macro 'MLX5_SET' MLX5_SET(rqc, rqc, scatter_fcs, 1); ^ include/linux/mlx5/device.h:50:57: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld) ^ include/uapi/linux/byteorder/big_endian.h:38:51: note: in definition of macro '__cpu_to_be32' #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) ^ >> include/linux/mlx5/device.h:55:47: note: in expansion of macro '__mlx5_bit_sz' #define __mlx5_mask(typ, fld) ((u32)((1ull << __mlx5_bit_sz(typ, fld)) - 1)) ^ include/linux/mlx5/device.h:72:47: note: in expansion of macro '__mlx5_mask' (~__mlx5_dw_mask(typ, fld))) | (((v) & __mlx5_mask(typ, fld)) \ ^ vim +51 include/linux/mlx5/device.h e126ba97 Eli Cohen 2013-07-07 44 #else e126ba97 Eli Cohen 2013-07-07 45 #error Host endianness not defined e126ba97 Eli Cohen 2013-07-07 46 #endif e126ba97 Eli Cohen 2013-07-07 47 d29b796a Eli Cohen 2014-10-02 48 /* helper macros */ d29b796a Eli Cohen 2014-10-02 49 #define __mlx5_nullp(typ) ((struct mlx5_ifc_##typ##_bits *)0) d29b796a Eli Cohen 2014-10-02 @50 #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld) d29b796a Eli Cohen 2014-10-02 @51 #define __mlx5_bit_off(typ, fld) ((unsigned)(unsigned long)(&(__mlx5_nullp(typ)->fld))) d29b796a Eli Cohen 2014-10-02 @52 #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32) d29b796a Eli Cohen 2014-10-02 53 #define __mlx5_64_off(typ, fld) (__mlx5_bit_off(typ, fld) / 64) d29b796a Eli Cohen 2014-10-02 54 #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f)) d29b796a Eli Cohen 2014-10-02 @55 #define __mlx5_mask(typ, fld) ((u32)((1ull << __mlx5_bit_sz(typ, fld)) - 1)) d29b796a Eli Cohen 2014-10-02 @56 #define __mlx5_dw_mask(typ, fld) (__mlx5_mask(typ, fld) << __mlx5_dw_bit_off(typ, fld)) d29b796a Eli Cohen 2014-10-02 57 #define __mlx5_st_sz_bits(typ) sizeof(struct mlx5_ifc_##typ##_bits) d29b796a Eli Cohen 2014-10-02 58 d29b796a Eli Cohen 2014-10-02 59 #define MLX5_FLD_SZ_BYTES(typ, fld) (__mlx5_bit_sz(typ, fld) / 8) d29b796a Eli Cohen 2014-10-02 60 #define MLX5_ST_SZ_BYTES(typ) (sizeof(struct mlx5_ifc_##typ##_bits) / 8) d29b796a Eli Cohen 2014-10-02 61 #define MLX5_ST_SZ_DW(typ) (sizeof(struct mlx5_ifc_##typ##_bits) / 32) 938fe83c Saeed Mahameed 2015-05-28 62 #define MLX5_UN_SZ_BYTES(typ) (sizeof(union mlx5_ifc_##typ##_bits) / 8) 938fe83c Saeed Mahameed 2015-05-28 63 #define MLX5_UN_SZ_DW(typ) (sizeof(union mlx5_ifc_##typ##_bits) / 32) d29b796a Eli Cohen 2014-10-02 64 #define MLX5_BYTE_OFF(typ, fld) (__mlx5_bit_off(typ, fld) / 8) d29b796a Eli Cohen 2014-10-02 65 #define MLX5_ADDR_OF(typ, p, fld) ((char *)(p) + MLX5_BYTE_OFF(typ, fld)) d29b796a Eli Cohen 2014-10-02 66 d29b796a Eli Cohen 2014-10-02 67 /* insert a value to a struct */ d29b796a Eli Cohen 2014-10-02 68 #define MLX5_SET(typ, p, fld, v) do { \ d29b796a Eli Cohen 2014-10-02 69 BUILD_BUG_ON(__mlx5_st_sz_bits(typ) % 32); \ d29b796a Eli Cohen 2014-10-02 @70 *((__be32 *)(p) + __mlx5_dw_off(typ, fld)) = \ d29b796a Eli Cohen 2014-10-02 71 cpu_to_be32((be32_to_cpu(*((__be32 *)(p) + __mlx5_dw_off(typ, fld))) & \ d29b796a Eli Cohen 2014-10-02 @72 (~__mlx5_dw_mask(typ, fld))) | (((v) & __mlx5_mask(typ, fld)) \ d29b796a Eli Cohen 2014-10-02 @73 << __mlx5_dw_bit_off(typ, fld))); \ d29b796a Eli Cohen 2014-10-02 74 } while (0) d29b796a Eli Cohen 2014-10-02 75 e281682b Saeed Mahameed 2015-05-28 76 #define MLX5_SET_TO_ONES(typ, p, fld) do { \ :::::: The code at line 51 was first introduced by commit :::::: d29b796adada8780db3512c4a34b339f9aeef1ae net/mlx5_core: Use hardware registers description header file :::::: TO: Eli Cohen <eli@mellanox.com> :::::: CC: David S. Miller <davem@davemloft.net> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Hi Majd, [auto build test WARNING on rdma/master] [also build test WARNING on v4.6-rc3 next-20160415] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Matan-Barak/Add-scatter-FCS-support/20160417-222225 base: https://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma master config: alpha-allmodconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=alpha All warnings (new ones prefixed by >>): In file included from include/linux/mlx5/driver.h:45:0, from drivers/infiniband/hw/mlx5/mlx5_ib.h:40, from drivers/infiniband/hw/mlx5/qp.c:37: drivers/infiniband/hw/mlx5/qp.c: In function 'create_raw_packet_qp_rq': include/linux/mlx5/device.h:51:80: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_off(typ, fld) ((unsigned)(unsigned long)(&(__mlx5_nullp(typ)->fld))) ^ include/linux/mlx5/device.h:52:34: note: in expansion of macro '__mlx5_bit_off' #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32) ^ include/linux/mlx5/device.h:70:20: note: in expansion of macro '__mlx5_dw_off' *((__be32 *)(p) + __mlx5_dw_off(typ, fld)) = \ ^ drivers/infiniband/hw/mlx5/qp.c:1056:3: note: in expansion of macro 'MLX5_SET' MLX5_SET(rqc, rqc, scatter_fcs, 1); ^ In file included from include/linux/swab.h:4:0, from include/uapi/linux/byteorder/little_endian.h:12, from include/linux/byteorder/little_endian.h:4, from arch/alpha/include/uapi/asm/byteorder.h:4, from include/asm-generic/bitops/le.h:5, from arch/alpha/include/asm/bitops.h:454, from include/linux/bitops.h:36, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/module.h:9, from drivers/infiniband/hw/mlx5/qp.c:33: include/linux/mlx5/device.h:51:80: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_off(typ, fld) ((unsigned)(unsigned long)(&(__mlx5_nullp(typ)->fld))) ^ include/uapi/linux/swab.h:115:32: note: in definition of macro '__swab32' (__builtin_constant_p((__u32)(x)) ? \ ^ >> include/linux/byteorder/generic.h:93:21: note: in expansion of macro '__cpu_to_be32' #define cpu_to_be32 __cpu_to_be32 ^ >> include/uapi/linux/byteorder/little_endian.h:39:26: note: in expansion of macro '__swab32' #define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x)) ^ include/linux/byteorder/generic.h:94:21: note: in expansion of macro '__be32_to_cpu' #define be32_to_cpu __be32_to_cpu ^ include/linux/mlx5/device.h:52:34: note: in expansion of macro '__mlx5_bit_off' #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32) ^ include/linux/mlx5/device.h:71:45: note: in expansion of macro '__mlx5_dw_off' cpu_to_be32((be32_to_cpu(*((__be32 *)(p) + __mlx5_dw_off(typ, fld))) & \ ^ drivers/infiniband/hw/mlx5/qp.c:1056:3: note: in expansion of macro 'MLX5_SET' MLX5_SET(rqc, rqc, scatter_fcs, 1); ^ include/linux/mlx5/device.h:51:80: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_off(typ, fld) ((unsigned)(unsigned long)(&(__mlx5_nullp(typ)->fld))) ^ include/uapi/linux/swab.h:115:32: note: in definition of macro '__swab32' (__builtin_constant_p((__u32)(x)) ? \ ^ >> include/linux/byteorder/generic.h:93:21: note: in expansion of macro '__cpu_to_be32' #define cpu_to_be32 __cpu_to_be32 ^ >> include/uapi/linux/swab.h:116:2: note: in expansion of macro '___constant_swab32' ___constant_swab32(x) : \ ^ >> include/uapi/linux/byteorder/little_endian.h:39:26: note: in expansion of macro '__swab32' #define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x)) ^ include/linux/byteorder/generic.h:94:21: note: in expansion of macro '__be32_to_cpu' #define be32_to_cpu __be32_to_cpu ^ include/linux/mlx5/device.h:52:34: note: in expansion of macro '__mlx5_bit_off' #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32) ^ include/linux/mlx5/device.h:71:45: note: in expansion of macro '__mlx5_dw_off' cpu_to_be32((be32_to_cpu(*((__be32 *)(p) + __mlx5_dw_off(typ, fld))) & \ ^ drivers/infiniband/hw/mlx5/qp.c:1056:3: note: in expansion of macro 'MLX5_SET' MLX5_SET(rqc, rqc, scatter_fcs, 1); ^ include/linux/mlx5/device.h:51:80: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_off(typ, fld) ((unsigned)(unsigned long)(&(__mlx5_nullp(typ)->fld))) ^ include/uapi/linux/swab.h:115:32: note: in definition of macro '__swab32' (__builtin_constant_p((__u32)(x)) ? \ ^ >> include/linux/byteorder/generic.h:93:21: note: in expansion of macro '__cpu_to_be32' #define cpu_to_be32 __cpu_to_be32 ^ >> include/uapi/linux/swab.h:116:2: note: in expansion of macro '___constant_swab32' ___constant_swab32(x) : \ ^ >> include/uapi/linux/byteorder/little_endian.h:39:26: note: in expansion of macro '__swab32' #define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x)) ^ include/linux/byteorder/generic.h:94:21: note: in expansion of macro '__be32_to_cpu' #define be32_to_cpu __be32_to_cpu ^ include/linux/mlx5/device.h:52:34: note: in expansion of macro '__mlx5_bit_off' #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32) ^ include/linux/mlx5/device.h:71:45: note: in expansion of macro '__mlx5_dw_off' cpu_to_be32((be32_to_cpu(*((__be32 *)(p) + __mlx5_dw_off(typ, fld))) & \ ^ drivers/infiniband/hw/mlx5/qp.c:1056:3: note: in expansion of macro 'MLX5_SET' MLX5_SET(rqc, rqc, scatter_fcs, 1); ^ include/linux/mlx5/device.h:51:80: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_off(typ, fld) ((unsigned)(unsigned long)(&(__mlx5_nullp(typ)->fld))) ^ include/uapi/linux/swab.h:115:32: note: in definition of macro '__swab32' (__builtin_constant_p((__u32)(x)) ? \ ^ >> include/linux/byteorder/generic.h:93:21: note: in expansion of macro '__cpu_to_be32' #define cpu_to_be32 __cpu_to_be32 ^ >> include/uapi/linux/swab.h:116:2: note: in expansion of macro '___constant_swab32' ___constant_swab32(x) : \ ^ >> include/uapi/linux/byteorder/little_endian.h:39:26: note: in expansion of macro '__swab32' #define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x)) ^ include/linux/byteorder/generic.h:94:21: note: in expansion of macro '__be32_to_cpu' #define be32_to_cpu __be32_to_cpu ^ include/linux/mlx5/device.h:52:34: note: in expansion of macro '__mlx5_bit_off' #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32) ^ include/linux/mlx5/device.h:71:45: note: in expansion of macro '__mlx5_dw_off' cpu_to_be32((be32_to_cpu(*((__be32 *)(p) + __mlx5_dw_off(typ, fld))) & \ ^ drivers/infiniband/hw/mlx5/qp.c:1056:3: note: in expansion of macro 'MLX5_SET' MLX5_SET(rqc, rqc, scatter_fcs, 1); ^ include/linux/mlx5/device.h:51:80: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_off(typ, fld) ((unsigned)(unsigned long)(&(__mlx5_nullp(typ)->fld))) ^ include/uapi/linux/swab.h:115:32: note: in definition of macro '__swab32' (__builtin_constant_p((__u32)(x)) ? \ ^ >> include/linux/byteorder/generic.h:93:21: note: in expansion of macro '__cpu_to_be32' #define cpu_to_be32 __cpu_to_be32 ^ >> include/uapi/linux/swab.h:116:2: note: in expansion of macro '___constant_swab32' ___constant_swab32(x) : \ ^ >> include/uapi/linux/byteorder/little_endian.h:39:26: note: in expansion of macro '__swab32' #define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x)) ^ include/linux/byteorder/generic.h:94:21: note: in expansion of macro '__be32_to_cpu' #define be32_to_cpu __be32_to_cpu ^ include/linux/mlx5/device.h:52:34: note: in expansion of macro '__mlx5_bit_off' #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32) ^ include/linux/mlx5/device.h:71:45: note: in expansion of macro '__mlx5_dw_off' cpu_to_be32((be32_to_cpu(*((__be32 *)(p) + __mlx5_dw_off(typ, fld))) & \ ^ drivers/infiniband/hw/mlx5/qp.c:1056:3: note: in expansion of macro 'MLX5_SET' MLX5_SET(rqc, rqc, scatter_fcs, 1); ^ include/linux/mlx5/device.h:51:80: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_off(typ, fld) ((unsigned)(unsigned long)(&(__mlx5_nullp(typ)->fld))) ^ include/uapi/linux/swab.h:115:32: note: in definition of macro '__swab32' (__builtin_constant_p((__u32)(x)) ? \ ^ >> include/linux/byteorder/generic.h:93:21: note: in expansion of macro '__cpu_to_be32' #define cpu_to_be32 __cpu_to_be32 ^ >> include/uapi/linux/byteorder/little_endian.h:39:26: note: in expansion of macro '__swab32' #define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x)) ^ include/linux/byteorder/generic.h:94:21: note: in expansion of macro '__be32_to_cpu' #define be32_to_cpu __be32_to_cpu ^ include/linux/mlx5/device.h:52:34: note: in expansion of macro '__mlx5_bit_off' #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32) ^ include/linux/mlx5/device.h:71:45: note: in expansion of macro '__mlx5_dw_off' cpu_to_be32((be32_to_cpu(*((__be32 *)(p) + __mlx5_dw_off(typ, fld))) & \ ^ drivers/infiniband/hw/mlx5/qp.c:1056:3: note: in expansion of macro 'MLX5_SET' MLX5_SET(rqc, rqc, scatter_fcs, 1); ^ include/linux/mlx5/device.h:50:57: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld) ^ include/uapi/linux/swab.h:115:32: note: in definition of macro '__swab32' (__builtin_constant_p((__u32)(x)) ? \ ^ >> include/linux/byteorder/generic.h:93:21: note: in expansion of macro '__cpu_to_be32' #define cpu_to_be32 __cpu_to_be32 ^ include/linux/mlx5/device.h:55:47: note: in expansion of macro '__mlx5_bit_sz' #define __mlx5_mask(typ, fld) ((u32)((1ull << __mlx5_bit_sz(typ, fld)) - 1)) ^ include/linux/mlx5/device.h:56:35: note: in expansion of macro '__mlx5_mask' #define __mlx5_dw_mask(typ, fld) (__mlx5_mask(typ, fld) << __mlx5_dw_bit_off(typ, fld)) ^ include/linux/mlx5/device.h:72:10: note: in expansion of macro '__mlx5_dw_mask' (~__mlx5_dw_mask(typ, fld))) | (((v) & __mlx5_mask(typ, fld)) \ ^ drivers/infiniband/hw/mlx5/qp.c:1056:3: note: in expansion of macro 'MLX5_SET' MLX5_SET(rqc, rqc, scatter_fcs, 1); ^ include/linux/mlx5/device.h:50:57: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld) ^ include/uapi/linux/swab.h:115:32: note: in definition of macro '__swab32' (__builtin_constant_p((__u32)(x)) ? \ ^ >> include/linux/byteorder/generic.h:93:21: note: in expansion of macro '__cpu_to_be32' #define cpu_to_be32 __cpu_to_be32 ^ include/linux/mlx5/device.h:54:43: note: in expansion of macro '__mlx5_bit_sz' #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f)) ^ include/linux/mlx5/device.h:56:60: note: in expansion of macro '__mlx5_dw_bit_off' #define __mlx5_dw_mask(typ, fld) (__mlx5_mask(typ, fld) << __mlx5_dw_bit_off(typ, fld)) ^ include/linux/mlx5/device.h:72:10: note: in expansion of macro '__mlx5_dw_mask' (~__mlx5_dw_mask(typ, fld))) | (((v) & __mlx5_mask(typ, fld)) \ ^ drivers/infiniband/hw/mlx5/qp.c:1056:3: note: in expansion of macro 'MLX5_SET' MLX5_SET(rqc, rqc, scatter_fcs, 1); ^ include/linux/mlx5/device.h:51:80: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_off(typ, fld) ((unsigned)(unsigned long)(&(__mlx5_nullp(typ)->fld))) ^ include/uapi/linux/swab.h:115:32: note: in definition of macro '__swab32' (__builtin_constant_p((__u32)(x)) ? \ ^ >> include/linux/byteorder/generic.h:93:21: note: in expansion of macro '__cpu_to_be32' #define cpu_to_be32 __cpu_to_be32 ^ include/linux/mlx5/device.h:54:70: note: in expansion of macro '__mlx5_bit_off' #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f)) ^ include/linux/mlx5/device.h:56:60: note: in expansion of macro '__mlx5_dw_bit_off' #define __mlx5_dw_mask(typ, fld) (__mlx5_mask(typ, fld) << __mlx5_dw_bit_off(typ, fld)) ^ include/linux/mlx5/device.h:72:10: note: in expansion of macro '__mlx5_dw_mask' (~__mlx5_dw_mask(typ, fld))) | (((v) & __mlx5_mask(typ, fld)) \ ^ drivers/infiniband/hw/mlx5/qp.c:1056:3: note: in expansion of macro 'MLX5_SET' MLX5_SET(rqc, rqc, scatter_fcs, 1); ^ include/linux/mlx5/device.h:50:57: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld) ^ include/uapi/linux/swab.h:115:32: note: in definition of macro '__swab32' (__builtin_constant_p((__u32)(x)) ? \ ^ >> include/linux/byteorder/generic.h:93:21: note: in expansion of macro '__cpu_to_be32' #define cpu_to_be32 __cpu_to_be32 ^ include/linux/mlx5/device.h:55:47: note: in expansion of macro '__mlx5_bit_sz' #define __mlx5_mask(typ, fld) ((u32)((1ull << __mlx5_bit_sz(typ, fld)) - 1)) ^ include/linux/mlx5/device.h:72:47: note: in expansion of macro '__mlx5_mask' (~__mlx5_dw_mask(typ, fld))) | (((v) & __mlx5_mask(typ, fld)) \ ^ drivers/infiniband/hw/mlx5/qp.c:1056:3: note: in expansion of macro 'MLX5_SET' MLX5_SET(rqc, rqc, scatter_fcs, 1); ^ include/linux/mlx5/device.h:50:57: error: 'struct mlx5_ifc_rqc_bits' has no member named 'scatter_fcs' #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld) ^ include/uapi/linux/swab.h:115:32: note: in definition of macro '__swab32' (__builtin_constant_p((__u32)(x)) ? \ ^ vim +/__cpu_to_be32 +93 include/linux/byteorder/generic.h ^1da177e Linus Torvalds 2005-04-16 77 * cpu_to_[bl]eXXs(__uXX x) ^1da177e Linus Torvalds 2005-04-16 78 * [bl]eXX_to_cpus(__uXX x) ^1da177e Linus Torvalds 2005-04-16 79 * ^1da177e Linus Torvalds 2005-04-16 80 * See asm-foo/byteorder.h for examples of how to provide ^1da177e Linus Torvalds 2005-04-16 81 * architecture-optimized versions ^1da177e Linus Torvalds 2005-04-16 82 * ^1da177e Linus Torvalds 2005-04-16 83 */ ^1da177e Linus Torvalds 2005-04-16 84 ^1da177e Linus Torvalds 2005-04-16 85 #define cpu_to_le64 __cpu_to_le64 ^1da177e Linus Torvalds 2005-04-16 86 #define le64_to_cpu __le64_to_cpu ^1da177e Linus Torvalds 2005-04-16 87 #define cpu_to_le32 __cpu_to_le32 ^1da177e Linus Torvalds 2005-04-16 88 #define le32_to_cpu __le32_to_cpu ^1da177e Linus Torvalds 2005-04-16 89 #define cpu_to_le16 __cpu_to_le16 ^1da177e Linus Torvalds 2005-04-16 90 #define le16_to_cpu __le16_to_cpu ^1da177e Linus Torvalds 2005-04-16 91 #define cpu_to_be64 __cpu_to_be64 ^1da177e Linus Torvalds 2005-04-16 92 #define be64_to_cpu __be64_to_cpu ^1da177e Linus Torvalds 2005-04-16 @93 #define cpu_to_be32 __cpu_to_be32 ^1da177e Linus Torvalds 2005-04-16 94 #define be32_to_cpu __be32_to_cpu ^1da177e Linus Torvalds 2005-04-16 95 #define cpu_to_be16 __cpu_to_be16 ^1da177e Linus Torvalds 2005-04-16 96 #define be16_to_cpu __be16_to_cpu ^1da177e Linus Torvalds 2005-04-16 97 #define cpu_to_le64p __cpu_to_le64p ^1da177e Linus Torvalds 2005-04-16 98 #define le64_to_cpup __le64_to_cpup ^1da177e Linus Torvalds 2005-04-16 99 #define cpu_to_le32p __cpu_to_le32p ^1da177e Linus Torvalds 2005-04-16 100 #define le32_to_cpup __le32_to_cpup ^1da177e Linus Torvalds 2005-04-16 101 #define cpu_to_le16p __cpu_to_le16p :::::: The code at line 93 was first introduced by commit :::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2 :::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org> :::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
diff --git a/drivers/infiniband/hw/mlx5/mlx5_ib.h b/drivers/infiniband/hw/mlx5/mlx5_ib.h index f16c818..ac23780 100644 --- a/drivers/infiniband/hw/mlx5/mlx5_ib.h +++ b/drivers/infiniband/hw/mlx5/mlx5_ib.h @@ -356,6 +356,7 @@ enum mlx5_ib_qp_flags { MLX5_IB_QP_SIGNATURE_HANDLING = 1 << 5, /* QP uses 1 as its source QP number */ MLX5_IB_QP_SQPN_QP1 = 1 << 6, + MLX5_IB_QP_CAP_SCATTER_FCS = 1 << 7, }; struct mlx5_umr_wr { diff --git a/drivers/infiniband/hw/mlx5/qp.c b/drivers/infiniband/hw/mlx5/qp.c index 8dee8bc..5041176 100644 --- a/drivers/infiniband/hw/mlx5/qp.c +++ b/drivers/infiniband/hw/mlx5/qp.c @@ -1028,6 +1028,7 @@ static int get_rq_pas_size(void *qpc) static int create_raw_packet_qp_rq(struct mlx5_ib_dev *dev, struct mlx5_ib_rq *rq, void *qpin) { + struct mlx5_ib_qp *mqp = rq->base.container_mibqp; __be64 *pas; __be64 *qp_pas; void *in; @@ -1051,6 +1052,9 @@ static int create_raw_packet_qp_rq(struct mlx5_ib_dev *dev, MLX5_SET(rqc, rqc, user_index, MLX5_GET(qpc, qpc, user_index)); MLX5_SET(rqc, rqc, cqn, MLX5_GET(qpc, qpc, cqn_rcv)); + if (mqp->flags & MLX5_IB_QP_CAP_SCATTER_FCS) + MLX5_SET(rqc, rqc, scatter_fcs, 1); + wq = MLX5_ADDR_OF(rqc, rqc, wq); MLX5_SET(wq, wq, wq_type, MLX5_WQ_TYPE_CYCLIC); MLX5_SET(wq, wq, end_padding_mode, @@ -1136,11 +1140,12 @@ static int create_raw_packet_qp(struct mlx5_ib_dev *dev, struct mlx5_ib_qp *qp, } if (qp->rq.wqe_cnt) { + rq->base.container_mibqp = qp; + err = create_raw_packet_qp_rq(dev, rq, in); if (err) goto err_destroy_sq; - rq->base.container_mibqp = qp; err = create_raw_packet_qp_tir(dev, rq, tdn); if (err) @@ -1252,6 +1257,19 @@ static int create_qp_common(struct mlx5_ib_dev *dev, struct ib_pd *pd, return -EOPNOTSUPP; } + if (init_attr->create_flags & IB_QP_CREATE_SCATTER_FCS) { + if (init_attr->qp_type != IB_QPT_RAW_PACKET) { + mlx5_ib_dbg(dev, "Scatter FCS is supported only for Raw Packet QPs"); + return -EOPNOTSUPP; + } + if (!MLX5_CAP_GEN(dev->mdev, eth_net_offloads) || + !MLX5_CAP_ETH(dev->mdev, scatter_fcs)) { + mlx5_ib_dbg(dev, "Scatter FCS isn't supported\n"); + return -EOPNOTSUPP; + } + qp->flags |= MLX5_IB_QP_CAP_SCATTER_FCS; + } + if (init_attr->sq_sig_type == IB_SIGNAL_ALL_WR) qp->sq_signal_bits = MLX5_WQE_CTRL_CQ_UPDATE;