Lines Matching refs:port

96 static int mlx4_WRITE_PROMISC(struct mlx4_dev *dev, u8 port, u8 steer,
101 in_mod = (u32) port << 16 | steer << 1;
123 static struct mlx4_promisc_qp *get_promisc_qp(struct mlx4_dev *dev, u8 port,
130 if (port < 1 || port > dev->caps.num_ports)
133 s_steer = &mlx4_priv(dev)->steer[port - 1];
147 static int new_steering_entry(struct mlx4_dev *dev, u8 port,
161 if (port < 1 || port > dev->caps.num_ports)
164 s_steer = &mlx4_priv(dev)->steer[port - 1];
176 pqp = get_promisc_qp(dev, port, steer, qpn);
239 static int existing_steering_entry(struct mlx4_dev *dev, u8 port,
248 if (port < 1 || port > dev->caps.num_ports)
251 s_steer = &mlx4_priv(dev)->steer[port - 1];
253 pqp = get_promisc_qp(dev, port, steer, qpn);
288 static bool check_duplicate_entry(struct mlx4_dev *dev, u8 port,
296 if (port < 1 || port > dev->caps.num_ports)
299 s_steer = &mlx4_priv(dev)->steer[port - 1];
302 if (!get_promisc_qp(dev, port, steer, qpn))
329 static bool promisc_steering_entry(struct mlx4_dev *dev, u8 port,
340 if (port < 1 || port > dev->caps.num_ports)
356 if (!get_promisc_qp(dev, port, steer, qpn) && qpn != tqpn) {
368 static bool can_remove_steering_entry(struct mlx4_dev *dev, u8 port,
377 if (port < 1 || port > dev->caps.num_ports)
380 s_steer = &mlx4_priv(dev)->steer[port - 1];
382 if (!promisc_steering_entry(dev, port, steer, index,
418 static int add_promisc_qp(struct mlx4_dev *dev, u8 port,
434 if (port < 1 || port > dev->caps.num_ports)
437 s_steer = &mlx4_priv(dev)->steer[port - 1];
441 if (get_promisc_qp(dev, port, steer, qpn)) {
529 err = mlx4_WRITE_PROMISC(dev, port, steer, mailbox);
548 static int remove_promisc_qp(struct mlx4_dev *dev, u8 port,
564 if (port < 1 || port > dev->caps.num_ports)
567 s_steer = &mlx4_priv(dev)->steer[port - 1];
570 pqp = get_promisc_qp(dev, port, steer, qpn);
594 err = mlx4_WRITE_PROMISC(dev, port, steer, mailbox);
694 static int find_entry(struct mlx4_dev *dev, u8 port,
783 hw->port = ctrl->port;
910 "port = %d prio = 0x%x qp = 0x%x ",
911 rule->port, rule->priority, rule->qpn);
943 "src-port = %d ",
947 "dst-port = %d ",
1050 int port, int qpn, u16 prio, u64 *reg_id)
1066 rule.port = port;
1116 u8 port = gid[5];
1125 err = find_entry(dev, port, gid, prot,
1194 err = new_steering_entry(dev, port, steer,
1197 err = existing_steering_entry(dev, port, steer,
1224 u8 port = gid[5];
1234 err = find_entry(dev, port, gid, prot,
1249 check_duplicate_entry(dev, port, steer, index, qp->qpn) &&
1250 !promisc_steering_entry(dev, port, steer, index, qp->qpn, NULL))
1272 removed_entry = can_remove_steering_entry(dev, port, steer,
1368 u8 gid[16], u8 port,
1383 rule.port = port;
1408 u8 port, int block_mcast_loopback,
1429 return mlx4_trans_to_dmfs_attach(dev, qp, gid, port,
1466 int mlx4_flow_steer_promisc_add(struct mlx4_dev *dev, u8 port,
1479 regid_p = &dev->regid_promisc_array[port];
1482 regid_p = &dev->regid_allmulti_array[port];
1492 rule.port = port;
1495 mlx4_info(dev, "going promisc on %x\n", port);
1501 int mlx4_flow_steer_promisc_remove(struct mlx4_dev *dev, u8 port,
1509 regid_p = &dev->regid_promisc_array[port];
1512 regid_p = &dev->regid_allmulti_array[port];
1565 int port = mlx4_slave_convert_port(dev, slave, vhcr->in_param >> 62);
1568 if (port < 0)
1576 return add_promisc_qp(dev, port, steer, qpn);
1578 return remove_promisc_qp(dev, port, steer, qpn);
1582 enum mlx4_steer_type steer, u8 add, u8 port)
1584 return mlx4_cmd(dev, (u64) qpn | (u64) port << 62, (u32) steer, add,
1589 int mlx4_multicast_promisc_add(struct mlx4_dev *dev, u32 qpn, u8 port)
1592 return mlx4_PROMISC(dev, qpn, MLX4_MC_STEER, 1, port);
1594 return add_promisc_qp(dev, port, MLX4_MC_STEER, qpn);
1598 int mlx4_multicast_promisc_remove(struct mlx4_dev *dev, u32 qpn, u8 port)
1601 return mlx4_PROMISC(dev, qpn, MLX4_MC_STEER, 0, port);
1603 return remove_promisc_qp(dev, port, MLX4_MC_STEER, qpn);
1607 int mlx4_unicast_promisc_add(struct mlx4_dev *dev, u32 qpn, u8 port)
1610 return mlx4_PROMISC(dev, qpn, MLX4_UC_STEER, 1, port);
1612 return add_promisc_qp(dev, port, MLX4_UC_STEER, qpn);
1616 int mlx4_unicast_promisc_remove(struct mlx4_dev *dev, u32 qpn, u8 port)
1619 return mlx4_PROMISC(dev, qpn, MLX4_UC_STEER, 0, port);
1621 return remove_promisc_qp(dev, port, MLX4_UC_STEER, qpn);