Lines Matching refs:port
114 pr_warn("Device managed flow steering is unavailable for IB port in multifunction env.\n");
657 static int ib_link_query_port(struct ib_device *ibdev, u8 port,
673 in_mad->attr_mod = cpu_to_be32(port);
678 err = mlx4_MAD_IFC(to_mdev(ibdev), mad_ifc_flags, port, NULL, NULL,
694 props->gid_tbl_len = to_mdev(ibdev)->dev->caps.gid_table_len[port];
696 props->pkey_tbl_len = to_mdev(ibdev)->dev->caps.pkey_table_len[port];
725 in_mad->attr_mod = cpu_to_be32(port);
727 err = mlx4_MAD_IFC(to_mdev(ibdev), mad_ifc_flags, port,
753 static int eth_link_query_port(struct ib_device *ibdev, u8 port,
769 err = mlx4_cmd_box(mdev->dev, 0, mailbox->dma, port, 0,
782 props->gid_tbl_len = mdev->dev->caps.gid_table_len[port];
784 if (mdev->dev->caps.pkey_table_len[port])
792 ndev = iboe->netdevs[port - 1];
814 int __mlx4_ib_query_port(struct ib_device *ibdev, u8 port,
821 err = mlx4_ib_port_link_layer(ibdev, port) == IB_LINK_LAYER_INFINIBAND ?
822 ib_link_query_port(ibdev, port, props, netw_view) :
823 eth_link_query_port(ibdev, port, props);
828 static int mlx4_ib_query_port(struct ib_device *ibdev, u8 port,
832 return __mlx4_ib_query_port(ibdev, port, props, 0);
835 int __mlx4_ib_query_gid(struct ib_device *ibdev, u8 port, int index,
852 in_mad->attr_mod = cpu_to_be32(port);
857 err = mlx4_MAD_IFC(dev, mad_ifc_flags, port, NULL, NULL, in_mad, out_mad);
876 err = mlx4_MAD_IFC(dev, mad_ifc_flags, port,
891 static int mlx4_ib_query_gid(struct ib_device *ibdev, u8 port, int index,
894 if (rdma_protocol_ib(ibdev, port))
895 return __mlx4_ib_query_gid(ibdev, port, index, gid, 0);
899 static int mlx4_ib_query_sl2vl(struct ib_device *ibdev, u8 port, u64 *sl2vl_tbl)
925 err = mlx4_MAD_IFC(to_mdev(ibdev), mad_ifc_flags, port, NULL, NULL,
951 pr_err("Unable to get default sl to vl mapping for port %d. Using all zeroes (%d)\n",
959 int __mlx4_ib_query_pkey(struct ib_device *ibdev, u8 port, u16 index,
979 err = mlx4_MAD_IFC(to_mdev(ibdev), mad_ifc_flags, port, NULL, NULL,
992 static int mlx4_ib_query_pkey(struct ib_device *ibdev, u8 port, u16 index, u16 *pkey)
994 return __mlx4_ib_query_pkey(ibdev, port, index, pkey, 0);
1033 static int mlx4_ib_SET_PORT(struct mlx4_ib_dev *dev, u8 port, int reset_qkey_viols,
1051 err = mlx4_cmd(dev->dev, mailbox->dma, port, MLX4_SET_PORT_IB_OPCODE,
1059 static int mlx4_ib_modify_port(struct ib_device *ibdev, u8 port, int mask,
1063 u8 is_eth = mdev->dev->caps.port_type[port] == MLX4_PORT_TYPE_ETH;
1069 * of whether port link layer is ETH or IB. For ETH ports, qkey
1070 * violations and port capabilities are not meaningful.
1077 err = ib_query_port(ibdev, port, &attr);
1084 err = mlx4_ib_SET_PORT(mdev, port,
1277 ge->port = mqp->port;
1310 if (!mqp->port)
1314 ndev = mdev->iboe.netdevs[mqp->port - 1];
1435 u8 link_layer = rdma_port_get_link_layer(qp->device, flow_attr->port);
1550 ctrl->port = flow_attr->port;
1633 flow_attr->port, qp->qp_num,
1699 if (flow_attr->port < 1 || flow_attr->port > qp->device->phys_port_cnt)
1762 /* Application always sees one port so the mirror rule
1763 * must be on port #2
1765 flow_attr->port = 2;
1769 flow_attr->port = 1;
1785 flow_attr->port = 2;
1788 flow_attr->port = 1;
1857 err = mlx4_multicast_attach(mdev->dev, &mqp->mqp, gid->raw, mqp->port,
1869 (mqp->port == 1) ? 2 : 1,
1965 ndev = ge->added ? mdev->iboe.netdevs[ge->port - 1] : NULL;
2117 u8 port, int index)
2128 diag[!!port].offset, hw_value,
2129 diag[!!port].num_counters, port);
2134 for (i = 0; i < diag[!!port].num_counters; i++)
2137 return diag[!!port].num_counters;
2144 bool port)
2153 if (!port)
2176 bool port)
2193 if (!port) {
2218 /* i == 1 means we are building port counters */
2258 int port)
2268 atomic64_set(&ibdev->iboe.mac[port - 1], new_smac);
2274 mutex_lock(&ibdev->qp1_proxy_lock[port - 1]);
2275 qp = ibdev->qp1_proxy[port - 1];
2286 new_smac_index = mlx4_register_mac(ibdev->dev, port, new_smac);
2297 /* if old port was zero, no mac was yet registered for this QP */
2301 qp->pri.smac_port = port;
2307 mlx4_unregister_mac(ibdev->dev, port, release_mac);
2310 mutex_unlock(&ibdev->qp1_proxy_lock[port - 1]);
2320 int port;
2327 mlx4_foreach_ib_transport_port(port, ibdev->dev) {
2329 iboe->netdevs[port - 1] =
2330 mlx4_get_protocol_dev(ibdev->dev, MLX4_PROT_ETH, port);
2332 if (dev == iboe->netdevs[port - 1] &&
2335 update_qps_port = port;
2337 if (dev == iboe->netdevs[port - 1] &&
2342 if (ib_get_cached_port_state(&ibdev->ib_dev, port,
2348 iboe->last_port_state[port - 1] != IB_PORT_DOWN))
2352 iboe->last_port_state[port - 1] != IB_PORT_ACTIVE))
2354 iboe->last_port_state[port - 1] = port_state;
2357 ibev.element.port_num = port;
2387 int port;
2394 for (port = 1; port <= ibdev->dev->caps.num_ports; ++port) {
2396 i < ibdev->dev->phys_caps.pkey_phys_table_len[port];
2398 ibdev->pkeys.virt2phys_pkey[slave][port - 1][i] =
2401 ibdev->dev->phys_caps.pkey_phys_table_len[port] - 1;
2402 mlx4_sync_pkey_table(ibdev->dev, slave, port, i,
2403 ibdev->pkeys.virt2phys_pkey[slave][port - 1][i]);
2408 for (port = 1; port <= ibdev->dev->caps.num_ports; ++port) {
2410 i < ibdev->dev->phys_caps.pkey_phys_table_len[port];
2412 ibdev->pkeys.phys_pkey_cache[port-1][i] =
2764 pr_info("counter index %d for port %d allocated %d\n",
2963 flow->port = mqp->port;
3050 dm[i]->port = first_port + i + 1;
3168 void mlx4_ib_sl2vl_update(struct mlx4_ib_dev *mdev, int port)
3173 err = mlx4_ib_query_sl2vl(&mdev->ib_dev, port, &sl2vl);
3175 pr_err("Unable to get current sl to vl mapping for port %d. Using all zeroes (%d)\n",
3176 port, err);
3179 atomic64_set(&mdev->sl2vl[port - 1], sl2vl);
3186 int port = ew->port;
3188 mlx4_ib_sl2vl_update(mdev, port);
3194 int port)
3201 ew->port = port;
3269 /* need to queue only for port owner, which uses GEN_EQE */