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()
157 if (mlx4_GEN_EQE(dev, i, eqe)) in mlx4_gen_slave_eqe()
162 if (mlx4_GEN_EQE(dev, slave, eqe)) in mlx4_gen_slave_eqe()
171 static void slave_event(struct mlx4_dev *dev, u8 slave, struct mlx4_eqe *eqe) in slave_event() argument
188 memcpy(s_eqe, eqe, sizeof(struct mlx4_eqe) - 1); in slave_event()
201 struct mlx4_eqe *eqe) in mlx4_slave_event() argument
210 slave_event(dev, slave, eqe); in mlx4_slave_event()
215 struct mlx4_eqe eqe; in mlx4_gen_pkey_eqe() local
223 memset(&eqe, 0, sizeof eqe); in mlx4_gen_pkey_eqe()
225 eqe.type = MLX4_EVENT_TYPE_PORT_MNG_CHG_EVENT; in mlx4_gen_pkey_eqe()
226 eqe.subtype = MLX4_DEV_PMC_SUBTYPE_PKEY_TABLE; in mlx4_gen_pkey_eqe()
227 eqe.event.port_mgmt_change.port = port; in mlx4_gen_pkey_eqe()
229 return mlx4_GEN_EQE(dev, slave, &eqe); in mlx4_gen_pkey_eqe()
235 struct mlx4_eqe eqe; in mlx4_gen_guid_change_eqe() local
240 memset(&eqe, 0, sizeof eqe); in mlx4_gen_guid_change_eqe()
242 eqe.type = MLX4_EVENT_TYPE_PORT_MNG_CHG_EVENT; in mlx4_gen_guid_change_eqe()
243 eqe.subtype = MLX4_DEV_PMC_SUBTYPE_GUID_INFO; in mlx4_gen_guid_change_eqe()
244 eqe.event.port_mgmt_change.port = port; in mlx4_gen_guid_change_eqe()
246 return mlx4_GEN_EQE(dev, slave, &eqe); in mlx4_gen_guid_change_eqe()
253 struct mlx4_eqe eqe; in mlx4_gen_port_state_change_eqe() local
258 memset(&eqe, 0, sizeof eqe); in mlx4_gen_port_state_change_eqe()
260 eqe.type = MLX4_EVENT_TYPE_PORT_CHANGE; in mlx4_gen_port_state_change_eqe()
261 eqe.subtype = port_subtype_change; in mlx4_gen_port_state_change_eqe()
262 eqe.event.port_change.port = cpu_to_be32(port << 28); in mlx4_gen_port_state_change_eqe()
266 return mlx4_GEN_EQE(dev, slave, &eqe); in mlx4_gen_port_state_change_eqe()
393 struct mlx4_eqe eqe; in mlx4_gen_slaves_port_mgt_ev() local
395 memset(&eqe, 0, sizeof eqe); in mlx4_gen_slaves_port_mgt_ev()
397 eqe.type = MLX4_EVENT_TYPE_PORT_MNG_CHG_EVENT; in mlx4_gen_slaves_port_mgt_ev()
398 eqe.subtype = MLX4_DEV_PMC_SUBTYPE_PORT_INFO; in mlx4_gen_slaves_port_mgt_ev()
399 eqe.event.port_mgmt_change.port = port; in mlx4_gen_slaves_port_mgt_ev()
400 eqe.event.port_mgmt_change.params.port_info.changed_attr = in mlx4_gen_slaves_port_mgt_ev()
403 slave_event(dev, ALL_SLAVES, &eqe); in mlx4_gen_slaves_port_mgt_ev()
456 struct mlx4_eqe *eqe; in mlx4_eq_int() local
471 while ((eqe = next_eqe_sw(eq, dev->caps.eqe_factor, eqe_size))) { in mlx4_eq_int()
478 switch (eqe->type) { in mlx4_eq_int()
480 cqn = be32_to_cpu(eqe->event.comp.cqn) & 0xffffff; in mlx4_eq_int()
492 mlx4_dbg(dev, "event %d arrived\n", eqe->type); in mlx4_eq_int()
497 be32_to_cpu(eqe->event.qp.qpn) in mlx4_eq_int()
501 eqe->type, eqe->subtype, in mlx4_eq_int()
507 mlx4_slave_event(dev, slave, eqe); in mlx4_eq_int()
512 mlx4_qp_event(dev, be32_to_cpu(eqe->event.qp.qpn) & in mlx4_eq_int()
513 0xffffff, eqe->type); in mlx4_eq_int()
524 be32_to_cpu(eqe->event.srq.srqn) in mlx4_eq_int()
529 eqe->type, eqe->subtype, in mlx4_eq_int()
535 be32_to_cpu(eqe->event.srq.srqn), in mlx4_eq_int()
536 eqe->type, eqe->subtype); in mlx4_eq_int()
540 __func__, eqe->type, in mlx4_eq_int()
541 eqe->subtype, slave); in mlx4_eq_int()
542 mlx4_slave_event(dev, slave, eqe); in mlx4_eq_int()
546 mlx4_srq_event(dev, be32_to_cpu(eqe->event.srq.srqn) & in mlx4_eq_int()
547 0xffffff, eqe->type); in mlx4_eq_int()
552 be16_to_cpu(eqe->event.cmd.token), in mlx4_eq_int()
553 eqe->event.cmd.status, in mlx4_eq_int()
554 be64_to_cpu(eqe->event.cmd.out_param)); in mlx4_eq_int()
559 port = be32_to_cpu(eqe->event.port_change.port) >> 28; in mlx4_eq_int()
561 if (eqe->subtype == MLX4_PORT_CHANGE_SUBTYPE_DOWN) { in mlx4_eq_int()
578 eqe->event.port_change.port = in mlx4_eq_int()
580 (be32_to_cpu(eqe->event.port_change.port) & 0xFFFFFFF) in mlx4_eq_int()
582 mlx4_slave_event(dev, i, eqe); in mlx4_eq_int()
592 mlx4_slave_event(dev, i, eqe); in mlx4_eq_int()
613 eqe->event.port_change.port = in mlx4_eq_int()
615 (be32_to_cpu(eqe->event.port_change.port) & 0xFFFFFFF) in mlx4_eq_int()
617 mlx4_slave_event(dev, i, eqe); in mlx4_eq_int()
631 eqe->event.cq_err.syndrome == 1 ? in mlx4_eq_int()
633 be32_to_cpu(eqe->event.cq_err.cqn) & 0xffffff); in mlx4_eq_int()
637 be32_to_cpu(eqe->event.cq_err.cqn) in mlx4_eq_int()
641 eqe->type, eqe->subtype, in mlx4_eq_int()
647 mlx4_slave_event(dev, slave, eqe); in mlx4_eq_int()
652 be32_to_cpu(eqe->event.cq_err.cqn) in mlx4_eq_int()
654 eqe->type); in mlx4_eq_int()
675 eqe->event.comm_channel_arm.bit_vec, in mlx4_eq_int()
676 sizeof eqe->event.comm_channel_arm.bit_vec); in mlx4_eq_int()
682 flr_slave = be32_to_cpu(eqe->event.flr_event.slave_id); in mlx4_eq_int()
712 if (eqe->subtype == MLX4_FATAL_WARNING_SUBTYPE_WARMING) { in mlx4_eq_int()
719 mlx4_slave_event(dev, i, eqe); in mlx4_eq_int()
722 be16_to_cpu(eqe->event.warming.warning_threshold), in mlx4_eq_int()
723 be16_to_cpu(eqe->event.warming.current_temperature)); in mlx4_eq_int()
726 eqe->type, eqe->subtype, eq->eqn, in mlx4_eq_int()
727 eq->cons_index, eqe->owner, eq->nent, in mlx4_eq_int()
728 eqe->slave_id, in mlx4_eq_int()
729 !!(eqe->owner & 0x80) ^ in mlx4_eq_int()
736 (unsigned long) eqe); in mlx4_eq_int()
740 switch (eqe->subtype) { in mlx4_eq_int()
743 eqe->event.bad_cable.port); in mlx4_eq_int()
751 eqe->type, eqe->subtype, eq->eqn, in mlx4_eq_int()
752 eq->cons_index, eqe->owner, eq->nent, in mlx4_eq_int()
753 !!(eqe->owner & 0x80) ^ in mlx4_eq_int()
763 eqe->type, eqe->subtype, eq->eqn, in mlx4_eq_int()
764 eq->cons_index, eqe->owner, eq->nent, in mlx4_eq_int()
765 eqe->slave_id, in mlx4_eq_int()
766 !!(eqe->owner & 0x80) ^ in mlx4_eq_int()