[sashal-linux-stable:queue-4.14 23/23] drivers/infiniband/hw/mlx4/main.c:569:1: error: version control conflict marker in file
by kernel test robot
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/c...
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(a)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@lists.01.org
1 year, 3 months
[sashal-linux-stable:queue-5.4 42/45] drivers/infiniband/hw/mlx5/doorbell.c:75:2: error: implicit declaration of function 'mmgrab'; did you mean 'igrab'?
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git queue-5.4
head: 134168653ae75b1ccebec6060e2f06f5dae8cea3
commit: 4270eefdbce3770fe5d2bb9d73a89411b67ddaab [42/45] RDMA/mlx5: Use different doorbell memory for different processes
config: riscv-allyesconfig (attached as .config)
compiler: riscv64-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
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
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-5.4
git checkout 4270eefdbce3770fe5d2bb9d73a89411b67ddaab
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/infiniband/hw/mlx5/doorbell.c: In function 'mlx5_ib_db_map_user':
>> drivers/infiniband/hw/mlx5/doorbell.c:75:2: error: implicit declaration of function 'mmgrab'; did you mean 'igrab'? [-Werror=implicit-function-declaration]
75 | mmgrab(current->mm);
| ^~~~~~
| igrab
drivers/infiniband/hw/mlx5/doorbell.c: In function 'mlx5_ib_db_unmap_user':
>> drivers/infiniband/hw/mlx5/doorbell.c:97:3: error: implicit declaration of function 'mmdrop'; did you mean 'd_drop'? [-Werror=implicit-function-declaration]
97 | mmdrop(db->u.user_page->mm);
| ^~~~~~
| d_drop
cc1: some warnings being treated as errors
vim +75 drivers/infiniband/hw/mlx5/doorbell.c
46
47 int mlx5_ib_db_map_user(struct mlx5_ib_ucontext *context,
48 struct ib_udata *udata, unsigned long virt,
49 struct mlx5_db *db)
50 {
51 struct mlx5_ib_user_db_page *page;
52 int err = 0;
53
54 mutex_lock(&context->db_page_mutex);
55
56 list_for_each_entry(page, &context->db_page_list, list)
57 if ((current->mm == page->mm) &&
58 (page->user_virt == (virt & PAGE_MASK)))
59 goto found;
60
61 page = kmalloc(sizeof(*page), GFP_KERNEL);
62 if (!page) {
63 err = -ENOMEM;
64 goto out;
65 }
66
67 page->user_virt = (virt & PAGE_MASK);
68 page->refcnt = 0;
69 page->umem = ib_umem_get(udata, virt & PAGE_MASK, PAGE_SIZE, 0, 0);
70 if (IS_ERR(page->umem)) {
71 err = PTR_ERR(page->umem);
72 kfree(page);
73 goto out;
74 }
> 75 mmgrab(current->mm);
76 page->mm = current->mm;
77
78 list_add(&page->list, &context->db_page_list);
79
80 found:
81 db->dma = sg_dma_address(page->umem->sg_head.sgl) + (virt & ~PAGE_MASK);
82 db->u.user_page = page;
83 ++page->refcnt;
84
85 out:
86 mutex_unlock(&context->db_page_mutex);
87
88 return err;
89 }
90
91 void mlx5_ib_db_unmap_user(struct mlx5_ib_ucontext *context, struct mlx5_db *db)
92 {
93 mutex_lock(&context->db_page_mutex);
94
95 if (!--db->u.user_page->refcnt) {
96 list_del(&db->u.user_page->list);
> 97 mmdrop(db->u.user_page->mm);
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[riscv:for-next 24/25] arch/riscv/kernel/traps.c:210:26: warning: no previous prototype for 'get_overflow_stack'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git for-next
head: 14512690a16537527dacf0f5cd3d2263be317f35
commit: 7b9dbbb41e1e6579d21fbec1d85ed04a392f73e9 [24/25] riscv: add VMAP_STACK overflow detection
config: riscv-allyesconfig (attached as .config)
compiler: riscv64-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
# https://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git/commit/?i...
git remote add riscv https://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git
git fetch --no-tags riscv for-next
git checkout 7b9dbbb41e1e6579d21fbec1d85ed04a392f73e9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> arch/riscv/kernel/traps.c:210:26: warning: no previous prototype for 'get_overflow_stack' [-Wmissing-prototypes]
210 | asmlinkage unsigned long get_overflow_stack(void)
| ^~~~~~~~~~~~~~~~~~
>> arch/riscv/kernel/traps.c:216:17: warning: no previous prototype for 'handle_bad_stack' [-Wmissing-prototypes]
216 | asmlinkage void handle_bad_stack(struct pt_regs *regs)
| ^~~~~~~~~~~~~~~~
vim +/get_overflow_stack +210 arch/riscv/kernel/traps.c
201
202 #ifdef CONFIG_VMAP_STACK
203 DEFINE_PER_CPU(unsigned long [OVERFLOW_STACK_SIZE/sizeof(long)], overflow_stack)
204 __aligned(16);
205 /*
206 * shadow stack, handled_ kernel_ stack_ overflow(in kernel/entry.S) is used
207 * to get per-cpu overflow stack(get_overflow_stack).
208 */
209 long shadow_stack[SHADOW_OVERFLOW_STACK_SIZE/sizeof(long)];
> 210 asmlinkage unsigned long get_overflow_stack(void)
211 {
212 return (unsigned long)this_cpu_ptr(overflow_stack) +
213 OVERFLOW_STACK_SIZE;
214 }
215
> 216 asmlinkage void handle_bad_stack(struct pt_regs *regs)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[iwlwifi-next:pending 25/38] drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c:655:22: error: no member named 'twt_broadcast' in 'struct ieee80211_bss_conf'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git pending
head: c375b624472cb8b686703077a41eff4d3b252629
commit: 6a78ce7bd02b14e7016cd367f7b1a95cce3f2cd1 [25/38] iwlwifi: mvm: set BROADCAST_TWT_SUPPORTED in MAC policy
config: x86_64-randconfig-a006-20210612 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project d2012d965d60c3258b3a69d024491698f8aec386)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git/...
git remote add iwlwifi-next https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git
git fetch --no-tags iwlwifi-next pending
git checkout 6a78ce7bd02b14e7016cd367f7b1a95cce3f2cd1
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c:655:22: error: no member named 'twt_broadcast' in 'struct ieee80211_bss_conf'
if (vif->bss_conf.twt_broadcast)
~~~~~~~~~~~~~ ^
1 error generated.
vim +655 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c
541
542 static int iwl_mvm_mac_ctxt_cmd_sta(struct iwl_mvm *mvm,
543 struct ieee80211_vif *vif,
544 u32 action, bool force_assoc_off,
545 const u8 *bssid_override)
546 {
547 struct iwl_mac_ctx_cmd cmd = {};
548 struct iwl_mac_data_sta *ctxt_sta;
549
550 WARN_ON(vif->type != NL80211_IFTYPE_STATION);
551
552 /* Fill the common data for all mac context types */
553 iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, bssid_override, action);
554
555 if (vif->p2p) {
556 struct ieee80211_p2p_noa_attr *noa =
557 &vif->bss_conf.p2p_noa_attr;
558
559 cmd.p2p_sta.ctwin = cpu_to_le32(noa->oppps_ctwindow &
560 IEEE80211_P2P_OPPPS_CTWINDOW_MASK);
561 ctxt_sta = &cmd.p2p_sta.sta;
562 } else {
563 ctxt_sta = &cmd.sta;
564 }
565
566 /* We need the dtim_period to set the MAC as associated */
567 if (vif->bss_conf.assoc && vif->bss_conf.dtim_period &&
568 !force_assoc_off) {
569 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
570 u8 ap_sta_id = mvmvif->ap_sta_id;
571 u32 dtim_offs;
572
573 /*
574 * The DTIM count counts down, so when it is N that means N
575 * more beacon intervals happen until the DTIM TBTT. Therefore
576 * add this to the current time. If that ends up being in the
577 * future, the firmware will handle it.
578 *
579 * Also note that the system_timestamp (which we get here as
580 * "sync_device_ts") and TSF timestamp aren't at exactly the
581 * same offset in the frame -- the TSF is at the first symbol
582 * of the TSF, the system timestamp is at signal acquisition
583 * time. This means there's an offset between them of at most
584 * a few hundred microseconds (24 * 8 bits + PLCP time gives
585 * 384us in the longest case), this is currently not relevant
586 * as the firmware wakes up around 2ms before the TBTT.
587 */
588 dtim_offs = vif->bss_conf.sync_dtim_count *
589 vif->bss_conf.beacon_int;
590 /* convert TU to usecs */
591 dtim_offs *= 1024;
592
593 ctxt_sta->dtim_tsf =
594 cpu_to_le64(vif->bss_conf.sync_tsf + dtim_offs);
595 ctxt_sta->dtim_time =
596 cpu_to_le32(vif->bss_conf.sync_device_ts + dtim_offs);
597 ctxt_sta->assoc_beacon_arrive_time =
598 cpu_to_le32(vif->bss_conf.sync_device_ts);
599
600 IWL_DEBUG_INFO(mvm, "DTIM TBTT is 0x%llx/0x%x, offset %d\n",
601 le64_to_cpu(ctxt_sta->dtim_tsf),
602 le32_to_cpu(ctxt_sta->dtim_time),
603 dtim_offs);
604
605 ctxt_sta->is_assoc = cpu_to_le32(1);
606
607 /*
608 * allow multicast data frames only as long as the station is
609 * authorized, i.e., GTK keys are already installed (if needed)
610 */
611 if (ap_sta_id < mvm->fw->ucode_capa.num_stations) {
612 struct ieee80211_sta *sta;
613
614 rcu_read_lock();
615
616 sta = rcu_dereference(mvm->fw_id_to_mac_id[ap_sta_id]);
617 if (!IS_ERR_OR_NULL(sta)) {
618 struct iwl_mvm_sta *mvmsta =
619 iwl_mvm_sta_from_mac80211(sta);
620
621 if (mvmsta->sta_state ==
622 IEEE80211_STA_AUTHORIZED)
623 cmd.filter_flags |=
624 cpu_to_le32(MAC_FILTER_ACCEPT_GRP);
625 }
626
627 rcu_read_unlock();
628 }
629 } else {
630 ctxt_sta->is_assoc = cpu_to_le32(0);
631
632 /* Allow beacons to pass through as long as we are not
633 * associated, or we do not have dtim period information.
634 */
635 cmd.filter_flags |= cpu_to_le32(MAC_FILTER_IN_BEACON);
636 }
637
638 ctxt_sta->bi = cpu_to_le32(vif->bss_conf.beacon_int);
639 ctxt_sta->dtim_interval = cpu_to_le32(vif->bss_conf.beacon_int *
640 vif->bss_conf.dtim_period);
641
642 ctxt_sta->listen_interval = cpu_to_le32(mvm->hw->conf.listen_interval);
643 ctxt_sta->assoc_id = cpu_to_le32(vif->bss_conf.aid);
644
645 if (vif->probe_req_reg && vif->bss_conf.assoc && vif->p2p)
646 cmd.filter_flags |= cpu_to_le32(MAC_FILTER_IN_PROBE_REQUEST);
647
648 if (vif->bss_conf.he_support && !iwlwifi_mod_params.disable_11ax) {
649 cmd.filter_flags |= cpu_to_le32(MAC_FILTER_IN_11AX);
650 if (vif->bss_conf.twt_requester && IWL_MVM_USE_TWT) {
651 ctxt_sta->data_policy |= cpu_to_le32(TWT_SUPPORTED);
652 if (vif->bss_conf.twt_protected)
653 ctxt_sta->data_policy |=
654 cpu_to_le32(PROTECTED_TWT_SUPPORTED);
> 655 if (vif->bss_conf.twt_broadcast)
656 ctxt_sta->data_policy |=
657 cpu_to_le32(BROADCAST_TWT_SUPPORTED);
658 }
659 }
660
661
662 return iwl_mvm_mac_ctxt_send_cmd(mvm, &cmd);
663 }
664
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[iwlwifi-next:pending 25/38] drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c:655:21: error: 'struct ieee80211_bss_conf' has no member named 'twt_broadcast'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git pending
head: c375b624472cb8b686703077a41eff4d3b252629
commit: 6a78ce7bd02b14e7016cd367f7b1a95cce3f2cd1 [25/38] iwlwifi: mvm: set BROADCAST_TWT_SUPPORTED in MAC policy
config: riscv-allyesconfig (attached as .config)
compiler: riscv64-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
# https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git/...
git remote add iwlwifi-next https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git
git fetch --no-tags iwlwifi-next pending
git checkout 6a78ce7bd02b14e7016cd367f7b1a95cce3f2cd1
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c: In function 'iwl_mvm_mac_ctxt_cmd_sta':
>> drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c:655:21: error: 'struct ieee80211_bss_conf' has no member named 'twt_broadcast'
655 | if (vif->bss_conf.twt_broadcast)
| ^
vim +655 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c
541
542 static int iwl_mvm_mac_ctxt_cmd_sta(struct iwl_mvm *mvm,
543 struct ieee80211_vif *vif,
544 u32 action, bool force_assoc_off,
545 const u8 *bssid_override)
546 {
547 struct iwl_mac_ctx_cmd cmd = {};
548 struct iwl_mac_data_sta *ctxt_sta;
549
550 WARN_ON(vif->type != NL80211_IFTYPE_STATION);
551
552 /* Fill the common data for all mac context types */
553 iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, bssid_override, action);
554
555 if (vif->p2p) {
556 struct ieee80211_p2p_noa_attr *noa =
557 &vif->bss_conf.p2p_noa_attr;
558
559 cmd.p2p_sta.ctwin = cpu_to_le32(noa->oppps_ctwindow &
560 IEEE80211_P2P_OPPPS_CTWINDOW_MASK);
561 ctxt_sta = &cmd.p2p_sta.sta;
562 } else {
563 ctxt_sta = &cmd.sta;
564 }
565
566 /* We need the dtim_period to set the MAC as associated */
567 if (vif->bss_conf.assoc && vif->bss_conf.dtim_period &&
568 !force_assoc_off) {
569 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
570 u8 ap_sta_id = mvmvif->ap_sta_id;
571 u32 dtim_offs;
572
573 /*
574 * The DTIM count counts down, so when it is N that means N
575 * more beacon intervals happen until the DTIM TBTT. Therefore
576 * add this to the current time. If that ends up being in the
577 * future, the firmware will handle it.
578 *
579 * Also note that the system_timestamp (which we get here as
580 * "sync_device_ts") and TSF timestamp aren't at exactly the
581 * same offset in the frame -- the TSF is at the first symbol
582 * of the TSF, the system timestamp is at signal acquisition
583 * time. This means there's an offset between them of at most
584 * a few hundred microseconds (24 * 8 bits + PLCP time gives
585 * 384us in the longest case), this is currently not relevant
586 * as the firmware wakes up around 2ms before the TBTT.
587 */
588 dtim_offs = vif->bss_conf.sync_dtim_count *
589 vif->bss_conf.beacon_int;
590 /* convert TU to usecs */
591 dtim_offs *= 1024;
592
593 ctxt_sta->dtim_tsf =
594 cpu_to_le64(vif->bss_conf.sync_tsf + dtim_offs);
595 ctxt_sta->dtim_time =
596 cpu_to_le32(vif->bss_conf.sync_device_ts + dtim_offs);
597 ctxt_sta->assoc_beacon_arrive_time =
598 cpu_to_le32(vif->bss_conf.sync_device_ts);
599
600 IWL_DEBUG_INFO(mvm, "DTIM TBTT is 0x%llx/0x%x, offset %d\n",
601 le64_to_cpu(ctxt_sta->dtim_tsf),
602 le32_to_cpu(ctxt_sta->dtim_time),
603 dtim_offs);
604
605 ctxt_sta->is_assoc = cpu_to_le32(1);
606
607 /*
608 * allow multicast data frames only as long as the station is
609 * authorized, i.e., GTK keys are already installed (if needed)
610 */
611 if (ap_sta_id < mvm->fw->ucode_capa.num_stations) {
612 struct ieee80211_sta *sta;
613
614 rcu_read_lock();
615
616 sta = rcu_dereference(mvm->fw_id_to_mac_id[ap_sta_id]);
617 if (!IS_ERR_OR_NULL(sta)) {
618 struct iwl_mvm_sta *mvmsta =
619 iwl_mvm_sta_from_mac80211(sta);
620
621 if (mvmsta->sta_state ==
622 IEEE80211_STA_AUTHORIZED)
623 cmd.filter_flags |=
624 cpu_to_le32(MAC_FILTER_ACCEPT_GRP);
625 }
626
627 rcu_read_unlock();
628 }
629 } else {
630 ctxt_sta->is_assoc = cpu_to_le32(0);
631
632 /* Allow beacons to pass through as long as we are not
633 * associated, or we do not have dtim period information.
634 */
635 cmd.filter_flags |= cpu_to_le32(MAC_FILTER_IN_BEACON);
636 }
637
638 ctxt_sta->bi = cpu_to_le32(vif->bss_conf.beacon_int);
639 ctxt_sta->dtim_interval = cpu_to_le32(vif->bss_conf.beacon_int *
640 vif->bss_conf.dtim_period);
641
642 ctxt_sta->listen_interval = cpu_to_le32(mvm->hw->conf.listen_interval);
643 ctxt_sta->assoc_id = cpu_to_le32(vif->bss_conf.aid);
644
645 if (vif->probe_req_reg && vif->bss_conf.assoc && vif->p2p)
646 cmd.filter_flags |= cpu_to_le32(MAC_FILTER_IN_PROBE_REQUEST);
647
648 if (vif->bss_conf.he_support && !iwlwifi_mod_params.disable_11ax) {
649 cmd.filter_flags |= cpu_to_le32(MAC_FILTER_IN_11AX);
650 if (vif->bss_conf.twt_requester && IWL_MVM_USE_TWT) {
651 ctxt_sta->data_policy |= cpu_to_le32(TWT_SUPPORTED);
652 if (vif->bss_conf.twt_protected)
653 ctxt_sta->data_policy |=
654 cpu_to_le32(PROTECTED_TWT_SUPPORTED);
> 655 if (vif->bss_conf.twt_broadcast)
656 ctxt_sta->data_policy |=
657 cpu_to_le32(BROADCAST_TWT_SUPPORTED);
658 }
659 }
660
661
662 return iwl_mvm_mac_ctxt_send_cmd(mvm, &cmd);
663 }
664
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[mptcp:export 1167/1239] drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:438:10: error: implicit declaration of function 'rmnet_map_ipv6_dl_csum_trailer'
by kernel test robot
tree: https://github.com/multipath-tcp/mptcp_net-next.git export
head: 5b5cad2a38b3527807ad9a9de3dbaeccfa7b7806
commit: 75db5b07f8c393c216fd20f7adc9a167fc684c23 [1167/1239] net: qualcomm: rmnet: eliminate some ifdefs
config: powerpc-randconfig-r035-20210612 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project d2012d965d60c3258b3a69d024491698f8aec386)
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
# install powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# https://github.com/multipath-tcp/mptcp_net-next/commit/75db5b07f8c393c216...
git remote add mptcp https://github.com/multipath-tcp/mptcp_net-next.git
git fetch --no-tags mptcp export
git checkout 75db5b07f8c393c216fd20f7adc9a167fc684c23
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
__do_insb
^
arch/powerpc/include/asm/io.h:556:56: note: expanded from macro '__do_insb'
#define __do_insb(p, b, n) readsb((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:7:
In file included from include/linux/netdevice.h:37:
In file included from include/net/net_namespace.h:38:
In file included from include/linux/skbuff.h:31:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:45:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insw, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:85:1: note: expanded from here
__do_insw
^
arch/powerpc/include/asm/io.h:557:56: note: expanded from macro '__do_insw'
#define __do_insw(p, b, n) readsw((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:7:
In file included from include/linux/netdevice.h:37:
In file included from include/net/net_namespace.h:38:
In file included from include/linux/skbuff.h:31:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:47:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:87:1: note: expanded from here
__do_insl
^
arch/powerpc/include/asm/io.h:558:56: note: expanded from macro '__do_insl'
#define __do_insl(p, b, n) readsl((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:7:
In file included from include/linux/netdevice.h:37:
In file included from include/net/net_namespace.h:38:
In file included from include/linux/skbuff.h:31:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:49:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:89:1: note: expanded from here
__do_outsb
^
arch/powerpc/include/asm/io.h:559:58: note: expanded from macro '__do_outsb'
#define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:7:
In file included from include/linux/netdevice.h:37:
In file included from include/net/net_namespace.h:38:
In file included from include/linux/skbuff.h:31:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:51:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:91:1: note: expanded from here
__do_outsw
^
arch/powerpc/include/asm/io.h:560:58: note: expanded from macro '__do_outsw'
#define __do_outsw(p, b, n) writesw((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:7:
In file included from include/linux/netdevice.h:37:
In file included from include/net/net_namespace.h:38:
In file included from include/linux/skbuff.h:31:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:53:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:93:1: note: expanded from here
__do_outsl
^
arch/powerpc/include/asm/io.h:561:58: note: expanded from macro '__do_outsl'
#define __do_outsl(p, b, n) writesl((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
>> drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:438:10: error: implicit declaration of function 'rmnet_map_ipv6_dl_csum_trailer' [-Werror,-Wimplicit-function-declaration]
return rmnet_map_ipv6_dl_csum_trailer(skb, csum_trailer, priv);
^
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:438:10: note: did you mean 'rmnet_map_ipv4_dl_csum_trailer'?
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:42:1: note: 'rmnet_map_ipv4_dl_csum_trailer' declared here
rmnet_map_ipv4_dl_csum_trailer(struct sk_buff *skb,
^
>> drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:472:3: error: implicit declaration of function 'rmnet_map_ipv6_ul_csum_header' [-Werror,-Wimplicit-function-declaration]
rmnet_map_ipv6_ul_csum_header(iphdr, ul_header, skb);
^
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:472:3: note: did you mean 'rmnet_map_ipv4_ul_csum_header'?
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:198:1: note: 'rmnet_map_ipv4_ul_csum_header' declared here
rmnet_map_ipv4_ul_csum_header(void *iphdr,
^
7 warnings and 2 errors generated.
vim +/rmnet_map_ipv6_dl_csum_trailer +438 drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 410
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 411 /* Validates packet checksums. Function takes a pointer to
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 412 * the beginning of a buffer which contains the IP payload +
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 413 * padding + checksum trailer.
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 414 * Only IPv4 and IPv6 are supported along with TCP & UDP.
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 415 * Fragmented or tunneled packets are not supported.
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 416 */
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 417 int rmnet_map_checksum_downlink_packet(struct sk_buff *skb, u16 len)
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 418 {
bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 419 struct rmnet_priv *priv = netdev_priv(skb->dev);
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 420 struct rmnet_map_dl_csum_trailer *csum_trailer;
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 421
bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 422 if (unlikely(!(skb->dev->features & NETIF_F_RXCSUM))) {
bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 423 priv->stats.csum_sw++;
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 424 return -EOPNOTSUPP;
bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 425 }
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 426
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 427 csum_trailer = (struct rmnet_map_dl_csum_trailer *)(skb->data + len);
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 428
cc1b21ba6251c8 Alex Elder 2021-03-15 429 if (!(csum_trailer->flags & MAP_CSUM_DL_VALID_FLAG)) {
bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 430 priv->stats.csum_valid_unset++;
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 431 return -EINVAL;
bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 432 }
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 433
75db5b07f8c393 Alex Elder 2021-06-11 434 if (skb->protocol == htons(ETH_P_IP))
bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 435 return rmnet_map_ipv4_dl_csum_trailer(skb, csum_trailer, priv);
75db5b07f8c393 Alex Elder 2021-06-11 436
75db5b07f8c393 Alex Elder 2021-06-11 437 if (IS_ENABLED(CONFIG_IPV6) && skb->protocol == htons(ETH_P_IPV6))
bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 @438 return rmnet_map_ipv6_dl_csum_trailer(skb, csum_trailer, priv);
75db5b07f8c393 Alex Elder 2021-06-11 439
bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 440 priv->stats.csum_err_invalid_ip_version++;
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 441
75db5b07f8c393 Alex Elder 2021-06-11 442 return -EPROTONOSUPPORT;
bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 443 }
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 444
b6e5d27e32ef60 Sharath Chandra Vurukala 2021-06-02 445 static void rmnet_map_v4_checksum_uplink_packet(struct sk_buff *skb,
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 446 struct net_device *orig_dev)
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 447 {
bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 448 struct rmnet_priv *priv = netdev_priv(orig_dev);
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 449 struct rmnet_map_ul_csum_header *ul_header;
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 450 void *iphdr;
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 451
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 452 ul_header = (struct rmnet_map_ul_csum_header *)
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 453 skb_push(skb, sizeof(struct rmnet_map_ul_csum_header));
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 454
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 455 if (unlikely(!(orig_dev->features &
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 456 (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM))))
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 457 goto sw_csum;
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 458
75db5b07f8c393 Alex Elder 2021-06-11 459 if (skb->ip_summed != CHECKSUM_PARTIAL)
75db5b07f8c393 Alex Elder 2021-06-11 460 goto sw_csum;
75db5b07f8c393 Alex Elder 2021-06-11 461
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 462 iphdr = (char *)ul_header +
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 463 sizeof(struct rmnet_map_ul_csum_header);
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 464
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 465 if (skb->protocol == htons(ETH_P_IP)) {
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 466 rmnet_map_ipv4_ul_csum_header(iphdr, ul_header, skb);
b6e5d27e32ef60 Sharath Chandra Vurukala 2021-06-02 467 priv->stats.csum_hw++;
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 468 return;
75db5b07f8c393 Alex Elder 2021-06-11 469 }
75db5b07f8c393 Alex Elder 2021-06-11 470
75db5b07f8c393 Alex Elder 2021-06-11 471 if (IS_ENABLED(CONFIG_IPV6) && skb->protocol == htons(ETH_P_IPV6)) {
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 @472 rmnet_map_ipv6_ul_csum_header(iphdr, ul_header, skb);
b6e5d27e32ef60 Sharath Chandra Vurukala 2021-06-02 473 priv->stats.csum_hw++;
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 474 return;
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 475 }
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 476
75db5b07f8c393 Alex Elder 2021-06-11 477 priv->stats.csum_err_invalid_ip_version++;
75db5b07f8c393 Alex Elder 2021-06-11 478
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 479 sw_csum:
86ca860e12ec0f Alex Elder 2021-03-15 480 memset(ul_header, 0, sizeof(*ul_header));
bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 481
bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 482 priv->stats.csum_sw++;
5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 483 }
e1d9a90a9bfdb0 Sharath Chandra Vurukala 2021-06-02 484
:::::: The code at line 438 was first introduced by commit
:::::: bbde32d38bfbbc4a6970498c7470a8a817122735 net: qualcomm: rmnet: Add support for ethtool private stats
:::::: TO: Subash Abhinov Kasiviswanathan <subashab(a)codeaurora.org>
:::::: CC: David S. Miller <davem(a)davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[drm-drm-misc:for-linux-next 2/9] drivers/gpu/drm/vmwgfx/vmwgfx_mksstat.h:99:9: error: implicit declaration of function 'rdtsc'
by kernel test robot
tree: git://anongit.freedesktop.org/drm/drm-misc for-linux-next
head: 352a81b71ea0a3ce8f929aa60afe369d738a0c6a
commit: 7a7a933edd6c3a6d5d64e08093f2d564104cefcd [2/9] drm/vmwgfx: Introduce VMware mks-guest-stats
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-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
git remote add drm-drm-misc git://anongit.freedesktop.org/drm/drm-misc
git fetch --no-tags drm-drm-misc for-linux-next
git checkout 7a7a933edd6c3a6d5d64e08093f2d564104cefcd
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c:35:
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c: In function 'vmw_execbuf_ioctl':
>> drivers/gpu/drm/vmwgfx/vmwgfx_mksstat.h:99:9: error: implicit declaration of function 'rdtsc' [-Werror=implicit-function-declaration]
99 | .t0 = rdtsc(), \
| ^~~~~
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c:4410:2: note: in expansion of macro 'MKS_STAT_TIME_DECL'
4410 | MKS_STAT_TIME_DECL(MKSSTAT_KERN_EXECBUF);
| ^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/rdtsc +99 drivers/gpu/drm/vmwgfx/vmwgfx_mksstat.h
96
97 #define MKS_STAT_TIME_DECL(kern_cntr) \
98 struct mksstat_timer_t _##kern_cntr = { \
> 99 .t0 = rdtsc(), \
100 .slot = vmw_mksstat_get_kern_slot(current->pid, dev_priv) \
101 }
102
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[drm-drm-misc:for-linux-next 2/9] drivers/gpu/drm/vmwgfx/vmwgfx_msg_x86.h:64:9: error: inconsistent operand constraints in an 'asm'
by kernel test robot
tree: git://anongit.freedesktop.org/drm/drm-misc for-linux-next
head: 352a81b71ea0a3ce8f929aa60afe369d738a0c6a
commit: 7a7a933edd6c3a6d5d64e08093f2d564104cefcd [2/9] drm/vmwgfx: Introduce VMware mks-guest-stats
config: i386-randconfig-r032-20210612 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
git remote add drm-drm-misc git://anongit.freedesktop.org/drm/drm-misc
git fetch --no-tags drm-drm-misc for-linux-next
git checkout 7a7a933edd6c3a6d5d64e08093f2d564104cefcd
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from include/drm/drm_mm.h:49,
from include/drm/ttm/ttm_bo_driver.h:33,
from drivers/gpu/drm/vmwgfx/vmwgfx_drv.h:40,
from drivers/gpu/drm/vmwgfx/vmwgfx_msg.c:36:
drivers/gpu/drm/vmwgfx/vmwgfx_msg.c: In function 'vmw_mksstat_add_ioctl':
>> drivers/gpu/drm/vmwgfx/vmwgfx_msg.c:1116:25: warning: format '%lu' expects argument of type 'long unsigned int', but argument 7 has type 'size_t' {aka 'unsigned int'} [-Wformat=]
1116 | DRM_DEV_INFO(dev->dev, "pid=%d arg.description='%.*s' id=%lu\n", current->pid, (int)desc_len, pdesc->description, slot);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~
| |
| size_t {aka unsigned int}
include/drm/drm_print.h:368:33: note: in definition of macro 'DRM_DEV_INFO'
368 | drm_dev_printk(dev, KERN_INFO, fmt, ##__VA_ARGS__)
| ^~~
drivers/gpu/drm/vmwgfx/vmwgfx_msg.c:1116:61: note: format string is defined here
1116 | DRM_DEV_INFO(dev->dev, "pid=%d arg.description='%.*s' id=%lu\n", current->pid, (int)desc_len, pdesc->description, slot);
| ~~^
| |
| long unsigned int
| %u
In file included from include/drm/drm_mm.h:49,
from include/drm/ttm/ttm_bo_driver.h:33,
from drivers/gpu/drm/vmwgfx/vmwgfx_drv.h:40,
from drivers/gpu/drm/vmwgfx/vmwgfx_msg.c:36:
drivers/gpu/drm/vmwgfx/vmwgfx_msg.c: In function 'vmw_mksstat_remove_ioctl':
>> drivers/gpu/drm/vmwgfx/vmwgfx_msg.c:1164:25: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'size_t' {aka 'const unsigned int'} [-Wformat=]
1164 | DRM_DEV_INFO(dev->dev, "pid=%d arg.id=%lu\n", current->pid, slot);
| ^~~~~~~~~~~~~~~~~~~~~ ~~~~
| |
| size_t {aka const unsigned int}
include/drm/drm_print.h:368:33: note: in definition of macro 'DRM_DEV_INFO'
368 | drm_dev_printk(dev, KERN_INFO, fmt, ##__VA_ARGS__)
| ^~~
drivers/gpu/drm/vmwgfx/vmwgfx_msg.c:1164:42: note: format string is defined here
1164 | DRM_DEV_INFO(dev->dev, "pid=%d arg.id=%lu\n", current->pid, slot);
| ~~^
| |
| long unsigned int
| %u
In file included from drivers/gpu/drm/vmwgfx/vmwgfx_msg.c:37:
drivers/gpu/drm/vmwgfx/vmwgfx_msg.c: In function 'vmw_mksstat_add_ioctl':
>> drivers/gpu/drm/vmwgfx/vmwgfx_msg_x86.h:64:9: error: inconsistent operand constraints in an 'asm'
63 | ({ \
| ~~~~~~~~~
64 | asm volatile (VMWARE_HYPERCALL : \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65 | "=a"(eax), \
| ~~~~~~~~~~~~~~
66 | "=b"(ebx), \
| ~~~~~~~~~~~~~~
67 | "=c"(ecx), \
| ~~~~~~~~~~~~~~
68 | "=d"(edx), \
| ~~~~~~~~~~~~~~
69 | "=S"(si), \
| ~~~~~~~~~~~~~
70 | "=D"(di) : \
| ~~~~~~~~~~~~~~
71 | "a"(magic), \
| ~~~~~~~~~~~~~~~
72 | "b"(in_ebx), \
| ~~~~~~~~~~~~~~~~
73 | "c"(cmd), \
| ~~~~~~~~~~~~~
74 | "d"(flags), \
| ~~~~~~~~~~~~~~~
75 | "S"(in_si), \
| ~~~~~~~~~~~~~~~
76 | "D"(in_di) : \
| ~~~~~~~~~~~~~~~~
77 | "memory"); \
| ~~~~~~~~~~~~~~
78 | })
| ~~
drivers/gpu/drm/vmwgfx/vmwgfx_msg.c:665:2: note: in expansion of macro 'VMW_PORT'
665 | VMW_PORT(VMW_PORT_CMD_MKSGS_ADD_PPN,
| ^~~~~~~~
vim +/asm +64 drivers/gpu/drm/vmwgfx/vmwgfx_msg_x86.h
523375c943e51a5 Zack Rusin 2021-05-04 39
523375c943e51a5 Zack Rusin 2021-05-04 40 /**
523375c943e51a5 Zack Rusin 2021-05-04 41 * Hypervisor-specific bi-directional communication channel. Should never
523375c943e51a5 Zack Rusin 2021-05-04 42 * execute on bare metal hardware. The caller must make sure to check for
523375c943e51a5 Zack Rusin 2021-05-04 43 * supported hypervisor before using these macros.
523375c943e51a5 Zack Rusin 2021-05-04 44 *
523375c943e51a5 Zack Rusin 2021-05-04 45 * The last two parameters are both input and output and must be initialized.
523375c943e51a5 Zack Rusin 2021-05-04 46 *
523375c943e51a5 Zack Rusin 2021-05-04 47 * @cmd: [IN] Message Cmd
523375c943e51a5 Zack Rusin 2021-05-04 48 * @in_ebx: [IN] Message Len, through EBX
523375c943e51a5 Zack Rusin 2021-05-04 49 * @in_si: [IN] Input argument through SI, set to 0 if not used
523375c943e51a5 Zack Rusin 2021-05-04 50 * @in_di: [IN] Input argument through DI, set ot 0 if not used
523375c943e51a5 Zack Rusin 2021-05-04 51 * @flags: [IN] hypercall flags + [channel id]
523375c943e51a5 Zack Rusin 2021-05-04 52 * @magic: [IN] hypervisor magic value
523375c943e51a5 Zack Rusin 2021-05-04 53 * @eax: [OUT] value of EAX register
523375c943e51a5 Zack Rusin 2021-05-04 54 * @ebx: [OUT] e.g. status from an HB message status command
523375c943e51a5 Zack Rusin 2021-05-04 55 * @ecx: [OUT] e.g. status from a non-HB message status command
523375c943e51a5 Zack Rusin 2021-05-04 56 * @edx: [OUT] e.g. channel id
523375c943e51a5 Zack Rusin 2021-05-04 57 * @si: [OUT]
523375c943e51a5 Zack Rusin 2021-05-04 58 * @di: [OUT]
523375c943e51a5 Zack Rusin 2021-05-04 59 */
523375c943e51a5 Zack Rusin 2021-05-04 60 #define VMW_PORT(cmd, in_ebx, in_si, in_di, \
523375c943e51a5 Zack Rusin 2021-05-04 61 flags, magic, \
523375c943e51a5 Zack Rusin 2021-05-04 62 eax, ebx, ecx, edx, si, di) \
523375c943e51a5 Zack Rusin 2021-05-04 63 ({ \
523375c943e51a5 Zack Rusin 2021-05-04 @64 asm volatile (VMWARE_HYPERCALL : \
523375c943e51a5 Zack Rusin 2021-05-04 65 "=a"(eax), \
523375c943e51a5 Zack Rusin 2021-05-04 66 "=b"(ebx), \
523375c943e51a5 Zack Rusin 2021-05-04 67 "=c"(ecx), \
523375c943e51a5 Zack Rusin 2021-05-04 68 "=d"(edx), \
523375c943e51a5 Zack Rusin 2021-05-04 69 "=S"(si), \
523375c943e51a5 Zack Rusin 2021-05-04 70 "=D"(di) : \
523375c943e51a5 Zack Rusin 2021-05-04 71 "a"(magic), \
523375c943e51a5 Zack Rusin 2021-05-04 72 "b"(in_ebx), \
523375c943e51a5 Zack Rusin 2021-05-04 73 "c"(cmd), \
523375c943e51a5 Zack Rusin 2021-05-04 74 "d"(flags), \
523375c943e51a5 Zack Rusin 2021-05-04 75 "S"(in_si), \
523375c943e51a5 Zack Rusin 2021-05-04 76 "D"(in_di) : \
523375c943e51a5 Zack Rusin 2021-05-04 77 "memory"); \
523375c943e51a5 Zack Rusin 2021-05-04 78 })
523375c943e51a5 Zack Rusin 2021-05-04 79
523375c943e51a5 Zack Rusin 2021-05-04 80
:::::: The code at line 64 was first introduced by commit
:::::: 523375c943e51a52bacb69fbd2b0d71a4e990878 drm/vmwgfx: Port vmwgfx to arm64
:::::: TO: Zack Rusin <zackr(a)vmware.com>
:::::: CC: Zack Rusin <zackr(a)vmware.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months