kernel test robot
2020-Jul-16 10:44 UTC
[PATCH vhost next 08/10] vdpa/mlx5: Add support library for mlx5 VDPA implementation
Hi Eli, Thank you for the patch! Yet something to improve: [auto build test ERROR on next-20200715] url: https://github.com/0day-ci/linux/commits/Eli-Cohen/VDPA-support-for-Mellanox-ConnectX-devices/20200716-155039 base: ca0e494af5edb59002665bf12871e94b4163a257 config: mips-allyesconfig (attached as .config) compiler: mips-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp at intel.com> All errors (new ones prefixed by >>): In file included from include/linux/mlx5/driver.h:52, from drivers/vdpa/mlx5/core/resources.c:4: drivers/vdpa/mlx5/core/resources.c: In function 'create_uctx':>> include/linux/mlx5/device.h:65:36: error: invalid application of 'sizeof' to incomplete type 'struct mlx5_ifc_create_uctx_out_bits'65 | #define MLX5_ST_SZ_DW(typ) (sizeof(struct mlx5_ifc_##typ##_bits) / 32) | ^~~~~~ drivers/vdpa/mlx5/core/resources.c:52:10: note: in expansion of macro 'MLX5_ST_SZ_DW' 52 | u32 out[MLX5_ST_SZ_DW(create_uctx_out)] = {}; | ^~~~~~~~~~~~~>> drivers/vdpa/mlx5/core/resources.c:52:44: error: empty scalar initializer52 | u32 out[MLX5_ST_SZ_DW(create_uctx_out)] = {}; | ^ drivers/vdpa/mlx5/core/resources.c:52:44: note: (near initialization for 'out') In file included from include/linux/byteorder/big_endian.h:5, from arch/mips/include/uapi/asm/byteorder.h:13, from arch/mips/include/asm/bitops.h:20, from include/linux/bitops.h:29, from include/linux/kernel.h:12, from include/linux/mlx5/driver.h:36, from drivers/vdpa/mlx5/core/resources.c:4:>> include/linux/compiler_types.h:135:35: error: invalid use of undefined type 'struct mlx5_ifc_create_uctx_out_bits'135 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b) | ^~~~~~~~~~~~~~~~~~ include/uapi/linux/byteorder/big_endian.h:40:51: note: in definition of macro '__be32_to_cpu' 40 | #define __be32_to_cpu(x) ((__force __u32)(__be32)(x)) | ^ include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof' 17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) | ^~~~~~~~~~~~~~~~~~~ include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof' 51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld)) | ^~~~~~~~ include/linux/mlx5/device.h:53:34: note: in expansion of macro '__mlx5_bit_off' 53 | #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32) | ^~~~~~~~~~~~~~ include/linux/mlx5/device.h:96:1: note: in expansion of macro '__mlx5_dw_off' 96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \ | ^~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:72:10: note: in expansion of macro 'MLX5_GET' 72 | *uid = MLX5_GET(create_uctx_out, out, uid); | ^~~~~~~~ In file included from include/linux/mlx5/driver.h:52, from drivers/vdpa/mlx5/core/resources.c:4:>> include/linux/mlx5/device.h:50:57: error: dereferencing pointer to incomplete type 'struct mlx5_ifc_create_uctx_out_bits'50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld) | ^~ include/linux/mlx5/device.h:56:43: note: in expansion of macro '__mlx5_bit_sz' 56 | #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f)) | ^~~~~~~~~~~~~ include/linux/mlx5/device.h:96:30: note: in expansion of macro '__mlx5_dw_bit_off' 96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \ | ^~~~~~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:72:10: note: in expansion of macro 'MLX5_GET' 72 | *uid = MLX5_GET(create_uctx_out, out, uid); | ^~~~~~~~ In file included from <command-line>:>> include/linux/compiler_types.h:135:35: error: invalid use of undefined type 'struct mlx5_ifc_create_uctx_out_bits'135 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b) | ^~~~~~~~~~~~~~~~~~ include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof' 17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) | ^~~~~~~~~~~~~~~~~~~ include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof' 51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld)) | ^~~~~~~~ include/linux/mlx5/device.h:56:70: note: in expansion of macro '__mlx5_bit_off' 56 | #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f)) | ^~~~~~~~~~~~~~ include/linux/mlx5/device.h:96:30: note: in expansion of macro '__mlx5_dw_bit_off' 96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \ | ^~~~~~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:72:10: note: in expansion of macro 'MLX5_GET' 72 | *uid = MLX5_GET(create_uctx_out, out, uid); | ^~~~~~~~ drivers/vdpa/mlx5/core/resources.c:52:6: warning: unused variable 'out' [-Wunused-variable] 52 | u32 out[MLX5_ST_SZ_DW(create_uctx_out)] = {}; | ^~~ In file included from include/linux/mlx5/driver.h:52, from drivers/vdpa/mlx5/core/resources.c:4: drivers/vdpa/mlx5/core/resources.c: In function 'destroy_uctx':>> include/linux/mlx5/device.h:65:36: error: invalid application of 'sizeof' to incomplete type 'struct mlx5_ifc_destroy_uctx_out_bits'65 | #define MLX5_ST_SZ_DW(typ) (sizeof(struct mlx5_ifc_##typ##_bits) / 32) | ^~~~~~ drivers/vdpa/mlx5/core/resources.c:79:10: note: in expansion of macro 'MLX5_ST_SZ_DW' 79 | u32 out[MLX5_ST_SZ_DW(destroy_uctx_out)] = {}; | ^~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:79:45: error: empty scalar initializer 79 | u32 out[MLX5_ST_SZ_DW(destroy_uctx_out)] = {}; | ^ drivers/vdpa/mlx5/core/resources.c:79:45: note: (near initialization for 'out') drivers/vdpa/mlx5/core/resources.c:79:6: warning: unused variable 'out' [-Wunused-variable] 79 | u32 out[MLX5_ST_SZ_DW(destroy_uctx_out)] = {}; | ^~~ drivers/vdpa/mlx5/core/resources.c: At top level: drivers/vdpa/mlx5/core/resources.c:184:5: warning: no previous prototype for 'mlx5_vdpa_create_mkey' [-Wmissing-prototypes] 184 | int mlx5_vdpa_create_mkey(struct mlx5_vdpa_dev *mvdev, struct mlx5_core_mkey *mkey, u32 *in, | ^~~~~~~~~~~~~~~~~~~~~ In file included from <command-line>: drivers/vdpa/mlx5/core/resources.c: In function 'mlx5_vdpa_create_mkey':>> include/linux/compiler_types.h:135:35: error: 'struct mlx5_ifc_create_mkey_in_bits' has no member named 'uid'135 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b) | ^~~~~~~~~~~~~~~~~~ include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof' 17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) | ^~~~~~~~~~~~~~~~~~~ include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof' 51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld)) | ^~~~~~~~ include/linux/mlx5/device.h:53:34: note: in expansion of macro '__mlx5_bit_off' 53 | #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32) | ^~~~~~~~~~~~~~ include/linux/mlx5/device.h:76:20: note: in expansion of macro '__mlx5_dw_off' 76 | *((__be32 *)(p) + __mlx5_dw_off(typ, fld)) = \ | ^~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:193:2: note: in expansion of macro 'MLX5_SET' 193 | MLX5_SET(create_mkey_in, in, uid, mvdev->res.uid); | ^~~~~~~~ In file included from include/linux/byteorder/big_endian.h:5, from arch/mips/include/uapi/asm/byteorder.h:13, from arch/mips/include/asm/bitops.h:20, from include/linux/bitops.h:29, from include/linux/kernel.h:12, from include/linux/mlx5/driver.h:36, from drivers/vdpa/mlx5/core/resources.c:4:>> include/linux/compiler_types.h:135:35: error: 'struct mlx5_ifc_create_mkey_in_bits' has no member named 'uid'135 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b) | ^~~~~~~~~~~~~~~~~~ include/uapi/linux/byteorder/big_endian.h:39:51: note: in definition of macro '__cpu_to_be32' 39 | #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) | ^ include/linux/byteorder/generic.h:95:21: note: in expansion of macro '__be32_to_cpu' 95 | #define be32_to_cpu __be32_to_cpu | ^~~~~~~~~~~~~ include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof' 17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) | ^~~~~~~~~~~~~~~~~~~ include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof' 51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld)) | ^~~~~~~~ include/linux/mlx5/device.h:53:34: note: in expansion of macro '__mlx5_bit_off' 53 | #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32) | ^~~~~~~~~~~~~~ include/linux/mlx5/device.h:77:45: note: in expansion of macro '__mlx5_dw_off' 77 | cpu_to_be32((be32_to_cpu(*((__be32 *)(p) + __mlx5_dw_off(typ, fld))) & \ | ^~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:193:2: note: in expansion of macro 'MLX5_SET' 193 | MLX5_SET(create_mkey_in, in, uid, mvdev->res.uid); | ^~~~~~~~>> include/linux/mlx5/device.h:50:57: error: 'struct mlx5_ifc_create_mkey_in_bits' has no member named 'uid'50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld) | ^~ include/uapi/linux/byteorder/big_endian.h:39:51: note: in definition of macro '__cpu_to_be32' 39 | #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) | ^ include/linux/mlx5/device.h:57:47: note: in expansion of macro '__mlx5_bit_sz' 57 | #define __mlx5_mask(typ, fld) ((u32)((1ull << __mlx5_bit_sz(typ, fld)) - 1)) | ^~~~~~~~~~~~~ include/linux/mlx5/device.h:58:35: note: in expansion of macro '__mlx5_mask' 58 | #define __mlx5_dw_mask(typ, fld) (__mlx5_mask(typ, fld) << __mlx5_dw_bit_off(typ, fld)) | ^~~~~~~~~~~ include/linux/mlx5/device.h:78:10: note: in expansion of macro '__mlx5_dw_mask' 78 | (~__mlx5_dw_mask(typ, fld))) | (((_v) & __mlx5_mask(typ, fld)) \ | ^~~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:193:2: note: in expansion of macro 'MLX5_SET' 193 | MLX5_SET(create_mkey_in, in, uid, mvdev->res.uid); | ^~~~~~~~>> include/linux/mlx5/device.h:50:57: error: 'struct mlx5_ifc_create_mkey_in_bits' has no member named 'uid'50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld) | ^~ include/uapi/linux/byteorder/big_endian.h:39:51: note: in definition of macro '__cpu_to_be32' 39 | #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) | ^ include/linux/mlx5/device.h:56:43: note: in expansion of macro '__mlx5_bit_sz' 56 | #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f)) | ^~~~~~~~~~~~~ include/linux/mlx5/device.h:58:60: note: in expansion of macro '__mlx5_dw_bit_off' 58 | #define __mlx5_dw_mask(typ, fld) (__mlx5_mask(typ, fld) << __mlx5_dw_bit_off(typ, fld)) | ^~~~~~~~~~~~~~~~~ include/linux/mlx5/device.h:78:10: note: in expansion of macro '__mlx5_dw_mask' 78 | (~__mlx5_dw_mask(typ, fld))) | (((_v) & __mlx5_mask(typ, fld)) \ | ^~~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:193:2: note: in expansion of macro 'MLX5_SET' 193 | MLX5_SET(create_mkey_in, in, uid, mvdev->res.uid); | ^~~~~~~~>> include/linux/compiler_types.h:135:35: error: 'struct mlx5_ifc_create_mkey_in_bits' has no member named 'uid'135 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b) | ^~~~~~~~~~~~~~~~~~ include/uapi/linux/byteorder/big_endian.h:39:51: note: in definition of macro '__cpu_to_be32' 39 | #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) | ^ include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof' 17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) | ^~~~~~~~~~~~~~~~~~~ include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof' 51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld)) | ^~~~~~~~ include/linux/mlx5/device.h:56:70: note: in expansion of macro '__mlx5_bit_off' 56 | #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f)) | ^~~~~~~~~~~~~~ include/linux/mlx5/device.h:58:60: note: in expansion of macro '__mlx5_dw_bit_off' 58 | #define __mlx5_dw_mask(typ, fld) (__mlx5_mask(typ, fld) << __mlx5_dw_bit_off(typ, fld)) | ^~~~~~~~~~~~~~~~~ include/linux/mlx5/device.h:78:10: note: in expansion of macro '__mlx5_dw_mask' 78 | (~__mlx5_dw_mask(typ, fld))) | (((_v) & __mlx5_mask(typ, fld)) \ | ^~~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:193:2: note: in expansion of macro 'MLX5_SET' 193 | MLX5_SET(create_mkey_in, in, uid, mvdev->res.uid); | ^~~~~~~~>> include/linux/mlx5/device.h:50:57: error: 'struct mlx5_ifc_create_mkey_in_bits' has no member named 'uid'50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld) | ^~ include/uapi/linux/byteorder/big_endian.h:39:51: note: in definition of macro '__cpu_to_be32' 39 | #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) | ^ include/linux/mlx5/device.h:57:47: note: in expansion of macro '__mlx5_bit_sz' 57 | #define __mlx5_mask(typ, fld) ((u32)((1ull << __mlx5_bit_sz(typ, fld)) - 1)) | ^~~~~~~~~~~~~ include/linux/mlx5/device.h:78:48: note: in expansion of macro '__mlx5_mask' 78 | (~__mlx5_dw_mask(typ, fld))) | (((_v) & __mlx5_mask(typ, fld)) \ | ^~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:193:2: note: in expansion of macro 'MLX5_SET' 193 | MLX5_SET(create_mkey_in, in, uid, mvdev->res.uid); | ^~~~~~~~>> include/linux/mlx5/device.h:50:57: error: 'struct mlx5_ifc_create_mkey_in_bits' has no member named 'uid'50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld) | ^~ include/uapi/linux/byteorder/big_endian.h:39:51: note: in definition of macro '__cpu_to_be32' 39 | #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) | ^ include/linux/mlx5/device.h:56:43: note: in expansion of macro '__mlx5_bit_sz' 56 | #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f)) | ^~~~~~~~~~~~~ include/linux/mlx5/device.h:79:11: note: in expansion of macro '__mlx5_dw_bit_off' 79 | << __mlx5_dw_bit_off(typ, fld))); \ | ^~~~~~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:193:2: note: in expansion of macro 'MLX5_SET' 193 | MLX5_SET(create_mkey_in, in, uid, mvdev->res.uid); | ^~~~~~~~>> include/linux/compiler_types.h:135:35: error: 'struct mlx5_ifc_create_mkey_in_bits' has no member named 'uid'135 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b) | ^~~~~~~~~~~~~~~~~~ include/uapi/linux/byteorder/big_endian.h:39:51: note: in definition of macro '__cpu_to_be32' 39 | #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) | ^ include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof' 17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) | ^~~~~~~~~~~~~~~~~~~ include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof' 51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld)) | ^~~~~~~~ include/linux/mlx5/device.h:56:70: note: in expansion of macro '__mlx5_bit_off' 56 | #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f)) | ^~~~~~~~~~~~~~ include/linux/mlx5/device.h:79:11: note: in expansion of macro '__mlx5_dw_bit_off' 79 | << __mlx5_dw_bit_off(typ, fld))); \ | ^~~~~~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:193:2: note: in expansion of macro 'MLX5_SET' 193 | MLX5_SET(create_mkey_in, in, uid, mvdev->res.uid); | ^~~~~~~~ drivers/vdpa/mlx5/core/resources.c: At top level: drivers/vdpa/mlx5/core/resources.c:208:5: warning: no previous prototype for 'mlx5_vdpa_destroy_mkey' [-Wmissing-prototypes] 208 | int mlx5_vdpa_destroy_mkey(struct mlx5_vdpa_dev *mvdev, struct mlx5_core_mkey *mkey) | ^~~~~~~~~~~~~~~~~~~~~~ In file included from <command-line>: drivers/vdpa/mlx5/core/resources.c: In function 'mlx5_vdpa_destroy_mkey':>> include/linux/compiler_types.h:135:35: error: 'struct mlx5_ifc_destroy_mkey_in_bits' has no member named 'uid'135 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b) | ^~~~~~~~~~~~~~~~~~ include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof' 17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) | ^~~~~~~~~~~~~~~~~~~ include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof' 51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld)) | ^~~~~~~~ include/linux/mlx5/device.h:53:34: note: in expansion of macro '__mlx5_bit_off' 53 | #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32) | ^~~~~~~~~~~~~~ include/linux/mlx5/device.h:76:20: note: in expansion of macro '__mlx5_dw_off' 76 | *((__be32 *)(p) + __mlx5_dw_off(typ, fld)) = \ | ^~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:212:2: note: in expansion of macro 'MLX5_SET' 212 | MLX5_SET(destroy_mkey_in, in, uid, mvdev->res.uid); | ^~~~~~~~ In file included from include/linux/byteorder/big_endian.h:5, from arch/mips/include/uapi/asm/byteorder.h:13, from arch/mips/include/asm/bitops.h:20, from include/linux/bitops.h:29, from include/linux/kernel.h:12, from include/linux/mlx5/driver.h:36, from drivers/vdpa/mlx5/core/resources.c:4:>> include/linux/compiler_types.h:135:35: error: 'struct mlx5_ifc_destroy_mkey_in_bits' has no member named 'uid'135 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b) | ^~~~~~~~~~~~~~~~~~ include/uapi/linux/byteorder/big_endian.h:39:51: note: in definition of macro '__cpu_to_be32' 39 | #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) | ^ include/linux/byteorder/generic.h:95:21: note: in expansion of macro '__be32_to_cpu' 95 | #define be32_to_cpu __be32_to_cpu | ^~~~~~~~~~~~~ include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof' 17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) | ^~~~~~~~~~~~~~~~~~~ include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof' 51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld)) | ^~~~~~~~ include/linux/mlx5/device.h:53:34: note: in expansion of macro '__mlx5_bit_off' 53 | #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32) | ^~~~~~~~~~~~~~ include/linux/mlx5/device.h:77:45: note: in expansion of macro '__mlx5_dw_off' 77 | cpu_to_be32((be32_to_cpu(*((__be32 *)(p) + __mlx5_dw_off(typ, fld))) & \ | ^~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:212:2: note: in expansion of macro 'MLX5_SET' 212 | MLX5_SET(destroy_mkey_in, in, uid, mvdev->res.uid); | ^~~~~~~~>> include/linux/mlx5/device.h:50:57: error: 'struct mlx5_ifc_destroy_mkey_in_bits' has no member named 'uid'50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld) | ^~ include/uapi/linux/byteorder/big_endian.h:39:51: note: in definition of macro '__cpu_to_be32' 39 | #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) | ^ include/linux/mlx5/device.h:57:47: note: in expansion of macro '__mlx5_bit_sz' 57 | #define __mlx5_mask(typ, fld) ((u32)((1ull << __mlx5_bit_sz(typ, fld)) - 1)) | ^~~~~~~~~~~~~ include/linux/mlx5/device.h:58:35: note: in expansion of macro '__mlx5_mask' 58 | #define __mlx5_dw_mask(typ, fld) (__mlx5_mask(typ, fld) << __mlx5_dw_bit_off(typ, fld)) | ^~~~~~~~~~~ include/linux/mlx5/device.h:78:10: note: in expansion of macro '__mlx5_dw_mask' 78 | (~__mlx5_dw_mask(typ, fld))) | (((_v) & __mlx5_mask(typ, fld)) \ | ^~~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:212:2: note: in expansion of macro 'MLX5_SET' 212 | MLX5_SET(destroy_mkey_in, in, uid, mvdev->res.uid); | ^~~~~~~~>> include/linux/mlx5/device.h:50:57: error: 'struct mlx5_ifc_destroy_mkey_in_bits' has no member named 'uid'50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld) | ^~ include/uapi/linux/byteorder/big_endian.h:39:51: note: in definition of macro '__cpu_to_be32' 39 | #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) | ^ include/linux/mlx5/device.h:56:43: note: in expansion of macro '__mlx5_bit_sz' 56 | #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f)) | ^~~~~~~~~~~~~ include/linux/mlx5/device.h:58:60: note: in expansion of macro '__mlx5_dw_bit_off' 58 | #define __mlx5_dw_mask(typ, fld) (__mlx5_mask(typ, fld) << __mlx5_dw_bit_off(typ, fld)) | ^~~~~~~~~~~~~~~~~ include/linux/mlx5/device.h:78:10: note: in expansion of macro '__mlx5_dw_mask' 78 | (~__mlx5_dw_mask(typ, fld))) | (((_v) & __mlx5_mask(typ, fld)) \ | ^~~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:212:2: note: in expansion of macro 'MLX5_SET' 212 | MLX5_SET(destroy_mkey_in, in, uid, mvdev->res.uid); | ^~~~~~~~>> include/linux/compiler_types.h:135:35: error: 'struct mlx5_ifc_destroy_mkey_in_bits' has no member named 'uid'135 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b) | ^~~~~~~~~~~~~~~~~~ include/uapi/linux/byteorder/big_endian.h:39:51: note: in definition of macro '__cpu_to_be32' 39 | #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) | ^ include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof' 17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) | ^~~~~~~~~~~~~~~~~~~ include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof' 51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld)) | ^~~~~~~~ include/linux/mlx5/device.h:56:70: note: in expansion of macro '__mlx5_bit_off' 56 | #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f)) | ^~~~~~~~~~~~~~ include/linux/mlx5/device.h:58:60: note: in expansion of macro '__mlx5_dw_bit_off' 58 | #define __mlx5_dw_mask(typ, fld) (__mlx5_mask(typ, fld) << __mlx5_dw_bit_off(typ, fld)) | ^~~~~~~~~~~~~~~~~ include/linux/mlx5/device.h:78:10: note: in expansion of macro '__mlx5_dw_mask' 78 | (~__mlx5_dw_mask(typ, fld))) | (((_v) & __mlx5_mask(typ, fld)) \ | ^~~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:212:2: note: in expansion of macro 'MLX5_SET' 212 | MLX5_SET(destroy_mkey_in, in, uid, mvdev->res.uid); | ^~~~~~~~>> include/linux/mlx5/device.h:50:57: error: 'struct mlx5_ifc_destroy_mkey_in_bits' has no member named 'uid'50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld) | ^~ include/uapi/linux/byteorder/big_endian.h:39:51: note: in definition of macro '__cpu_to_be32' 39 | #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) | ^ include/linux/mlx5/device.h:57:47: note: in expansion of macro '__mlx5_bit_sz' 57 | #define __mlx5_mask(typ, fld) ((u32)((1ull << __mlx5_bit_sz(typ, fld)) - 1)) | ^~~~~~~~~~~~~ include/linux/mlx5/device.h:78:48: note: in expansion of macro '__mlx5_mask' 78 | (~__mlx5_dw_mask(typ, fld))) | (((_v) & __mlx5_mask(typ, fld)) \ | ^~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:212:2: note: in expansion of macro 'MLX5_SET' 212 | MLX5_SET(destroy_mkey_in, in, uid, mvdev->res.uid); | ^~~~~~~~ include/linux/mlx5/device.h:50:57: error: 'struct mlx5_ifc_destroy_mkey_in_bits' has no member named 'uid' 50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld) | ^~ include/uapi/linux/byteorder/big_endian.h:39:51: note: in definition of macro '__cpu_to_be32' 39 | #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) | ^ include/linux/mlx5/device.h:56:43: note: in expansion of macro '__mlx5_bit_sz' 56 | #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f)) | ^~~~~~~~~~~~~ include/linux/mlx5/device.h:79:11: note: in expansion of macro '__mlx5_dw_bit_off' 79 | << __mlx5_dw_bit_off(typ, fld))); \ | ^~~~~~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:212:2: note: in expansion of macro 'MLX5_SET' 212 | MLX5_SET(destroy_mkey_in, in, uid, mvdev->res.uid); | ^~~~~~~~ include/linux/compiler_types.h:135:35: error: 'struct mlx5_ifc_destroy_mkey_in_bits' has no member named 'uid' 135 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b) | ^~~~~~~~~~~~~~~~~~ include/uapi/linux/byteorder/big_endian.h:39:51: note: in definition of macro '__cpu_to_be32' 39 | #define __cpu_to_be32(x) ((__force __be32)(__u32)(x)) | ^ include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof' 17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) | ^~~~~~~~~~~~~~~~~~~ include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof' 51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld)) | ^~~~~~~~ include/linux/mlx5/device.h:56:70: note: in expansion of macro '__mlx5_bit_off' 56 | #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f)) | ^~~~~~~~~~~~~~ include/linux/mlx5/device.h:79:11: note: in expansion of macro '__mlx5_dw_bit_off' 79 | << __mlx5_dw_bit_off(typ, fld))); \ | ^~~~~~~~~~~~~~~~~ drivers/vdpa/mlx5/core/resources.c:212:2: note: in expansion of macro 'MLX5_SET' 212 | MLX5_SET(destroy_mkey_in, in, uid, mvdev->res.uid); | ^~~~~~~~ vim +52 drivers/vdpa/mlx5/core/resources.c 49 50 static int create_uctx(struct mlx5_vdpa_dev *mvdev, u16 *uid) 51 { > 52 u32 out[MLX5_ST_SZ_DW(create_uctx_out)] = {}; 53 int inlen; 54 void *in; 55 int err; 56 57 /* 0 means not supported */ 58 if (!MLX5_CAP_GEN(mvdev->mdev, log_max_uctx)) 59 return -EOPNOTSUPP; 60 61 inlen = MLX5_ST_SZ_BYTES(create_uctx_in); 62 in = kzalloc(inlen, GFP_KERNEL); 63 if (!in) 64 return -ENOMEM; 65 66 MLX5_SET(create_uctx_in, in, opcode, MLX5_CMD_OP_CREATE_UCTX); 67 MLX5_SET(create_uctx_in, in, uctx.cap, MLX5_UCTX_CAP_RAW_TX); 68 69 err = mlx5_cmd_exec(mvdev->mdev, in, inlen, out, sizeof(out)); 70 kfree(in); 71 if (!err) 72 *uid = MLX5_GET(create_uctx_out, out, uid); 73 74 return err; 75 } 76 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all at lists.01.org -------------- next part -------------- A non-text attachment was scrubbed... Name: .config.gz Type: application/gzip Size: 67363 bytes Desc: not available URL: <http://lists.linuxfoundation.org/pipermail/virtualization/attachments/20200716/9ece24f3/attachment-0001.gz>
Possibly Parallel Threads
- [PATCH vhost next 10/10] vdpa/mlx5: Add VDPA driver for supported mlx5 devices
- [PATCH vhost next 09/10] vdpa/mlx5: Add shared memory registration code
- [PATCH vhost next 09/10] vdpa/mlx5: Add shared memory registration code
- [PATCH V4 linux-next 00/12] VDPA support for Mellanox ConnectX devices
- [PATCH V4 linux-next 00/12] VDPA support for Mellanox ConnectX devices