All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [sashal-linux-stable:queue-4.14 23/23] drivers/infiniband/hw/mlx4/main.c:569:1: error: version control conflict marker in file
@ 2021-06-12 21:26 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-06-12 21:26 UTC (permalink / raw)
  To: kbuild-all

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git queue-4.14
head:   e7070c196c5e75ab1ac8bca2e88ebb8db34aa29f
commit: e7070c196c5e75ab1ac8bca2e88ebb8db34aa29f [23/23] RDMA/mlx4: Do not map the core_clock page to user space unless enabled
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 7.5.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
        # https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/commit/?id=e7070c196c5e75ab1ac8bca2e88ebb8db34aa29f
        git remote add sashal-linux-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
        git fetch --no-tags sashal-linux-stable queue-4.14
        git checkout e7070c196c5e75ab1ac8bca2e88ebb8db34aa29f
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=ia64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

   drivers/infiniband/hw/mlx4/main.c: In function 'mlx4_ib_query_device':
>> drivers/infiniband/hw/mlx4/main.c:569:1: error: version control conflict marker in file
    <<<<<<< HEAD
    ^~~~~~~
   drivers/infiniband/hw/mlx4/main.c:577:1: error: version control conflict marker in file
    =======
    ^~~~~~~
>> drivers/infiniband/hw/mlx4/main.c:579:9: error: 'struct ib_device_attr' has no member named 'cq_caps'; did you mean 'tm_caps'?
     props->cq_caps.max_cq_moderation_period = MLX4_MAX_CQ_PERIOD;
            ^~~~~~~
            tm_caps
>> drivers/infiniband/hw/mlx4/main.c:579:44: error: 'MLX4_MAX_CQ_PERIOD' undeclared (first use in this function); did you mean 'MLX4_MAX_SGE_RD'?
     props->cq_caps.max_cq_moderation_period = MLX4_MAX_CQ_PERIOD;
                                               ^~~~~~~~~~~~~~~~~~
                                               MLX4_MAX_SGE_RD
   drivers/infiniband/hw/mlx4/main.c:579:44: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/infiniband/hw/mlx4/main.c:584:22: error: 'MLX4_IB_QUERY_DEV_RESP_MASK_CORE_CLOCK_OFFSET' undeclared (first use in this function)
       resp.comp_mask |= MLX4_IB_QUERY_DEV_RESP_MASK_CORE_CLOCK_OFFSET;
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:585:1: error: version control conflict marker in file
    >>>>>>> 2300706ca2f6 (RDMA/mlx4: Do not map the core_clock page to user space unless enabled)
    ^~~~~~~
>> drivers/infiniband/hw/mlx4/main.c:585:9: error: invalid suffix "ca2f6" on integer constant
    >>>>>>> 2300706ca2f6 (RDMA/mlx4: Do not map the core_clock page to user space unless enabled)
            ^~~~~~~~~~~~
>> drivers/infiniband/hw/mlx4/main.c:610:1: error: invalid storage class for function 'mlx4_ib_port_link_layer'
    mlx4_ib_port_link_layer(struct ib_device *device, u8 port_num)
    ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/infiniband/hw/mlx4/main.c:609:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
    static enum rdma_link_layer
    ^~~~~~
>> drivers/infiniband/hw/mlx4/main.c:618:12: error: invalid storage class for function 'ib_link_query_port'
    static int ib_link_query_port(struct ib_device *ibdev, u8 port,
               ^~~~~~~~~~~~~~~~~~
>> drivers/infiniband/hw/mlx4/main.c:708:11: error: invalid storage class for function 'state_to_phys_state'
    static u8 state_to_phys_state(enum ib_port_state state)
              ^~~~~~~~~~~~~~~~~~~
>> drivers/infiniband/hw/mlx4/main.c:713:12: error: invalid storage class for function 'eth_link_query_port'
    static int eth_link_query_port(struct ib_device *ibdev, u8 port,
               ^~~~~~~~~~~~~~~~~~~
>> drivers/infiniband/hw/mlx4/main.c:786:12: error: invalid storage class for function 'mlx4_ib_query_port'
    static int mlx4_ib_query_port(struct ib_device *ibdev, u8 port,
               ^~~~~~~~~~~~~~~~~~
>> drivers/infiniband/hw/mlx4/main.c:849:12: error: invalid storage class for function 'mlx4_ib_query_gid'
    static int mlx4_ib_query_gid(struct ib_device *ibdev, u8 port, int index,
               ^~~~~~~~~~~~~~~~~
>> drivers/infiniband/hw/mlx4/main.c:872:12: error: invalid storage class for function 'mlx4_ib_query_sl2vl'
    static int mlx4_ib_query_sl2vl(struct ib_device *ibdev, u8 port, u64 *sl2vl_tbl)
               ^~~~~~~~~~~~~~~~~~~
>> drivers/infiniband/hw/mlx4/main.c:913:13: error: invalid storage class for function 'mlx4_init_sl2vl_tbl'
    static void mlx4_init_sl2vl_tbl(struct mlx4_ib_dev *mdev)
                ^~~~~~~~~~~~~~~~~~~
>> drivers/infiniband/hw/mlx4/main.c:965:12: error: invalid storage class for function 'mlx4_ib_query_pkey'
    static int mlx4_ib_query_pkey(struct ib_device *ibdev, u8 port, u16 index, u16 *pkey)
               ^~~~~~~~~~~~~~~~~~
>> drivers/infiniband/hw/mlx4/main.c:970:12: error: invalid storage class for function 'mlx4_ib_modify_device'
    static int mlx4_ib_modify_device(struct ib_device *ibdev, int mask,
               ^~~~~~~~~~~~~~~~~~~~~
>> drivers/infiniband/hw/mlx4/main.c:1006:12: error: invalid storage class for function 'mlx4_ib_SET_PORT'
    static int mlx4_ib_SET_PORT(struct mlx4_ib_dev *dev, u8 port, int reset_qkey_viols,
               ^~~~~~~~~~~~~~~~
>> drivers/infiniband/hw/mlx4/main.c:1032:12: error: invalid storage class for function 'mlx4_ib_modify_port'
    static int mlx4_ib_modify_port(struct ib_device *ibdev, u8 port, int mask,
               ^~~~~~~~~~~~~~~~~~~
>> drivers/infiniband/hw/mlx4/main.c:1066:28: error: invalid storage class for function 'mlx4_ib_alloc_ucontext'
    static struct ib_ucontext *mlx4_ib_alloc_ucontext(struct ib_device *ibdev,
                               ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/infiniband/hw/mlx4/main.c:1120:12: error: invalid storage class for function 'mlx4_ib_dealloc_ucontext'
    static int mlx4_ib_dealloc_ucontext(struct ib_ucontext *ibcontext)
               ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1130:14: error: invalid storage class for function 'mlx4_ib_vma_open'
    static void  mlx4_ib_vma_open(struct vm_area_struct *area)
                 ^~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1144:14: error: invalid storage class for function 'mlx4_ib_vma_close'
    static void  mlx4_ib_vma_close(struct vm_area_struct *area)
                 ^~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1166:10: error: initializer element is not constant
     .open = mlx4_ib_vma_open,
             ^~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1166:10: note: (near initialization for 'mlx4_ib_vm_ops.open')
   drivers/infiniband/hw/mlx4/main.c:1167:11: error: initializer element is not constant
     .close = mlx4_ib_vma_close
              ^~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1167:11: note: (near initialization for 'mlx4_ib_vm_ops.close')
   drivers/infiniband/hw/mlx4/main.c:1170:13: error: invalid storage class for function 'mlx4_ib_disassociate_ucontext'
    static void mlx4_ib_disassociate_ucontext(struct ib_ucontext *ibcontext)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1236:13: error: invalid storage class for function 'mlx4_ib_set_vma_data'
    static void mlx4_ib_set_vma_data(struct vm_area_struct *vma,
                ^~~~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1244:12: error: invalid storage class for function 'mlx4_ib_mmap'
    static int mlx4_ib_mmap(struct ib_ucontext *context, struct vm_area_struct *vma)
               ^~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1312:22: error: invalid storage class for function 'mlx4_ib_alloc_pd'
    static struct ib_pd *mlx4_ib_alloc_pd(struct ib_device *ibdev,
                         ^~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1339:12: error: invalid storage class for function 'mlx4_ib_dealloc_pd'
    static int mlx4_ib_dealloc_pd(struct ib_pd *pd)
               ^~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1347:24: error: invalid storage class for function 'mlx4_ib_alloc_xrcd'
    static struct ib_xrcd *mlx4_ib_alloc_xrcd(struct ib_device *ibdev,
                           ^~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1390:12: error: invalid storage class for function 'mlx4_ib_dealloc_xrcd'
    static int mlx4_ib_dealloc_xrcd(struct ib_xrcd *xrcd)
               ^~~~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1400:12: error: invalid storage class for function 'add_gid_entry'
    static int add_gid_entry(struct ib_qp *ibqp, union ib_gid *gid)
               ^~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1423:13: error: invalid storage class for function 'mlx4_ib_delete_counters_table'
    static void mlx4_ib_delete_counters_table(struct mlx4_ib_dev *ibdev,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1481:12: error: invalid storage class for function 'parse_flow_attr'
    static int parse_flow_attr(struct mlx4_dev *dev,
               ^~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1564:12: error: invalid storage class for function '__mlx4_ib_default_rules_match'
    static int __mlx4_ib_default_rules_match(struct ib_qp *qp,
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1618:12: error: invalid storage class for function '__mlx4_ib_create_default_rules'
    static int __mlx4_ib_create_default_rules(
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1657:12: error: invalid storage class for function '__mlx4_ib_create_flow'
    static int __mlx4_ib_create_flow(struct ib_qp *qp, struct ib_flow_attr *flow_attr,
               ^~~~~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1750:12: error: invalid storage class for function '__mlx4_ib_destroy_flow'
    static int __mlx4_ib_destroy_flow(struct mlx4_dev *dev, u64 reg_id)
               ^~~~~~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1762:12: error: invalid storage class for function 'mlx4_ib_tunnel_steer_add'
    static int mlx4_ib_tunnel_steer_add(struct ib_qp *qp, struct ib_flow_attr *flow_attr,
               ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1787:12: error: invalid storage class for function 'mlx4_ib_add_dont_trap_rule'
    static int mlx4_ib_add_dont_trap_rule(struct mlx4_dev *dev,
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1837:24: error: invalid storage class for function 'mlx4_ib_create_flow'
    static struct ib_flow *mlx4_ib_create_flow(struct ib_qp *qp,
                           ^~~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1957:12: error: invalid storage class for function 'mlx4_ib_destroy_flow'
    static int mlx4_ib_destroy_flow(struct ib_flow *flow_id)
               ^~~~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:1981:12: error: invalid storage class for function 'mlx4_ib_mcg_attach'
    static int mlx4_ib_mcg_attach(struct ib_qp *ibqp, union ib_gid *gid, u16 lid)
               ^~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:2043:34: error: invalid storage class for function 'find_gid_entry'
    static struct mlx4_ib_gid_entry *find_gid_entry(struct mlx4_ib_qp *qp, u8 *raw)
                                     ^~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:2059:12: error: invalid storage class for function 'mlx4_ib_mcg_detach'
    static int mlx4_ib_mcg_detach(struct ib_qp *ibqp, union ib_gid *gid, u16 lid)
               ^~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:2122:12: error: invalid storage class for function 'init_node_data'
    static int init_node_data(struct mlx4_ib_dev *dev)
               ^~~~~~~~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:2160:16: error: invalid storage class for function 'show_hca'
    static ssize_t show_hca(struct device *device, struct device_attribute *attr,
                   ^~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:2168:16: error: invalid storage class for function 'show_rev'
    static ssize_t show_rev(struct device *device, struct device_attribute *attr,
                   ^~~~~~~~
   drivers/infiniband/hw/mlx4/main.c:2176:16: error: invalid storage class for function 'show_board'
    static ssize_t show_board(struct device *device, struct device_attribute *attr,
                   ^~~~~~~~~~
   In file included from include/linux/kobject.h:21:0,
                    from include/linux/module.h:17,
                    from drivers/infiniband/hw/mlx4/main.c:34:
   drivers/infiniband/hw/mlx4/main.c:2185:39: error: initializer element is not constant
    static DEVICE_ATTR(hw_rev,   S_IRUGO, show_rev,    NULL);
                                          ^
   include/linux/sysfs.h:104:10: note: in definition of macro '__ATTR'
     .show = _show,      \
             ^~~~~


vim +569 drivers/infiniband/hw/mlx4/main.c

   431	
   432	static int mlx4_ib_query_device(struct ib_device *ibdev,
   433					struct ib_device_attr *props,
   434					struct ib_udata *uhw)
   435	{
   436		struct mlx4_ib_dev *dev = to_mdev(ibdev);
   437		struct ib_smp *in_mad  = NULL;
   438		struct ib_smp *out_mad = NULL;
   439		int err;
   440		int have_ib_ports;
   441		struct mlx4_uverbs_ex_query_device cmd;
   442		struct mlx4_uverbs_ex_query_device_resp resp = {.comp_mask = 0};
   443		struct mlx4_clock_params clock_params;
   444	
   445		if (uhw->inlen) {
   446			if (uhw->inlen < sizeof(cmd))
   447				return -EINVAL;
   448	
   449			err = ib_copy_from_udata(&cmd, uhw, sizeof(cmd));
   450			if (err)
   451				return err;
   452	
   453			if (cmd.comp_mask)
   454				return -EINVAL;
   455	
   456			if (cmd.reserved)
   457				return -EINVAL;
   458		}
   459	
   460		resp.response_length = offsetof(typeof(resp), response_length) +
   461			sizeof(resp.response_length);
   462		in_mad  = kzalloc(sizeof *in_mad, GFP_KERNEL);
   463		out_mad = kmalloc(sizeof *out_mad, GFP_KERNEL);
   464		err = -ENOMEM;
   465		if (!in_mad || !out_mad)
   466			goto out;
   467	
   468		init_query_mad(in_mad);
   469		in_mad->attr_id = IB_SMP_ATTR_NODE_INFO;
   470	
   471		err = mlx4_MAD_IFC(to_mdev(ibdev), MLX4_MAD_IFC_IGNORE_KEYS,
   472				   1, NULL, NULL, in_mad, out_mad);
   473		if (err)
   474			goto out;
   475	
   476		memset(props, 0, sizeof *props);
   477	
   478		have_ib_ports = num_ib_ports(dev->dev);
   479	
   480		props->fw_ver = dev->dev->caps.fw_ver;
   481		props->device_cap_flags    = IB_DEVICE_CHANGE_PHY_PORT |
   482			IB_DEVICE_PORT_ACTIVE_EVENT		|
   483			IB_DEVICE_SYS_IMAGE_GUID		|
   484			IB_DEVICE_RC_RNR_NAK_GEN		|
   485			IB_DEVICE_BLOCK_MULTICAST_LOOPBACK;
   486		if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_BAD_PKEY_CNTR)
   487			props->device_cap_flags |= IB_DEVICE_BAD_PKEY_CNTR;
   488		if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_BAD_QKEY_CNTR)
   489			props->device_cap_flags |= IB_DEVICE_BAD_QKEY_CNTR;
   490		if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_APM && have_ib_ports)
   491			props->device_cap_flags |= IB_DEVICE_AUTO_PATH_MIG;
   492		if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_UD_AV_PORT)
   493			props->device_cap_flags |= IB_DEVICE_UD_AV_PORT_ENFORCE;
   494		if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_IPOIB_CSUM)
   495			props->device_cap_flags |= IB_DEVICE_UD_IP_CSUM;
   496		if (dev->dev->caps.max_gso_sz &&
   497		    (dev->dev->rev_id != MLX4_IB_CARD_REV_A0) &&
   498		    (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_BLH))
   499			props->device_cap_flags |= IB_DEVICE_UD_TSO;
   500		if (dev->dev->caps.bmme_flags & MLX4_BMME_FLAG_RESERVED_LKEY)
   501			props->device_cap_flags |= IB_DEVICE_LOCAL_DMA_LKEY;
   502		if ((dev->dev->caps.bmme_flags & MLX4_BMME_FLAG_LOCAL_INV) &&
   503		    (dev->dev->caps.bmme_flags & MLX4_BMME_FLAG_REMOTE_INV) &&
   504		    (dev->dev->caps.bmme_flags & MLX4_BMME_FLAG_FAST_REG_WR))
   505			props->device_cap_flags |= IB_DEVICE_MEM_MGT_EXTENSIONS;
   506		if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_XRC)
   507			props->device_cap_flags |= IB_DEVICE_XRC;
   508		if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_MEM_WINDOW)
   509			props->device_cap_flags |= IB_DEVICE_MEM_WINDOW;
   510		if (dev->dev->caps.bmme_flags & MLX4_BMME_FLAG_TYPE_2_WIN) {
   511			if (dev->dev->caps.bmme_flags & MLX4_BMME_FLAG_WIN_TYPE_2B)
   512				props->device_cap_flags |= IB_DEVICE_MEM_WINDOW_TYPE_2B;
   513			else
   514				props->device_cap_flags |= IB_DEVICE_MEM_WINDOW_TYPE_2A;
   515		}
   516		if (dev->steering_support == MLX4_STEERING_MODE_DEVICE_MANAGED)
   517			props->device_cap_flags |= IB_DEVICE_MANAGED_FLOW_STEERING;
   518	
   519		props->device_cap_flags |= IB_DEVICE_RAW_IP_CSUM;
   520	
   521		props->vendor_id	   = be32_to_cpup((__be32 *) (out_mad->data + 36)) &
   522			0xffffff;
   523		props->vendor_part_id	   = dev->dev->persist->pdev->device;
   524		props->hw_ver		   = be32_to_cpup((__be32 *) (out_mad->data + 32));
   525		memcpy(&props->sys_image_guid, out_mad->data +	4, 8);
   526	
   527		props->max_mr_size	   = ~0ull;
   528		props->page_size_cap	   = dev->dev->caps.page_size_cap;
   529		props->max_qp		   = dev->dev->quotas.qp;
   530		props->max_qp_wr	   = dev->dev->caps.max_wqes - MLX4_IB_SQ_MAX_SPARE;
   531		props->max_sge		   = min(dev->dev->caps.max_sq_sg,
   532						 dev->dev->caps.max_rq_sg);
   533		props->max_sge_rd	   = MLX4_MAX_SGE_RD;
   534		props->max_cq		   = dev->dev->quotas.cq;
   535		props->max_cqe		   = dev->dev->caps.max_cqes;
   536		props->max_mr		   = dev->dev->quotas.mpt;
   537		props->max_pd		   = dev->dev->caps.num_pds - dev->dev->caps.reserved_pds;
   538		props->max_qp_rd_atom	   = dev->dev->caps.max_qp_dest_rdma;
   539		props->max_qp_init_rd_atom = dev->dev->caps.max_qp_init_rdma;
   540		props->max_res_rd_atom	   = props->max_qp_rd_atom * props->max_qp;
   541		props->max_srq		   = dev->dev->quotas.srq;
   542		props->max_srq_wr	   = dev->dev->caps.max_srq_wqes - 1;
   543		props->max_srq_sge	   = dev->dev->caps.max_srq_sge;
   544		props->max_fast_reg_page_list_len = MLX4_MAX_FAST_REG_PAGES;
   545		props->local_ca_ack_delay  = dev->dev->caps.local_ca_ack_delay;
   546		props->atomic_cap	   = dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_ATOMIC ?
   547			IB_ATOMIC_HCA : IB_ATOMIC_NONE;
   548		props->masked_atomic_cap   = props->atomic_cap;
   549		props->max_pkeys	   = dev->dev->caps.pkey_table_len[1];
   550		props->max_mcast_grp	   = dev->dev->caps.num_mgms + dev->dev->caps.num_amgms;
   551		props->max_mcast_qp_attach = dev->dev->caps.num_qp_per_mgm;
   552		props->max_total_mcast_qp_attach = props->max_mcast_qp_attach *
   553						   props->max_mcast_grp;
   554		props->max_map_per_fmr = dev->dev->caps.max_fmr_maps;
   555		props->hca_core_clock = dev->dev->caps.hca_core_clock * 1000UL;
   556		props->timestamp_mask = 0xFFFFFFFFFFFFULL;
   557		props->max_ah = INT_MAX;
   558	
   559		if ((dev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_RSS) &&
   560		    (mlx4_ib_port_link_layer(ibdev, 1) == IB_LINK_LAYER_ETHERNET ||
   561		     mlx4_ib_port_link_layer(ibdev, 2) == IB_LINK_LAYER_ETHERNET)) {
   562			props->rss_caps.max_rwq_indirection_tables = props->max_qp;
   563			props->rss_caps.max_rwq_indirection_table_size =
   564				dev->dev->caps.max_rss_tbl_sz;
   565			props->rss_caps.supported_qpts = 1 << IB_QPT_RAW_PACKET;
   566			props->max_wq_type_rq = props->max_qp;
   567		}
   568	
 > 569	<<<<<<< HEAD
   570		if (!mlx4_is_slave(dev->dev))
   571			err = mlx4_get_internal_clock_params(dev->dev, &clock_params);
   572	
   573		if (uhw->outlen >= resp.response_length + sizeof(resp.hca_core_clock_offset)) {
   574			resp.response_length += sizeof(resp.hca_core_clock_offset);
   575			if (!err && !mlx4_is_slave(dev->dev)) {
   576				resp.comp_mask |= QUERY_DEVICE_RESP_MASK_TIMESTAMP;
   577	=======
   578		props->cq_caps.max_cq_moderation_count = MLX4_MAX_CQ_COUNT;
 > 579		props->cq_caps.max_cq_moderation_period = MLX4_MAX_CQ_PERIOD;
   580	
   581		if (uhw->outlen >= resp.response_length + sizeof(resp.hca_core_clock_offset)) {
   582			resp.response_length += sizeof(resp.hca_core_clock_offset);
   583			if (!mlx4_get_internal_clock_params(dev->dev, &clock_params)) {
 > 584				resp.comp_mask |= MLX4_IB_QUERY_DEV_RESP_MASK_CORE_CLOCK_OFFSET;
 > 585	>>>>>>> 2300706ca2f6 (RDMA/mlx4: Do not map the core_clock page to user space unless enabled)
   586				resp.hca_core_clock_offset = clock_params.offset % PAGE_SIZE;
   587			}
   588		}
   589	
   590		if (uhw->outlen >= resp.response_length +
   591		    sizeof(resp.max_inl_recv_sz)) {
   592			resp.response_length += sizeof(resp.max_inl_recv_sz);
   593			resp.max_inl_recv_sz  = dev->dev->caps.max_rq_sg *
   594				sizeof(struct mlx4_wqe_data_seg);
   595		}
   596	
   597		if (uhw->outlen) {
   598			err = ib_copy_to_udata(uhw, &resp, resp.response_length);
   599			if (err)
   600				goto out;
   601		}
   602	out:
   603		kfree(in_mad);
   604		kfree(out_mad);
   605	
   606		return err;
   607	}
   608	
 > 609	static enum rdma_link_layer
 > 610	mlx4_ib_port_link_layer(struct ib_device *device, u8 port_num)
   611	{
   612		struct mlx4_dev *dev = to_mdev(device)->dev;
   613	
   614		return dev->caps.port_mask[port_num] == MLX4_PORT_TYPE_IB ?
   615			IB_LINK_LAYER_INFINIBAND : IB_LINK_LAYER_ETHERNET;
   616	}
   617	
 > 618	static int ib_link_query_port(struct ib_device *ibdev, u8 port,
   619				      struct ib_port_attr *props, int netw_view)
   620	{
   621		struct ib_smp *in_mad  = NULL;
   622		struct ib_smp *out_mad = NULL;
   623		int ext_active_speed;
   624		int mad_ifc_flags = MLX4_MAD_IFC_IGNORE_KEYS;
   625		int err = -ENOMEM;
   626	
   627		in_mad  = kzalloc(sizeof *in_mad, GFP_KERNEL);
   628		out_mad = kmalloc(sizeof *out_mad, GFP_KERNEL);
   629		if (!in_mad || !out_mad)
   630			goto out;
   631	
   632		init_query_mad(in_mad);
   633		in_mad->attr_id  = IB_SMP_ATTR_PORT_INFO;
   634		in_mad->attr_mod = cpu_to_be32(port);
   635	
   636		if (mlx4_is_mfunc(to_mdev(ibdev)->dev) && netw_view)
   637			mad_ifc_flags |= MLX4_MAD_IFC_NET_VIEW;
   638	
   639		err = mlx4_MAD_IFC(to_mdev(ibdev), mad_ifc_flags, port, NULL, NULL,
   640					in_mad, out_mad);
   641		if (err)
   642			goto out;
   643	
   644	
   645		props->lid		= be16_to_cpup((__be16 *) (out_mad->data + 16));
   646		props->lmc		= out_mad->data[34] & 0x7;
   647		props->sm_lid		= be16_to_cpup((__be16 *) (out_mad->data + 18));
   648		props->sm_sl		= out_mad->data[36] & 0xf;
   649		props->state		= out_mad->data[32] & 0xf;
   650		props->phys_state	= out_mad->data[33] >> 4;
   651		props->port_cap_flags	= be32_to_cpup((__be32 *) (out_mad->data + 20));
   652		if (netw_view)
   653			props->gid_tbl_len = out_mad->data[50];
   654		else
   655			props->gid_tbl_len = to_mdev(ibdev)->dev->caps.gid_table_len[port];
   656		props->max_msg_sz	= to_mdev(ibdev)->dev->caps.max_msg_sz;
   657		props->pkey_tbl_len	= to_mdev(ibdev)->dev->caps.pkey_table_len[port];
   658		props->bad_pkey_cntr	= be16_to_cpup((__be16 *) (out_mad->data + 46));
   659		props->qkey_viol_cntr	= be16_to_cpup((__be16 *) (out_mad->data + 48));
   660		props->active_width	= out_mad->data[31] & 0xf;
   661		props->active_speed	= out_mad->data[35] >> 4;
   662		props->max_mtu		= out_mad->data[41] & 0xf;
   663		props->active_mtu	= out_mad->data[36] >> 4;
   664		props->subnet_timeout	= out_mad->data[51] & 0x1f;
   665		props->max_vl_num	= out_mad->data[37] >> 4;
   666		props->init_type_reply	= out_mad->data[41] >> 4;
   667	
   668		/* Check if extended speeds (EDR/FDR/...) are supported */
   669		if (props->port_cap_flags & IB_PORT_EXTENDED_SPEEDS_SUP) {
   670			ext_active_speed = out_mad->data[62] >> 4;
   671	
   672			switch (ext_active_speed) {
   673			case 1:
   674				props->active_speed = IB_SPEED_FDR;
   675				break;
   676			case 2:
   677				props->active_speed = IB_SPEED_EDR;
   678				break;
   679			}
   680		}
   681	
   682		/* If reported active speed is QDR, check if is FDR-10 */
   683		if (props->active_speed == IB_SPEED_QDR) {
   684			init_query_mad(in_mad);
   685			in_mad->attr_id = MLX4_ATTR_EXTENDED_PORT_INFO;
   686			in_mad->attr_mod = cpu_to_be32(port);
   687	
   688			err = mlx4_MAD_IFC(to_mdev(ibdev), mad_ifc_flags, port,
   689					   NULL, NULL, in_mad, out_mad);
   690			if (err)
   691				goto out;
   692	
   693			/* Checking LinkSpeedActive for FDR-10 */
   694			if (out_mad->data[15] & 0x1)
   695				props->active_speed = IB_SPEED_FDR10;
   696		}
   697	
   698		/* Avoid wrong speed value returned by FW if the IB link is down. */
   699		if (props->state == IB_PORT_DOWN)
   700			 props->active_speed = IB_SPEED_SDR;
   701	
   702	out:
   703		kfree(in_mad);
   704		kfree(out_mad);
   705		return err;
   706	}
   707	
 > 708	static u8 state_to_phys_state(enum ib_port_state state)
   709	{
   710		return state == IB_PORT_ACTIVE ? 5 : 3;
   711	}
   712	
 > 713	static int eth_link_query_port(struct ib_device *ibdev, u8 port,
   714				       struct ib_port_attr *props)
   715	{
   716	
   717		struct mlx4_ib_dev *mdev = to_mdev(ibdev);
   718		struct mlx4_ib_iboe *iboe = &mdev->iboe;
   719		struct net_device *ndev;
   720		enum ib_mtu tmp;
   721		struct mlx4_cmd_mailbox *mailbox;
   722		int err = 0;
   723		int is_bonded = mlx4_is_bonded(mdev->dev);
   724	
   725		mailbox = mlx4_alloc_cmd_mailbox(mdev->dev);
   726		if (IS_ERR(mailbox))
   727			return PTR_ERR(mailbox);
   728	
   729		err = mlx4_cmd_box(mdev->dev, 0, mailbox->dma, port, 0,
   730				   MLX4_CMD_QUERY_PORT, MLX4_CMD_TIME_CLASS_B,
   731				   MLX4_CMD_WRAPPED);
   732		if (err)
   733			goto out;
   734	
   735		props->active_width	=  (((u8 *)mailbox->buf)[5] == 0x40) ||
   736					   (((u8 *)mailbox->buf)[5] == 0x20 /*56Gb*/) ?
   737						   IB_WIDTH_4X : IB_WIDTH_1X;
   738		props->active_speed	=  (((u8 *)mailbox->buf)[5] == 0x20 /*56Gb*/) ?
   739						   IB_SPEED_FDR : IB_SPEED_QDR;
   740		props->port_cap_flags	= IB_PORT_CM_SUP | IB_PORT_IP_BASED_GIDS;
   741		props->gid_tbl_len	= mdev->dev->caps.gid_table_len[port];
   742		props->max_msg_sz	= mdev->dev->caps.max_msg_sz;
   743		props->pkey_tbl_len	= 1;
   744		props->max_mtu		= IB_MTU_4096;
   745		props->max_vl_num	= 2;
   746		props->state		= IB_PORT_DOWN;
   747		props->phys_state	= state_to_phys_state(props->state);
   748		props->active_mtu	= IB_MTU_256;
   749		spin_lock_bh(&iboe->lock);
   750		ndev = iboe->netdevs[port - 1];
   751		if (ndev && is_bonded) {
   752			rcu_read_lock(); /* required to get upper dev */
   753			ndev = netdev_master_upper_dev_get_rcu(ndev);
   754			rcu_read_unlock();
   755		}
   756		if (!ndev)
   757			goto out_unlock;
   758	
   759		tmp = iboe_get_mtu(ndev->mtu);
   760		props->active_mtu = tmp ? min(props->max_mtu, tmp) : IB_MTU_256;
   761	
   762		props->state		= (netif_running(ndev) && netif_carrier_ok(ndev)) ?
   763						IB_PORT_ACTIVE : IB_PORT_DOWN;
   764		props->phys_state	= state_to_phys_state(props->state);
   765	out_unlock:
   766		spin_unlock_bh(&iboe->lock);
   767	out:
   768		mlx4_free_cmd_mailbox(mdev->dev, mailbox);
   769		return err;
   770	}
   771	

---
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: 48825 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-06-12 21:26 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-12 21:26 [sashal-linux-stable:queue-4.14 23/23] drivers/infiniband/hw/mlx4/main.c:569:1: error: version control conflict marker in file kernel test robot

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.