Lines Matching refs:eqe

123 	struct mlx4_eqe *eqe = get_eqe(eq, eq->cons_index, eqe_factor, size);
124 return !!(eqe->owner & 0x80) ^ !!(eq->cons_index & eq->nent) ? NULL : eqe;
129 struct mlx4_eqe *eqe =
131 return (!!(eqe->owner & 0x80) ^
133 eqe : NULL;
146 struct mlx4_eqe *eqe;
150 for (eqe = next_slave_event_eqe(slave_eq); eqe;
151 eqe = next_slave_event_eqe(slave_eq)) {
152 slave = eqe->slave_id;
154 if (eqe->type == MLX4_EVENT_TYPE_PORT_CHANGE &&
155 eqe->subtype == MLX4_PORT_CHANGE_SUBTYPE_DOWN &&
169 if (eqe->type == MLX4_EVENT_TYPE_PORT_MNG_CHG_EVENT &&
170 eqe->subtype == MLX4_DEV_PMC_SUBTYPE_PORT_INFO) {
171 phys_port = eqe->event.port_mgmt_change.port;
175 eqe->event.port_mgmt_change.port = slave_port;
177 if (mlx4_GEN_EQE(dev, i, eqe))
181 eqe->event.port_mgmt_change.port = phys_port;
184 if (mlx4_GEN_EQE(dev, slave, eqe))
194 static void slave_event(struct mlx4_dev *dev, u8 slave, struct mlx4_eqe *eqe)
211 memcpy(s_eqe, eqe, sizeof(struct mlx4_eqe) - 1);
224 struct mlx4_eqe *eqe)
233 slave_event(dev, slave, eqe);
255 struct mlx4_eqe eqe;
263 memset(&eqe, 0, sizeof(eqe));
265 eqe.type = MLX4_EVENT_TYPE_PORT_MNG_CHG_EVENT;
266 eqe.subtype = MLX4_DEV_PMC_SUBTYPE_PKEY_TABLE;
267 eqe.event.port_mgmt_change.port = mlx4_phys_to_slave_port(dev, slave, port);
269 return mlx4_GEN_EQE(dev, slave, &eqe);
275 struct mlx4_eqe eqe;
280 memset(&eqe, 0, sizeof(eqe));
282 eqe.type = MLX4_EVENT_TYPE_PORT_MNG_CHG_EVENT;
283 eqe.subtype = MLX4_DEV_PMC_SUBTYPE_GUID_INFO;
284 eqe.event.port_mgmt_change.port = mlx4_phys_to_slave_port(dev, slave, port);
286 return mlx4_GEN_EQE(dev, slave, &eqe);
293 struct mlx4_eqe eqe;
299 memset(&eqe, 0, sizeof(eqe));
301 eqe.type = MLX4_EVENT_TYPE_PORT_CHANGE;
302 eqe.subtype = port_subtype_change;
303 eqe.event.port_change.port = cpu_to_be32(slave_port << 28);
307 return mlx4_GEN_EQE(dev, slave, &eqe);
434 struct mlx4_eqe eqe;
436 memset(&eqe, 0, sizeof(eqe));
438 eqe.type = MLX4_EVENT_TYPE_PORT_MNG_CHG_EVENT;
439 eqe.subtype = MLX4_DEV_PMC_SUBTYPE_PORT_INFO;
440 eqe.event.port_mgmt_change.port = port;
441 eqe.event.port_mgmt_change.params.port_info.changed_attr =
444 slave_event(dev, ALL_SLAVES, &eqe);
497 struct mlx4_eqe *eqe;
512 while ((eqe = next_eqe_sw(eq, dev->caps.eqe_factor, eqe_size))) {
519 switch (eqe->type) {
521 cqn = be32_to_cpu(eqe->event.comp.cqn) & 0xffffff;
533 mlx4_dbg(dev, "event %d arrived\n", eqe->type);
538 be32_to_cpu(eqe->event.qp.qpn)
542 eqe->type, eqe->subtype,
548 mlx4_slave_event(dev, slave, eqe);
553 mlx4_qp_event(dev, be32_to_cpu(eqe->event.qp.qpn) &
554 0xffffff, eqe->type);
559 __func__, be32_to_cpu(eqe->event.srq.srqn),
567 be32_to_cpu(eqe->event.srq.srqn)
572 eqe->type, eqe->subtype,
576 if (eqe->type ==
580 be32_to_cpu(eqe->event.srq.srqn),
581 eqe->type, eqe->subtype);
584 if (eqe->type ==
587 __func__, eqe->type,
588 eqe->subtype, slave);
589 mlx4_slave_event(dev, slave, eqe);
593 mlx4_srq_event(dev, be32_to_cpu(eqe->event.srq.srqn) &
594 0xffffff, eqe->type);
599 be16_to_cpu(eqe->event.cmd.token),
600 eqe->event.cmd.status,
601 be64_to_cpu(eqe->event.cmd.out_param));
606 port = be32_to_cpu(eqe->event.port_change.port) >> 28;
608 if (eqe->subtype == MLX4_PORT_CHANGE_SUBTYPE_DOWN) {
627 eqe->event.port_change.port =
629 (be32_to_cpu(eqe->event.port_change.port) & 0xFFFFFFF)
631 mlx4_slave_event(dev, i, eqe);
641 eqe->event.port_change.port =
643 (be32_to_cpu(eqe->event.port_change.port) & 0xFFFFFFF)
645 mlx4_slave_event(dev, i, eqe);
669 eqe->event.port_change.port =
671 (be32_to_cpu(eqe->event.port_change.port) & 0xFFFFFFF)
673 mlx4_slave_event(dev, i, eqe);
687 eqe->event.cq_err.syndrome == 1 ?
689 be32_to_cpu(eqe->event.cq_err.cqn) & 0xffffff);
693 be32_to_cpu(eqe->event.cq_err.cqn)
697 eqe->type, eqe->subtype,
703 mlx4_slave_event(dev, slave, eqe);
708 be32_to_cpu(eqe->event.cq_err.cqn)
710 eqe->type);
731 eqe->event.comm_channel_arm.bit_vec,
732 sizeof(eqe->event.comm_channel_arm.bit_vec));
738 flr_slave = be32_to_cpu(eqe->event.flr_event.slave_id);
768 if (eqe->subtype == MLX4_FATAL_WARNING_SUBTYPE_WARMING) {
775 mlx4_slave_event(dev, i, eqe);
778 be16_to_cpu(eqe->event.warming.warning_threshold),
779 be16_to_cpu(eqe->event.warming.current_temperature));
782 eqe->type, eqe->subtype, eq->eqn,
783 eq->cons_index, eqe->owner, eq->nent,
784 eqe->slave_id,
785 !!(eqe->owner & 0x80) ^
792 dev, MLX4_DEV_EVENT_PORT_MGMT_CHANGE, eqe);
796 switch (eqe->subtype) {
799 eqe->event.bad_cable.port);
807 eqe->type, eqe->subtype, eq->eqn,
808 eq->cons_index, eqe->owner, eq->nent,
809 !!(eqe->owner & 0x80) ^
819 eqe->type, eqe->subtype, eq->eqn,
820 eq->cons_index, eqe->owner, eq->nent,
821 eqe->slave_id,
822 !!(eqe->owner & 0x80) ^