Lines Matching refs:port

211 int mlx4_gen_pkey_eqe(struct mlx4_dev *dev, int slave, u8 port)
225 eqe.event.port_mgmt_change.port = port;
231 int mlx4_gen_guid_change_eqe(struct mlx4_dev *dev, int slave, u8 port)
242 eqe.event.port_mgmt_change.port = port;
248 int mlx4_gen_port_state_change_eqe(struct mlx4_dev *dev, int slave, u8 port,
260 eqe.event.port_change.port = cpu_to_be32(port << 28);
262 mlx4_dbg(dev, "%s: sending: %d to slave: %d on port: %d\n", __func__,
263 port_subtype_change, slave, port);
268 enum slave_port_state mlx4_get_slave_port_state(struct mlx4_dev *dev, int slave, u8 port)
272 if (slave >= dev->num_slaves || port > MLX4_MAX_PORTS) {
273 pr_err("%s: Error: asking for slave:%d, port:%d\n",
274 __func__, slave, port);
277 return s_state[slave].port_state[port];
281 static int mlx4_set_slave_port_state(struct mlx4_dev *dev, int slave, u8 port,
287 if (slave >= dev->num_slaves || port > MLX4_MAX_PORTS || port == 0) {
288 pr_err("%s: Error: asking for slave:%d, port:%d\n",
289 __func__, slave, port);
292 s_state[slave].port_state[port] = state;
297 static void set_all_slave_state(struct mlx4_dev *dev, u8 port, int event)
303 set_and_calc_slave_port_state(dev, i, port, event, &gen_event);
306 The function get as input the new event to that port,
307 and according to the prev state change the slave's port state.
315 u8 port, int event,
323 mlx4_get_slave_port_state(dev, slave, port);
327 if (slave >= dev->num_slaves || port > MLX4_MAX_PORTS || port == 0) {
328 pr_err("%s: Error: asking for slave:%d, port:%d\n",
329 __func__, slave, port);
339 mlx4_set_slave_port_state(dev, slave, port,
344 mlx4_set_slave_port_state(dev, slave, port,
347 mlx4_set_slave_port_state(dev, slave, port,
354 mlx4_set_slave_port_state(dev, slave, port,
359 mlx4_set_slave_port_state(dev, slave, port,
366 "slave:%d, port:%d\n", __func__, slave, port);
369 ret = mlx4_get_slave_port_state(dev, slave, port);
378 int mlx4_gen_slaves_port_mgt_ev(struct mlx4_dev *dev, u8 port, int attr, u16 sm_lid, u8 sm_sl)
386 eqe.event.port_mgmt_change.port = port;
447 int port;
549 port = be32_to_cpu(eqe->event.port_change.port) >> 28;
552 port);
553 mlx4_priv(dev)->sense.do_sense_port[port] = 1;
557 if (dev->caps.port_type[port] == MLX4_PORT_TYPE_ETH) {
561 " to slave: %d, port:%d\n",
562 __func__, i, port);
563 s_info = &priv->mfunc.master.vf_oper[slave].vport[port].state;
566 } else { /* IB port */
567 set_and_calc_slave_port_state(dev, i, port,
579 mlx4_dispatch_event(dev, MLX4_DEV_EVENT_PORT_UP, port);
581 mlx4_priv(dev)->sense.do_sense_port[port] = 0;
585 if (dev->caps.port_type[port] == MLX4_PORT_TYPE_ETH)
589 s_info = &priv->mfunc.master.vf_oper[slave].vport[port].state;
593 else /* IB port */
594 /* port-up event will be sent to a slave when the
597 set_all_slave_state(dev, port, MLX4_DEV_EVENT_PORT_UP);
727 mlx4_warn(dev, "Bad cable detected on port %u\n",
728 eqe->event.bad_cable.port);