Lines Matching refs:eqe
123 struct mlx4_eqe *eqe = get_eqe(eq, eq->cons_index, eqe_factor, size); in next_eqe_sw() local
124 return !!(eqe->owner & 0x80) ^ !!(eq->cons_index & eq->nent) ? NULL : eqe; in next_eqe_sw()
129 struct mlx4_eqe *eqe = in next_slave_event_eqe() local
131 return (!!(eqe->owner & 0x80) ^ in next_slave_event_eqe()
133 eqe : NULL; in next_slave_event_eqe()
146 struct mlx4_eqe *eqe; in mlx4_gen_slave_eqe() local
150 for (eqe = next_slave_event_eqe(slave_eq); eqe; in mlx4_gen_slave_eqe()
151 eqe = next_slave_event_eqe(slave_eq)) { in mlx4_gen_slave_eqe()
152 slave = eqe->slave_id; in mlx4_gen_slave_eqe()
158 if (eqe->type == MLX4_EVENT_TYPE_PORT_MNG_CHG_EVENT && in mlx4_gen_slave_eqe()
159 eqe->subtype == MLX4_DEV_PMC_SUBTYPE_PORT_INFO) { in mlx4_gen_slave_eqe()
160 phys_port = eqe->event.port_mgmt_change.port; in mlx4_gen_slave_eqe()
164 eqe->event.port_mgmt_change.port = slave_port; in mlx4_gen_slave_eqe()
166 if (mlx4_GEN_EQE(dev, i, eqe)) in mlx4_gen_slave_eqe()
170 eqe->event.port_mgmt_change.port = phys_port; in mlx4_gen_slave_eqe()
173 if (mlx4_GEN_EQE(dev, slave, eqe)) in mlx4_gen_slave_eqe()
182 static void slave_event(struct mlx4_dev *dev, u8 slave, struct mlx4_eqe *eqe) in slave_event() argument
199 memcpy(s_eqe, eqe, sizeof(struct mlx4_eqe) - 1); in slave_event()
212 struct mlx4_eqe *eqe) in mlx4_slave_event() argument
221 slave_event(dev, slave, eqe); in mlx4_slave_event()
242 struct mlx4_eqe eqe; in mlx4_gen_pkey_eqe() local
250 memset(&eqe, 0, sizeof eqe); in mlx4_gen_pkey_eqe()
252 eqe.type = MLX4_EVENT_TYPE_PORT_MNG_CHG_EVENT; in mlx4_gen_pkey_eqe()
253 eqe.subtype = MLX4_DEV_PMC_SUBTYPE_PKEY_TABLE; in mlx4_gen_pkey_eqe()
254 eqe.event.port_mgmt_change.port = mlx4_phys_to_slave_port(dev, slave, port); in mlx4_gen_pkey_eqe()
256 return mlx4_GEN_EQE(dev, slave, &eqe); in mlx4_gen_pkey_eqe()
262 struct mlx4_eqe eqe; in mlx4_gen_guid_change_eqe() local
267 memset(&eqe, 0, sizeof eqe); in mlx4_gen_guid_change_eqe()
269 eqe.type = MLX4_EVENT_TYPE_PORT_MNG_CHG_EVENT; in mlx4_gen_guid_change_eqe()
270 eqe.subtype = MLX4_DEV_PMC_SUBTYPE_GUID_INFO; in mlx4_gen_guid_change_eqe()
271 eqe.event.port_mgmt_change.port = mlx4_phys_to_slave_port(dev, slave, port); in mlx4_gen_guid_change_eqe()
273 return mlx4_GEN_EQE(dev, slave, &eqe); in mlx4_gen_guid_change_eqe()
280 struct mlx4_eqe eqe; in mlx4_gen_port_state_change_eqe() local
286 memset(&eqe, 0, sizeof eqe); in mlx4_gen_port_state_change_eqe()
288 eqe.type = MLX4_EVENT_TYPE_PORT_CHANGE; in mlx4_gen_port_state_change_eqe()
289 eqe.subtype = port_subtype_change; in mlx4_gen_port_state_change_eqe()
290 eqe.event.port_change.port = cpu_to_be32(slave_port << 28); in mlx4_gen_port_state_change_eqe()
294 return mlx4_GEN_EQE(dev, slave, &eqe); in mlx4_gen_port_state_change_eqe()
421 struct mlx4_eqe eqe; in mlx4_gen_slaves_port_mgt_ev() local
423 memset(&eqe, 0, sizeof eqe); in mlx4_gen_slaves_port_mgt_ev()
425 eqe.type = MLX4_EVENT_TYPE_PORT_MNG_CHG_EVENT; in mlx4_gen_slaves_port_mgt_ev()
426 eqe.subtype = MLX4_DEV_PMC_SUBTYPE_PORT_INFO; in mlx4_gen_slaves_port_mgt_ev()
427 eqe.event.port_mgmt_change.port = port; in mlx4_gen_slaves_port_mgt_ev()
428 eqe.event.port_mgmt_change.params.port_info.changed_attr = in mlx4_gen_slaves_port_mgt_ev()
431 slave_event(dev, ALL_SLAVES, &eqe); in mlx4_gen_slaves_port_mgt_ev()
484 struct mlx4_eqe *eqe; in mlx4_eq_int() local
499 while ((eqe = next_eqe_sw(eq, dev->caps.eqe_factor, eqe_size))) { in mlx4_eq_int()
506 switch (eqe->type) { in mlx4_eq_int()
508 cqn = be32_to_cpu(eqe->event.comp.cqn) & 0xffffff; in mlx4_eq_int()
520 mlx4_dbg(dev, "event %d arrived\n", eqe->type); in mlx4_eq_int()
525 be32_to_cpu(eqe->event.qp.qpn) in mlx4_eq_int()
529 eqe->type, eqe->subtype, in mlx4_eq_int()
535 mlx4_slave_event(dev, slave, eqe); in mlx4_eq_int()
540 mlx4_qp_event(dev, be32_to_cpu(eqe->event.qp.qpn) & in mlx4_eq_int()
541 0xffffff, eqe->type); in mlx4_eq_int()
552 be32_to_cpu(eqe->event.srq.srqn) in mlx4_eq_int()
557 eqe->type, eqe->subtype, in mlx4_eq_int()
563 be32_to_cpu(eqe->event.srq.srqn), in mlx4_eq_int()
564 eqe->type, eqe->subtype); in mlx4_eq_int()
568 __func__, eqe->type, in mlx4_eq_int()
569 eqe->subtype, slave); in mlx4_eq_int()
570 mlx4_slave_event(dev, slave, eqe); in mlx4_eq_int()
574 mlx4_srq_event(dev, be32_to_cpu(eqe->event.srq.srqn) & in mlx4_eq_int()
575 0xffffff, eqe->type); in mlx4_eq_int()
580 be16_to_cpu(eqe->event.cmd.token), in mlx4_eq_int()
581 eqe->event.cmd.status, in mlx4_eq_int()
582 be64_to_cpu(eqe->event.cmd.out_param)); in mlx4_eq_int()
587 port = be32_to_cpu(eqe->event.port_change.port) >> 28; in mlx4_eq_int()
589 if (eqe->subtype == MLX4_PORT_CHANGE_SUBTYPE_DOWN) { in mlx4_eq_int()
606 eqe->event.port_change.port = in mlx4_eq_int()
608 (be32_to_cpu(eqe->event.port_change.port) & 0xFFFFFFF) in mlx4_eq_int()
610 mlx4_slave_event(dev, i, eqe); in mlx4_eq_int()
620 eqe->event.port_change.port = in mlx4_eq_int()
622 (be32_to_cpu(eqe->event.port_change.port) & 0xFFFFFFF) in mlx4_eq_int()
624 mlx4_slave_event(dev, i, eqe); in mlx4_eq_int()
645 eqe->event.port_change.port = in mlx4_eq_int()
647 (be32_to_cpu(eqe->event.port_change.port) & 0xFFFFFFF) in mlx4_eq_int()
649 mlx4_slave_event(dev, i, eqe); in mlx4_eq_int()
663 eqe->event.cq_err.syndrome == 1 ? in mlx4_eq_int()
665 be32_to_cpu(eqe->event.cq_err.cqn) & 0xffffff); in mlx4_eq_int()
669 be32_to_cpu(eqe->event.cq_err.cqn) in mlx4_eq_int()
673 eqe->type, eqe->subtype, in mlx4_eq_int()
679 mlx4_slave_event(dev, slave, eqe); in mlx4_eq_int()
684 be32_to_cpu(eqe->event.cq_err.cqn) in mlx4_eq_int()
686 eqe->type); in mlx4_eq_int()
707 eqe->event.comm_channel_arm.bit_vec, in mlx4_eq_int()
708 sizeof eqe->event.comm_channel_arm.bit_vec); in mlx4_eq_int()
714 flr_slave = be32_to_cpu(eqe->event.flr_event.slave_id); in mlx4_eq_int()
744 if (eqe->subtype == MLX4_FATAL_WARNING_SUBTYPE_WARMING) { in mlx4_eq_int()
751 mlx4_slave_event(dev, i, eqe); in mlx4_eq_int()
754 be16_to_cpu(eqe->event.warming.warning_threshold), in mlx4_eq_int()
755 be16_to_cpu(eqe->event.warming.current_temperature)); in mlx4_eq_int()
758 eqe->type, eqe->subtype, eq->eqn, in mlx4_eq_int()
759 eq->cons_index, eqe->owner, eq->nent, in mlx4_eq_int()
760 eqe->slave_id, in mlx4_eq_int()
761 !!(eqe->owner & 0x80) ^ in mlx4_eq_int()
768 (unsigned long) eqe); in mlx4_eq_int()
772 switch (eqe->subtype) { in mlx4_eq_int()
775 eqe->event.bad_cable.port); in mlx4_eq_int()
783 eqe->type, eqe->subtype, eq->eqn, in mlx4_eq_int()
784 eq->cons_index, eqe->owner, eq->nent, in mlx4_eq_int()
785 !!(eqe->owner & 0x80) ^ in mlx4_eq_int()
795 eqe->type, eqe->subtype, eq->eqn, in mlx4_eq_int()
796 eq->cons_index, eqe->owner, eq->nent, in mlx4_eq_int()
797 eqe->slave_id, in mlx4_eq_int()
798 !!(eqe->owner & 0x80) ^ in mlx4_eq_int()