/linux/drivers/net/ethernet/mellanox/mlx4/ |
H A D | en_cq.c | 98 cq->mcq.set_ci_db = cq->wqres.db.db; in mlx4_en_activate_cq() 99 cq->mcq.arm_db = cq->wqres.db.db + 1; in mlx4_en_activate_cq() 100 *cq->mcq.set_ci_db = 0; in mlx4_en_activate_cq() 101 *cq->mcq.arm_db = 0; in mlx4_en_activate_cq() 138 cq->mcq.usage = MLX4_RES_USAGE_DRIVER; in mlx4_en_activate_cq() 140 &mdev->priv_uar, cq->wqres.db.dma, &cq->mcq, in mlx4_en_activate_cq() 145 cq->mcq.event = mlx4_en_cq_event; in mlx4_en_activate_cq() 149 cq->mcq.comp = mlx4_en_tx_irq; in mlx4_en_activate_cq() 154 cq->mcq.comp = mlx4_en_rx_irq; in mlx4_en_activate_cq() 196 mlx4_cq_free(priv->mdev->dev, &cq->mcq); in mlx4_en_deactivate_cq() [all …]
|
H A D | cq.c | 63 struct mlx4_cq *mcq, *temp; in mlx4_cq_tasklet_cb() local 69 list_for_each_entry_safe(mcq, temp, &ctx->process_list, tasklet_ctx.list) { in mlx4_cq_tasklet_cb() 70 list_del_init(&mcq->tasklet_ctx.list); in mlx4_cq_tasklet_cb() 71 mcq->tasklet_ctx.comp(mcq); in mlx4_cq_tasklet_cb() 72 if (refcount_dec_and_test(&mcq->refcount)) in mlx4_cq_tasklet_cb() 73 complete(&mcq->free); in mlx4_cq_tasklet_cb()
|
H A D | en_rx.c | 342 ring->cqn = priv->rx_cq[ring_ind]->mcq.cqn; in mlx4_en_activate_rx_rings() 741 index = cq->mcq.cons_index & ring->size_mask; in mlx4_en_process_rx_cq() 746 cq->mcq.cons_index & cq->size)) { in mlx4_en_process_rx_cq() 959 ++cq->mcq.cons_index; in mlx4_en_process_rx_cq() 960 index = (cq->mcq.cons_index) & ring->size_mask; in mlx4_en_process_rx_cq() 975 mlx4_cq_set_ci(&cq->mcq); in mlx4_en_process_rx_cq() 977 ring->cons = cq->mcq.cons_index; in mlx4_en_process_rx_cq() 986 void mlx4_en_rx_irq(struct mlx4_cq *mcq) in mlx4_en_rx_irq() argument 988 struct mlx4_en_cq *cq = container_of(mcq, struct mlx4_en_cq, mcq); in mlx4_en_rx_irq()
|
H A D | en_tx.c | 433 struct mlx4_cq *mcq = &cq->mcq; in mlx4_en_process_tx_cq() local 439 u32 cons_index = mcq->cons_index; in mlx4_en_process_tx_cq() 517 mcq->cons_index = cons_index; in mlx4_en_process_tx_cq() 518 mlx4_cq_set_ci(mcq); in mlx4_en_process_tx_cq() 541 void mlx4_en_tx_irq(struct mlx4_cq *mcq) in mlx4_en_tx_irq() argument 543 struct mlx4_en_cq *cq = container_of(mcq, struct mlx4_en_cq, mcq); in mlx4_en_tx_irq()
|
H A D | mlx4_en.h | 364 struct mlx4_cq mcq; member 699 void mlx4_en_tx_irq(struct mlx4_cq *mcq); 762 void mlx4_en_rx_irq(struct mlx4_cq *mcq);
|
/linux/drivers/infiniband/hw/mlx4/ |
H A D | cq.c | 98 return mlx4_cq_modify(dev->dev, &mcq->mcq, cq_count, cq_period); in mlx4_ib_modify_cq() 231 *cq->mcq.set_ci_db = 0; in mlx4_ib_create_cq() 232 *cq->mcq.arm_db = 0; in mlx4_ib_create_cq() 248 &cq->mcq, vector, 0, in mlx4_ib_create_cq() 347 i = cq->mcq.cons_index; in mlx4_ib_get_outstanding_cqes() 361 i = cq->mcq.cons_index; in mlx4_ib_cq_resize_copy_cqes() 376 ++cq->mcq.cons_index; in mlx4_ib_cq_resize_copy_cqes() 482 mlx4_cq_free(dev->dev, &mcq->mcq); in mlx4_ib_destroy_cq() 491 &mcq->db); in mlx4_ib_destroy_cq() 680 ++cq->mcq.cons_index; in mlx4_ib_poll_one() [all …]
|
H A D | qp.c | 869 struct mlx4_ib_cq *mcq; in create_rq() local 969 mcq = to_mcq(init_attr->send_cq); in create_rq() 971 mcq = to_mcq(init_attr->recv_cq); in create_rq() 1001 struct mlx4_ib_cq *mcq; in create_qp_common() local 1243 mcq = to_mcq(init_attr->send_cq); in create_qp_common() 1245 mcq = to_mcq(init_attr->recv_cq); in create_qp_common() 1308 } else if (send_cq->mcq.cqn < recv_cq->mcq.cqn) { in mlx4_ib_lock_cqs() 1323 } else if (send_cq->mcq.cqn < recv_cq->mcq.cqn) { in mlx4_ib_unlock_cqs() 4416 if (!mcq->mcq.reset_notify_added) in handle_drain_completion() 4417 mcq->mcq.reset_notify_added = 1; in handle_drain_completion() [all …]
|
H A D | mlx4_ib.h | 118 struct mlx4_cq mcq; member 695 static inline struct mlx4_ib_cq *to_mibcq(struct mlx4_cq *mcq) in to_mibcq() argument 697 return container_of(mcq, struct mlx4_ib_cq, mcq); in to_mibcq()
|
H A D | main.c | 3076 struct mlx4_cq *mcq; in mlx4_ib_handle_catas_error() local 3090 if (send_mcq->mcq.comp && in mlx4_ib_handle_catas_error() 3092 if (!send_mcq->mcq.reset_notify_added) { in mlx4_ib_handle_catas_error() 3093 send_mcq->mcq.reset_notify_added = 1; in mlx4_ib_handle_catas_error() 3094 list_add_tail(&send_mcq->mcq.reset_notify, in mlx4_ib_handle_catas_error() 3108 if (recv_mcq->mcq.comp && in mlx4_ib_handle_catas_error() 3110 if (!recv_mcq->mcq.reset_notify_added) { in mlx4_ib_handle_catas_error() 3111 recv_mcq->mcq.reset_notify_added = 1; in mlx4_ib_handle_catas_error() 3112 list_add_tail(&recv_mcq->mcq.reset_notify, in mlx4_ib_handle_catas_error() 3123 list_for_each_entry(mcq, &cq_notify_list, reset_notify) { in mlx4_ib_handle_catas_error() [all …]
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/ |
H A D | en_dim.c | 38 struct mlx5_core_dev *mdev, struct mlx5_core_cq *mcq) in mlx5e_complete_dim_work() argument 40 mlx5e_modify_cq_moderation(mdev, mcq, moder.usec, moder.pkts, in mlx5e_complete_dim_work() 52 mlx5e_complete_dim_work(dim, cur_moder, rq->mdev, &rq->cq.mcq); in mlx5e_rx_dim_work() 62 mlx5e_complete_dim_work(dim, cur_moder, sq->cq.mdev, &sq->cq.mcq); in mlx5e_tx_dim_work() 67 u8 cq_period_mode, struct mlx5_core_cq *mcq, in mlx5e_dim_enable() argument 82 err = mlx5e_modify_cq_period_mode(mdev, mcq, dim->mode); in mlx5e_dim_enable() 107 c->rx_cq_moder.cq_period_mode, &rq->cq.mcq, rq); in mlx5e_dim_rx_change() 134 c->tx_cq_moder.cq_period_mode, &sq->cq.mcq, sq); in mlx5e_dim_tx_change()
|
H A D | en_txrx.c | 258 void mlx5e_completion_event(struct mlx5_core_cq *mcq, struct mlx5_eqe *eqe) in mlx5e_completion_event() argument 260 struct mlx5e_cq *cq = container_of(mcq, struct mlx5e_cq, mcq); in mlx5e_completion_event() 267 void mlx5e_cq_error_event(struct mlx5_core_cq *mcq, enum mlx5_event event) in mlx5e_cq_error_event() argument 269 struct mlx5e_cq *cq = container_of(mcq, struct mlx5e_cq, mcq); in mlx5e_cq_error_event() 273 __func__, mcq->cqn, event); in mlx5e_cq_error_event()
|
H A D | cq.c | 49 struct mlx5_core_cq *mcq; in mlx5_cq_tasklet_cb() local 56 list_for_each_entry_safe(mcq, temp, &ctx->process_list, in mlx5_cq_tasklet_cb() 58 list_del_init(&mcq->tasklet_ctx.list); in mlx5_cq_tasklet_cb() 59 mcq->tasklet_ctx.comp(mcq, NULL); in mlx5_cq_tasklet_cb() 60 mlx5_cq_put(mcq); in mlx5_cq_tasklet_cb()
|
/linux/drivers/infiniband/hw/mlx5/ |
H A D | cq.c | 50 struct mlx5_ib_cq *cq = container_of(mcq, struct mlx5_ib_cq, mcq); in mlx5_ib_cq_event() 57 type, mcq->cqn); in mlx5_ib_cq_event() 469 ++cq->mcq.cons_index; in mlx5_poll_one() 593 cq->mcq.cqn); in poll_soft_wc() 660 mlx5_cq_arm(&cq->mcq, in mlx5_ib_arm_cq() 1055 ret = mlx5_core_destroy_cq(dev->mdev, &mcq->mcq); in mlx5_ib_destroy_cq() 1144 err = mlx5_core_modify_cq_moderation(dev->mdev, &mcq->mcq, in mlx5_ib_modify_cq() 1147 mlx5_ib_warn(dev, "modify cq 0x%x failed\n", mcq->mcq.cqn); in mlx5_ib_modify_cq() 1227 i = cq->mcq.cons_index; in copy_resize_cqes() 1254 cq->mcq.cqn); in copy_resize_cqes() [all …]
|
H A D | qp.c | 2175 to_mcq(init_attr->send_cq)->mcq.cqn); in create_dci() 2179 to_mcq(init_attr->recv_cq)->mcq.cqn); in create_dci() 2570 if (send_cq->mcq.cqn < recv_cq->mcq.cqn) { in mlx5_ib_lock_cqs() 2574 } else if (send_cq->mcq.cqn == recv_cq->mcq.cqn) { in mlx5_ib_lock_cqs() 2600 if (send_cq->mcq.cqn < recv_cq->mcq.cqn) { in mlx5_ib_unlock_cqs() 2603 } else if (send_cq->mcq.cqn == recv_cq->mcq.cqn) { in mlx5_ib_unlock_cqs() 4261 MLX5_SET(qpc, qpc, cqn_snd, send_cq->mcq.cqn); in __mlx5_ib_modify_qp() 5700 struct mlx5_ib_cq *mcq = to_mcq(cq); in handle_drain_completion() local 5706 if (!mcq->mcq.reset_notify_added) in handle_drain_completion() 5707 mcq->mcq.reset_notify_added = 1; in handle_drain_completion() [all …]
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
H A D | aso.c | 15 struct mlx5_core_cq mcq; member 48 struct mlx5_core_cq *mcq = &cq->mcq; in mlx5_aso_alloc_cq() local 60 mcq->cqe_sz = 64; in mlx5_aso_alloc_cq() 61 mcq->set_ci_db = cq->wq_ctrl.db.db; in mlx5_aso_alloc_cq() 62 mcq->arm_db = cq->wq_ctrl.db.db + 1; in mlx5_aso_alloc_cq() 79 struct mlx5_core_cq *mcq = &cq->mcq; in create_aso_cq() local 108 err = mlx5_core_create_cq(mdev, mcq, in, inlen, out, sizeof(out)); in create_aso_cq() 117 mlx5_core_destroy_cq(cq->mdev, &cq->mcq); in mlx5_aso_destroy_cq() 195 MLX5_SET(sqc, sqc, cqn, sq->cq.mcq.cqn); in create_aso_sq()
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/fpga/ |
H A D | conn.c | 361 mlx5_cq_arm(&conn->cq.mcq, MLX5_CQ_DB_REQ_NOT, in mlx5_fpga_conn_arm_cq() 405 conn = container_of(mcq, struct mlx5_fpga_conn, cq.mcq); in mlx5_fpga_conn_cq_complete() 471 conn->cq.mcq.cqe_sz = 64; in mlx5_fpga_conn_create_cq() 474 *conn->cq.mcq.set_ci_db = 0; in mlx5_fpga_conn_create_cq() 475 *conn->cq.mcq.arm_db = 0; in mlx5_fpga_conn_create_cq() 476 conn->cq.mcq.vector = 0; in mlx5_fpga_conn_create_cq() 478 conn->cq.mcq.uar = fdev->conn_res.uar; in mlx5_fpga_conn_create_cq() 574 MLX5_SET(qpc, qpc, cqn_snd, conn->cq.mcq.cqn); in mlx5_fpga_conn_create_qp() 575 MLX5_SET(qpc, qpc, cqn_rcv, conn->cq.mcq.cqn); in mlx5_fpga_conn_create_qp() 686 MLX5_SET(qpc, qpc, cqn_snd, conn->cq.mcq.cqn); in mlx5_fpga_conn_init_qp() [all …]
|
H A D | conn.h | 58 struct mlx5_core_cq mcq; member
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
H A D | txrx.h | 62 void mlx5e_completion_event(struct mlx5_core_cq *mcq, struct mlx5_eqe *eqe); 63 void mlx5e_cq_error_event(struct mlx5_core_cq *mcq, enum mlx5_event event); 278 struct mlx5_core_cq *mcq; in mlx5e_cq_arm() local 280 mcq = &cq->mcq; in mlx5e_cq_arm() 281 mlx5_cq_arm(mcq, MLX5_CQ_DB_REQ_NOT, mcq->uar->map, cq->wq.cc); in mlx5e_cq_arm() 365 cq->mcq.cqn, ci, qn, in mlx5e_dump_error_cqe()
|
H A D | health.c | 26 mlx5_core_query_cq(cq->mdev, &cq->mcq, out); in mlx5e_health_cq_diag_fmsg() 31 devlink_fmsg_u32_pair_put(fmsg, "cqn", cq->mcq.cqn); in mlx5e_health_cq_diag_fmsg()
|
H A D | reporter_tx.c | 141 eq = sq->cq.mcq.eq; in mlx5e_tx_reporter_timeout_recover() 245 mlx5e_health_eq_diag_fmsg(sq->cq.mcq.eq, fmsg); in mlx5e_tx_reporter_build_diagnose_output_sq_common() 497 sq->ch_ix, sq->sqn, sq->cq.mcq.cqn, sq->cc, sq->pc, in mlx5e_reporter_tx_timeout() 518 txqsq->ch_ix, txqsq->sqn, ts_cq->mcq.cqn, map->undelivered_counter, map->capacity); in mlx5e_reporter_tx_ptpsq_unhealthy()
|
H A D | reporter_rx.c | 177 eq = rq->cq.mcq.eq; in mlx5e_rx_reporter_timeout_recover() 213 devlink_fmsg_u32_pair_put(fmsg, "cqn", icosq->cq.mcq.cqn); in mlx5e_reporter_icosq_diagnose() 261 mlx5e_health_eq_diag_fmsg(rq->cq.mcq.eq, fmsg); in mlx5e_rx_reporter_build_diagnose_output_rq_common() 509 rq->ix, icosq_str, rq->rqn, rq->cq.mcq.cqn); in mlx5e_reporter_rx_timeout()
|
/linux/drivers/vfio/pci/mlx5/ |
H A D | cmd.c | 1038 tracker.cq.mcq)); in mlx5vf_cq_event() 1086 tracker.cq.mcq); in mlx5vf_cq_complete() 1110 cq->mcq.set_ci_db = cq->db.db; in mlx5vf_create_cq() 1111 cq->mcq.arm_db = cq->db.db + 1; in mlx5vf_create_cq() 1112 cq->mcq.cqe_sz = cqe_size; in mlx5vf_create_cq() 1141 cq->mcq.comp = mlx5vf_cq_complete; in mlx5vf_create_cq() 1142 cq->mcq.event = mlx5vf_cq_event; in mlx5vf_create_cq() 1148 cq->mcq.cons_index); in mlx5vf_create_cq() 1695 ++cq->mcq.cons_index; in mlx5vf_cq_poll_one() 1751 cq->mcq.cons_index); in mlx5vf_tracker_read_and_clear() [all …]
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/ |
H A D | dr_send.c | 1055 pr_err("CQ completion CQ: #%u\n", mcq->cqn); in dr_cq_complete() 1117 cq->mcq.comp = dr_cq_complete; in dr_create_cq() 1125 cq->mcq.cqe_sz = 64; in dr_create_cq() 1126 cq->mcq.set_ci_db = cq->wq_ctrl.db.db; in dr_create_cq() 1127 cq->mcq.arm_db = cq->wq_ctrl.db.db + 1; in dr_create_cq() 1128 *cq->mcq.set_ci_db = 0; in dr_create_cq() 1133 *cq->mcq.arm_db = cpu_to_be32(2 << 28); in dr_create_cq() 1135 cq->mcq.vector = 0; in dr_create_cq() 1136 cq->mcq.uar = uar; in dr_create_cq() 1150 mlx5_core_destroy_cq(mdev, &cq->mcq); in dr_destroy_cq() [all …]
|
/linux/drivers/ufs/core/ |
H A D | Makefile | 4 ufshcd-core-y += ufshcd.o ufs-sysfs.o ufs-mcq.o
|
/linux/drivers/vdpa/mlx5/net/ |
H A D | mlx5_vnet.c | 59 struct mlx5_core_cq mcq; member 494 vcq->mcq.cons_index++; in mlx5_vdpa_poll_one() 504 mlx5_cq_set_ci(&mvq->cq.mcq); in mlx5_vdpa_handle_completions() 517 struct mlx5_vdpa_virtqueue *mvq = container_of(mcq, struct mlx5_vdpa_virtqueue, cq.mcq); in mlx5_vdpa_cq_comp() 539 mlx5_cq_arm(&mvq->cq.mcq, MLX5_CQ_DB_REQ_NOT, uar_page, mvq->cq.mcq.cons_index); in mlx5_vdpa_cq_comp() 560 vcq->mcq.set_ci_db = vcq->db.db; in cq_create() 561 vcq->mcq.arm_db = vcq->db.db + 1; in cq_create() 562 vcq->mcq.cqe_sz = 64; in cq_create() 604 vcq->mcq.set_ci_db = vcq->db.db; in cq_create() 605 vcq->mcq.arm_db = vcq->db.db + 1; in cq_create() [all …]
|