All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Eli Cohen <eli@mellanox.com>,
	mst@redhat.com, jasowang@redhat.com,
	virtualization@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org
Cc: kbuild-all@lists.01.org, shahafs@mellanox.com,
	saeedm@mellanox.com, Eli Cohen <eli@mellanox.com>,
	Parav Pandit <parav@mellanox.com>
Subject: Re: [PATCH vhost next 08/10] vdpa/mlx5: Add support library for mlx5 VDPA implementation
Date: Thu, 16 Jul 2020 18:44:43 +0800	[thread overview]
Message-ID: <202007161843.GQAIdD4T%lkp@intel.com> (raw)
In-Reply-To: <20200716072327.5359-9-eli@mellanox.com>

[-- Attachment #1: Type: text/plain, Size: 32627 bytes --]

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@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 initializer
      52 |  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@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 67363 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: mst@redhat.com, jasowang@redhat.com,
	virtualization@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org
Cc: shahafs@mellanox.com, Eli Cohen <eli@mellanox.com>,
	kbuild-all@lists.01.org, Parav Pandit <parav@mellanox.com>,
	saeedm@mellanox.com
Subject: Re: [PATCH vhost next 08/10] vdpa/mlx5: Add support library for mlx5 VDPA implementation
Date: Thu, 16 Jul 2020 18:44:43 +0800	[thread overview]
Message-ID: <202007161843.GQAIdD4T%lkp@intel.com> (raw)
In-Reply-To: <20200716072327.5359-9-eli@mellanox.com>

[-- Attachment #1: Type: text/plain, Size: 32627 bytes --]

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@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 initializer
      52 |  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@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 67363 bytes --]

[-- Attachment #3: Type: text/plain, Size: 183 bytes --]

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH vhost next 08/10] vdpa/mlx5: Add support library for mlx5 VDPA implementation
Date: Thu, 16 Jul 2020 18:44:43 +0800	[thread overview]
Message-ID: <202007161843.GQAIdD4T%lkp@intel.com> (raw)
In-Reply-To: <20200716072327.5359-9-eli@mellanox.com>

[-- Attachment #1: Type: text/plain, Size: 33110 bytes --]

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@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 initializer
      52 |  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(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 67363 bytes --]

  reply	other threads:[~2020-07-16 10:46 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-16  7:23 [PATCH vhost next 00/10] VDPA support for Mellanox ConnectX devices Eli Cohen
2020-07-16  7:23 ` [PATCH vhost next 01/10] vhost-vdpa: support batch updating Eli Cohen
2020-07-16  7:23 ` [PATCH vhost next 02/10] vdpa_sim: use the batching API Eli Cohen
2020-07-16  7:23 ` [PATCH vhost next 03/10] vdpa: remove hard coded virtq num Eli Cohen
2020-07-16  7:23 ` [PATCH vhost next 04/10] net/vdpa: Use struct for set/get vq state Eli Cohen
2020-07-16  7:23 ` [PATCH vhost next 05/10] vhost: Fix documentation Eli Cohen
2020-07-16  8:08   ` Jason Wang
2020-07-16  7:23 ` [PATCH vhost next 06/10] vdpa: Add means to communicate vq status on get_vq_state Eli Cohen
2020-07-16  8:11   ` Jason Wang
2020-07-16  8:21     ` Eli Cohen
2020-07-16  9:35       ` Jason Wang
2020-07-16 10:25         ` Eli Cohen
2020-07-20  4:13           ` Jason Wang
2020-07-20  4:13             ` Jason Wang
2020-07-16  7:23 ` [PATCH vhost next 07/10] vdpa/mlx5: Add hardware descriptive header file Eli Cohen
2020-07-16  7:23 ` [PATCH vhost next 08/10] vdpa/mlx5: Add support library for mlx5 VDPA implementation Eli Cohen
2020-07-16 10:44   ` kernel test robot [this message]
2020-07-16 10:44     ` kernel test robot
2020-07-16 10:44     ` kernel test robot
2020-07-16  7:23 ` [PATCH vhost next 09/10] vdpa/mlx5: Add shared memory registration code Eli Cohen
2020-07-16  8:13   ` Jason Wang
2020-07-16  8:28     ` Eli Cohen
2020-07-16  9:32       ` Jason Wang
2020-07-16 10:15   ` kernel test robot
2020-07-16 10:15     ` kernel test robot
2020-07-16 10:15     ` kernel test robot
2020-07-16 14:19   ` kernel test robot
2020-07-16 14:19     ` kernel test robot
2020-07-16 14:19     ` kernel test robot
2020-07-16  7:23 ` [PATCH vhost next 10/10] vdpa/mlx5: Add VDPA driver for supported mlx5 devices Eli Cohen
2020-07-16  9:14   ` Jason Wang
2020-07-16 11:54     ` Eli Cohen
2020-07-17  8:57       ` Jason Wang
2020-07-18 19:49         ` Eli Cohen
2020-07-20  4:12           ` Jason Wang
2020-07-20  4:12             ` Jason Wang
2020-07-20  5:19             ` Eli Cohen
2020-07-16 10:55   ` kernel test robot
2020-07-16 10:55     ` kernel test robot
2020-07-16 10:55     ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202007161843.GQAIdD4T%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=eli@mellanox.com \
    --cc=jasowang@redhat.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=parav@mellanox.com \
    --cc=saeedm@mellanox.com \
    --cc=shahafs@mellanox.com \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.