Home
last modified time | relevance | path

Searched refs:cq (Results 1 – 25 of 342) sorted by relevance

12345678910>>...14

/linux-6.6.21/drivers/net/ethernet/mellanox/mlx4/
Den_cq.c40 static void mlx4_en_cq_event(struct mlx4_cq *cq, enum mlx4_event event) in mlx4_en_cq_event() argument
52 struct mlx4_en_cq *cq; in mlx4_en_create_cq() local
55 cq = kzalloc_node(sizeof(*cq), GFP_KERNEL, node); in mlx4_en_create_cq()
56 if (!cq) { in mlx4_en_create_cq()
61 cq->size = entries; in mlx4_en_create_cq()
62 cq->buf_size = cq->size * mdev->dev->caps.cqe_size; in mlx4_en_create_cq()
64 cq->ring = ring; in mlx4_en_create_cq()
65 cq->type = mode; in mlx4_en_create_cq()
66 cq->vector = mdev->dev->caps.num_comp_vectors; in mlx4_en_create_cq()
72 err = mlx4_alloc_hwq_res(mdev->dev, &cq->wqres, in mlx4_en_create_cq()
[all …]
Dcq.c82 static void mlx4_add_cq_to_tasklet(struct mlx4_cq *cq) in mlx4_add_cq_to_tasklet() argument
84 struct mlx4_eq_tasklet *tasklet_ctx = cq->tasklet_ctx.priv; in mlx4_add_cq_to_tasklet()
94 if (list_empty_careful(&cq->tasklet_ctx.list)) { in mlx4_add_cq_to_tasklet()
95 refcount_inc(&cq->refcount); in mlx4_add_cq_to_tasklet()
97 list_add_tail(&cq->tasklet_ctx.list, &tasklet_ctx->list); in mlx4_add_cq_to_tasklet()
106 struct mlx4_cq *cq; in mlx4_cq_completion() local
109 cq = radix_tree_lookup(&mlx4_priv(dev)->cq_table.tree, in mlx4_cq_completion()
113 if (!cq) { in mlx4_cq_completion()
121 ++cq->arm_sn; in mlx4_cq_completion()
123 cq->comp(cq); in mlx4_cq_completion()
[all …]
/linux-6.6.21/drivers/infiniband/core/
Dcq.c42 struct ib_cq *cq = dim->priv; in ib_cq_rdma_dim_work() local
49 trace_cq_modify(cq, comps, usec); in ib_cq_rdma_dim_work()
50 cq->device->ops.modify_cq(cq, comps, usec); in ib_cq_rdma_dim_work()
53 static void rdma_dim_init(struct ib_cq *cq) in rdma_dim_init() argument
57 if (!cq->device->ops.modify_cq || !cq->device->use_cq_dim || in rdma_dim_init()
58 cq->poll_ctx == IB_POLL_DIRECT) in rdma_dim_init()
68 dim->priv = cq; in rdma_dim_init()
69 cq->dim = dim; in rdma_dim_init()
74 static void rdma_dim_destroy(struct ib_cq *cq) in rdma_dim_destroy() argument
76 if (!cq->dim) in rdma_dim_destroy()
[all …]
/linux-6.6.21/drivers/net/ethernet/intel/ice/
Dice_controlq.c36 struct ice_ctl_q_info *cq = &hw->adminq; in ice_adminq_init_regs() local
38 ICE_CQ_INIT_REGS(cq, PF_FW); in ice_adminq_init_regs()
49 struct ice_ctl_q_info *cq = &hw->mailboxq; in ice_mailbox_init_regs() local
51 ICE_CQ_INIT_REGS(cq, PF_MBX); in ice_mailbox_init_regs()
62 struct ice_ctl_q_info *cq = &hw->sbq; in ice_sb_init_regs() local
64 ICE_CQ_INIT_REGS(cq, PF_SB); in ice_sb_init_regs()
74 bool ice_check_sq_alive(struct ice_hw *hw, struct ice_ctl_q_info *cq) in ice_check_sq_alive() argument
77 if (cq->sq.len && cq->sq.len_mask && cq->sq.len_ena_mask) in ice_check_sq_alive()
78 return (rd32(hw, cq->sq.len) & (cq->sq.len_mask | in ice_check_sq_alive()
79 cq->sq.len_ena_mask)) == in ice_check_sq_alive()
[all …]
/linux-6.6.21/drivers/infiniband/hw/mthca/
Dmthca_cq.c169 static inline struct mthca_cqe *get_cqe(struct mthca_cq *cq, int entry) in get_cqe() argument
171 return get_cqe_from_buf(&cq->buf, entry); in get_cqe()
179 static inline struct mthca_cqe *next_cqe_sw(struct mthca_cq *cq) in next_cqe_sw() argument
181 return cqe_sw(get_cqe(cq, cq->cons_index & cq->ibcq.cqe)); in next_cqe_sw()
204 static inline void update_cons_index(struct mthca_dev *dev, struct mthca_cq *cq, in update_cons_index() argument
208 *cq->set_ci_db = cpu_to_be32(cq->cons_index); in update_cons_index()
211 mthca_write64(MTHCA_TAVOR_CQ_DB_INC_CI | cq->cqn, incr - 1, in update_cons_index()
219 struct mthca_cq *cq; in mthca_cq_completion() local
221 cq = mthca_array_get(&dev->cq_table.cq, cqn & (dev->limits.num_cqs - 1)); in mthca_cq_completion()
223 if (!cq) { in mthca_cq_completion()
[all …]
/linux-6.6.21/drivers/infiniband/sw/rxe/
Drxe_cq.c11 int rxe_cq_chk_attr(struct rxe_dev *rxe, struct rxe_cq *cq, in rxe_cq_chk_attr() argument
27 if (cq) { in rxe_cq_chk_attr()
28 count = queue_count(cq->queue, QUEUE_TYPE_TO_CLIENT); in rxe_cq_chk_attr()
30 rxe_dbg_cq(cq, "cqe(%d) < current # elements in queue (%d)", in rxe_cq_chk_attr()
42 int rxe_cq_from_init(struct rxe_dev *rxe, struct rxe_cq *cq, int cqe, in rxe_cq_from_init() argument
50 cq->queue = rxe_queue_init(rxe, &cqe, in rxe_cq_from_init()
52 if (!cq->queue) { in rxe_cq_from_init()
58 cq->queue->buf, cq->queue->buf_size, &cq->queue->ip); in rxe_cq_from_init()
60 vfree(cq->queue->buf); in rxe_cq_from_init()
61 kfree(cq->queue); in rxe_cq_from_init()
[all …]
/linux-6.6.21/drivers/infiniband/hw/mlx4/
Dcq.c43 static void mlx4_ib_cq_comp(struct mlx4_cq *cq) in mlx4_ib_cq_comp() argument
45 struct ib_cq *ibcq = &to_mibcq(cq)->ibcq; in mlx4_ib_cq_comp()
49 static void mlx4_ib_cq_event(struct mlx4_cq *cq, enum mlx4_event type) in mlx4_ib_cq_event() argument
56 "on CQ %06x\n", type, cq->cqn); in mlx4_ib_cq_event()
60 ibcq = &to_mibcq(cq)->ibcq; in mlx4_ib_cq_event()
64 event.element.cq = ibcq; in mlx4_ib_cq_event()
74 static void *get_cqe(struct mlx4_ib_cq *cq, int n) in get_cqe() argument
76 return get_cqe_from_buf(&cq->buf, n); in get_cqe()
79 static void *get_sw_cqe(struct mlx4_ib_cq *cq, int n) in get_sw_cqe() argument
81 struct mlx4_cqe *cqe = get_cqe(cq, n & cq->ibcq.cqe); in get_sw_cqe()
[all …]
/linux-6.6.21/drivers/net/ethernet/cisco/enic/
Dvnic_cq.c16 void vnic_cq_free(struct vnic_cq *cq) in vnic_cq_free() argument
18 vnic_dev_free_desc_ring(cq->vdev, &cq->ring); in vnic_cq_free()
20 cq->ctrl = NULL; in vnic_cq_free()
23 int vnic_cq_alloc(struct vnic_dev *vdev, struct vnic_cq *cq, unsigned int index, in vnic_cq_alloc() argument
26 cq->index = index; in vnic_cq_alloc()
27 cq->vdev = vdev; in vnic_cq_alloc()
29 cq->ctrl = vnic_dev_get_res(vdev, RES_TYPE_CQ, index); in vnic_cq_alloc()
30 if (!cq->ctrl) { in vnic_cq_alloc()
35 return vnic_dev_alloc_desc_ring(vdev, &cq->ring, desc_count, desc_size); in vnic_cq_alloc()
38 void vnic_cq_init(struct vnic_cq *cq, unsigned int flow_control_enable, in vnic_cq_init() argument
[all …]
Dvnic_cq.h59 static inline unsigned int vnic_cq_service(struct vnic_cq *cq, in vnic_cq_service() argument
70 cq_desc = (struct cq_desc *)((u8 *)cq->ring.descs + in vnic_cq_service()
71 cq->ring.desc_size * cq->to_clean); in vnic_cq_service()
75 while (color != cq->last_color) { in vnic_cq_service()
77 if ((*q_service)(cq->vdev, cq_desc, type, in vnic_cq_service()
81 cq->to_clean++; in vnic_cq_service()
82 if (cq->to_clean == cq->ring.desc_count) { in vnic_cq_service()
83 cq->to_clean = 0; in vnic_cq_service()
84 cq->last_color = cq->last_color ? 0 : 1; in vnic_cq_service()
87 cq_desc = (struct cq_desc *)((u8 *)cq->ring.descs + in vnic_cq_service()
[all …]
/linux-6.6.21/drivers/infiniband/sw/rdmavt/
Dcq.c25 bool rvt_cq_enter(struct rvt_cq *cq, struct ib_wc *entry, bool solicited) in rvt_cq_enter() argument
36 spin_lock_irqsave(&cq->lock, flags); in rvt_cq_enter()
38 if (cq->ip) { in rvt_cq_enter()
39 u_wc = cq->queue; in rvt_cq_enter()
44 k_wc = cq->kqueue; in rvt_cq_enter()
54 if (head >= (unsigned)cq->ibcq.cqe) { in rvt_cq_enter()
55 head = cq->ibcq.cqe; in rvt_cq_enter()
61 if (unlikely(next == tail || cq->cq_full)) { in rvt_cq_enter()
62 struct rvt_dev_info *rdi = cq->rdi; in rvt_cq_enter()
64 if (!cq->cq_full) in rvt_cq_enter()
[all …]
/linux-6.6.21/drivers/scsi/snic/
Dvnic_cq.c10 void svnic_cq_free(struct vnic_cq *cq) in svnic_cq_free() argument
12 svnic_dev_free_desc_ring(cq->vdev, &cq->ring); in svnic_cq_free()
14 cq->ctrl = NULL; in svnic_cq_free()
17 int svnic_cq_alloc(struct vnic_dev *vdev, struct vnic_cq *cq, in svnic_cq_alloc() argument
20 cq->index = index; in svnic_cq_alloc()
21 cq->vdev = vdev; in svnic_cq_alloc()
23 cq->ctrl = svnic_dev_get_res(vdev, RES_TYPE_CQ, index); in svnic_cq_alloc()
24 if (!cq->ctrl) { in svnic_cq_alloc()
30 return svnic_dev_alloc_desc_ring(vdev, &cq->ring, desc_count, desc_size); in svnic_cq_alloc()
33 void svnic_cq_init(struct vnic_cq *cq, unsigned int flow_control_enable, in svnic_cq_init() argument
[all …]
Dvnic_cq_fw.h10 vnic_cq_fw_service(struct vnic_cq *cq, in vnic_cq_fw_service() argument
21 desc = (struct snic_fw_req *)((u8 *)cq->ring.descs + in vnic_cq_fw_service()
22 cq->ring.desc_size * cq->to_clean); in vnic_cq_fw_service()
25 while (color != cq->last_color) { in vnic_cq_fw_service()
27 if ((*q_service)(cq->vdev, cq->index, desc)) in vnic_cq_fw_service()
30 cq->to_clean++; in vnic_cq_fw_service()
31 if (cq->to_clean == cq->ring.desc_count) { in vnic_cq_fw_service()
32 cq->to_clean = 0; in vnic_cq_fw_service()
33 cq->last_color = cq->last_color ? 0 : 1; in vnic_cq_fw_service()
36 desc = (struct snic_fw_req *)((u8 *)cq->ring.descs + in vnic_cq_fw_service()
[all …]
Dvnic_cq.h46 static inline unsigned int svnic_cq_service(struct vnic_cq *cq, in svnic_cq_service() argument
57 cq_desc = (struct cq_desc *)((u8 *)cq->ring.descs + in svnic_cq_service()
58 cq->ring.desc_size * cq->to_clean); in svnic_cq_service()
62 while (color != cq->last_color) { in svnic_cq_service()
64 if ((*q_service)(cq->vdev, cq_desc, type, in svnic_cq_service()
68 cq->to_clean++; in svnic_cq_service()
69 if (cq->to_clean == cq->ring.desc_count) { in svnic_cq_service()
70 cq->to_clean = 0; in svnic_cq_service()
71 cq->last_color = cq->last_color ? 0 : 1; in svnic_cq_service()
74 cq_desc = (struct cq_desc *)((u8 *)cq->ring.descs + in svnic_cq_service()
[all …]
/linux-6.6.21/drivers/scsi/fnic/
Dvnic_cq.c12 void vnic_cq_free(struct vnic_cq *cq) in vnic_cq_free() argument
14 vnic_dev_free_desc_ring(cq->vdev, &cq->ring); in vnic_cq_free()
16 cq->ctrl = NULL; in vnic_cq_free()
19 int vnic_cq_alloc(struct vnic_dev *vdev, struct vnic_cq *cq, unsigned int index, in vnic_cq_alloc() argument
24 cq->index = index; in vnic_cq_alloc()
25 cq->vdev = vdev; in vnic_cq_alloc()
27 cq->ctrl = vnic_dev_get_res(vdev, RES_TYPE_CQ, index); in vnic_cq_alloc()
28 if (!cq->ctrl) { in vnic_cq_alloc()
33 err = vnic_dev_alloc_desc_ring(vdev, &cq->ring, desc_count, desc_size); in vnic_cq_alloc()
40 void vnic_cq_init(struct vnic_cq *cq, unsigned int flow_control_enable, in vnic_cq_init() argument
[all …]
Dvnic_cq_copy.h12 struct vnic_cq *cq, in vnic_cq_copy_service() argument
23 desc = (struct fcpio_fw_req *)((u8 *)cq->ring.descs + in vnic_cq_copy_service()
24 cq->ring.desc_size * cq->to_clean); in vnic_cq_copy_service()
27 while (color != cq->last_color) { in vnic_cq_copy_service()
29 if ((*q_service)(cq->vdev, cq->index, desc)) in vnic_cq_copy_service()
32 cq->to_clean++; in vnic_cq_copy_service()
33 if (cq->to_clean == cq->ring.desc_count) { in vnic_cq_copy_service()
34 cq->to_clean = 0; in vnic_cq_copy_service()
35 cq->last_color = cq->last_color ? 0 : 1; in vnic_cq_copy_service()
38 desc = (struct fcpio_fw_req *)((u8 *)cq->ring.descs + in vnic_cq_copy_service()
[all …]
Dvnic_cq.h58 static inline unsigned int vnic_cq_service(struct vnic_cq *cq, in vnic_cq_service() argument
69 cq_desc = (struct cq_desc *)((u8 *)cq->ring.descs + in vnic_cq_service()
70 cq->ring.desc_size * cq->to_clean); in vnic_cq_service()
74 while (color != cq->last_color) { in vnic_cq_service()
76 if ((*q_service)(cq->vdev, cq_desc, type, in vnic_cq_service()
80 cq->to_clean++; in vnic_cq_service()
81 if (cq->to_clean == cq->ring.desc_count) { in vnic_cq_service()
82 cq->to_clean = 0; in vnic_cq_service()
83 cq->last_color = cq->last_color ? 0 : 1; in vnic_cq_service()
86 cq_desc = (struct cq_desc *)((u8 *)cq->ring.descs + in vnic_cq_service()
[all …]
/linux-6.6.21/drivers/infiniband/hw/vmw_pvrdma/
Dpvrdma_cq.c67 struct pvrdma_cq *cq = to_vcq(ibcq); in pvrdma_req_notify_cq() local
68 u32 val = cq->cq_handle; in pvrdma_req_notify_cq()
75 spin_lock_irqsave(&cq->cq_lock, flags); in pvrdma_req_notify_cq()
82 has_data = pvrdma_idx_ring_has_data(&cq->ring_state->rx, in pvrdma_req_notify_cq()
83 cq->ibcq.cqe, &head); in pvrdma_req_notify_cq()
88 spin_unlock_irqrestore(&cq->cq_lock, flags); in pvrdma_req_notify_cq()
107 struct pvrdma_cq *cq = to_vcq(ibcq); in pvrdma_create_cq() local
132 cq->ibcq.cqe = entries; in pvrdma_create_cq()
133 cq->is_kernel = !udata; in pvrdma_create_cq()
135 if (!cq->is_kernel) { in pvrdma_create_cq()
[all …]
/linux-6.6.21/drivers/infiniband/hw/mlx5/
Dcq.c41 static void mlx5_ib_cq_comp(struct mlx5_core_cq *cq, struct mlx5_eqe *eqe) in mlx5_ib_cq_comp() argument
43 struct ib_cq *ibcq = &to_mibcq(cq)->ibcq; in mlx5_ib_cq_comp()
50 struct mlx5_ib_cq *cq = container_of(mcq, struct mlx5_ib_cq, mcq); in mlx5_ib_cq_event() local
51 struct mlx5_ib_dev *dev = to_mdev(cq->ibcq.device); in mlx5_ib_cq_event()
52 struct ib_cq *ibcq = &cq->ibcq; in mlx5_ib_cq_event()
64 event.element.cq = ibcq; in mlx5_ib_cq_event()
69 static void *get_cqe(struct mlx5_ib_cq *cq, int n) in get_cqe() argument
71 return mlx5_frag_buf_get_wqe(&cq->buf.fbc, n); in get_cqe()
79 static void *get_sw_cqe(struct mlx5_ib_cq *cq, int n) in get_sw_cqe() argument
81 void *cqe = get_cqe(cq, n & cq->ibcq.cqe); in get_sw_cqe()
[all …]
/linux-6.6.21/drivers/net/ethernet/mellanox/mlx5/core/
Dcq.c69 static void mlx5_add_cq_to_tasklet(struct mlx5_core_cq *cq, in mlx5_add_cq_to_tasklet() argument
73 struct mlx5_eq_tasklet *tasklet_ctx = cq->tasklet_ctx.priv; in mlx5_add_cq_to_tasklet()
81 if (list_empty_careful(&cq->tasklet_ctx.list)) { in mlx5_add_cq_to_tasklet()
82 mlx5_cq_hold(cq); in mlx5_add_cq_to_tasklet()
83 list_add_tail(&cq->tasklet_ctx.list, &tasklet_ctx->list); in mlx5_add_cq_to_tasklet()
89 int mlx5_create_cq(struct mlx5_core_dev *dev, struct mlx5_core_cq *cq, in mlx5_create_cq() argument
108 cq->cqn = MLX5_GET(create_cq_out, out, cqn); in mlx5_create_cq()
109 cq->cons_index = 0; in mlx5_create_cq()
110 cq->arm_sn = 0; in mlx5_create_cq()
111 cq->eq = eq; in mlx5_create_cq()
[all …]
/linux-6.6.21/drivers/infiniband/hw/cxgb4/
Dcq.c37 static void destroy_cq(struct c4iw_rdev *rdev, struct t4_cq *cq, in destroy_cq() argument
56 res->u.cq.restype = FW_RI_RES_TYPE_CQ; in destroy_cq()
57 res->u.cq.op = FW_RI_RES_OP_RESET; in destroy_cq()
58 res->u.cq.iqid = cpu_to_be32(cq->cqid); in destroy_cq()
63 kfree(cq->sw_queue); in destroy_cq()
65 cq->memsize, cq->queue, in destroy_cq()
66 dma_unmap_addr(cq, mapping)); in destroy_cq()
67 c4iw_put_cqid(rdev, cq->cqid, uctx); in destroy_cq()
70 static int create_cq(struct c4iw_rdev *rdev, struct t4_cq *cq, in create_cq() argument
85 cq->cqid = c4iw_get_cqid(rdev, uctx); in create_cq()
[all …]
Dt4.h703 static inline void write_gts(struct t4_cq *cq, u32 val) in write_gts() argument
705 if (cq->bar2_va) in write_gts()
706 writel(val | INGRESSQID_V(cq->bar2_qid), in write_gts()
707 cq->bar2_va + SGE_UDB_GTS); in write_gts()
709 writel(val | INGRESSQID_V(cq->cqid), cq->gts); in write_gts()
712 static inline int t4_clear_cq_armed(struct t4_cq *cq) in t4_clear_cq_armed() argument
714 return test_and_clear_bit(CQ_ARMED, &cq->flags); in t4_clear_cq_armed()
717 static inline int t4_arm_cq(struct t4_cq *cq, int se) in t4_arm_cq() argument
721 set_bit(CQ_ARMED, &cq->flags); in t4_arm_cq()
722 while (cq->cidx_inc > CIDXINC_M) { in t4_arm_cq()
[all …]
Drestrack.c271 static int fill_cq(struct sk_buff *msg, struct t4_cq *cq) in fill_cq() argument
273 if (rdma_nl_put_driver_u32(msg, "cqid", cq->cqid)) in fill_cq()
275 if (rdma_nl_put_driver_u32(msg, "memsize", cq->memsize)) in fill_cq()
277 if (rdma_nl_put_driver_u32(msg, "size", cq->size)) in fill_cq()
279 if (rdma_nl_put_driver_u32(msg, "cidx", cq->cidx)) in fill_cq()
281 if (rdma_nl_put_driver_u32(msg, "cidx_inc", cq->cidx_inc)) in fill_cq()
283 if (rdma_nl_put_driver_u32(msg, "sw_cidx", cq->sw_cidx)) in fill_cq()
285 if (rdma_nl_put_driver_u32(msg, "sw_pidx", cq->sw_pidx)) in fill_cq()
287 if (rdma_nl_put_driver_u32(msg, "sw_in_use", cq->sw_in_use)) in fill_cq()
289 if (rdma_nl_put_driver_u32(msg, "vector", cq->vector)) in fill_cq()
[all …]
/linux-6.6.21/drivers/scsi/elx/efct/
Defct_hw_queues.c15 struct hw_cq *cq = NULL; in efct_hw_init_queues() local
44 cq = efct_hw_new_cq(eq, in efct_hw_init_queues()
46 if (!cq) { in efct_hw_init_queues()
51 mq = efct_hw_new_mq(cq, EFCT_HW_MQ_DEPTH); in efct_hw_init_queues()
59 cq = efct_hw_new_cq(eq, hw->num_qentries[SLI4_QTYPE_CQ]); in efct_hw_init_queues()
60 if (!cq) { in efct_hw_init_queues()
65 wq = efct_hw_new_wq(cq, hw->num_qentries[SLI4_QTYPE_WQ]); in efct_hw_init_queues()
162 struct hw_cq *cq = kzalloc(sizeof(*cq), GFP_KERNEL); in efct_hw_new_cq() local
164 if (!cq) in efct_hw_new_cq()
167 cq->eq = eq; in efct_hw_new_cq()
[all …]
/linux-6.6.21/include/linux/mlx5/
Dcq.h49 void (*comp)(struct mlx5_core_cq *cq, struct mlx5_eqe *eqe);
57 void (*comp)(struct mlx5_core_cq *cq, struct mlx5_eqe *eqe);
141 static inline void mlx5_cq_set_ci(struct mlx5_core_cq *cq) in mlx5_cq_set_ci() argument
143 *cq->set_ci_db = cpu_to_be32(cq->cons_index & 0xffffff); in mlx5_cq_set_ci()
151 static inline void mlx5_cq_arm(struct mlx5_core_cq *cq, u32 cmd, in mlx5_cq_arm() argument
159 sn = cq->arm_sn & 3; in mlx5_cq_arm()
162 *cq->arm_db = cpu_to_be32(sn << 28 | cmd | ci); in mlx5_cq_arm()
170 doorbell[1] = cpu_to_be32(cq->cqn); in mlx5_cq_arm()
175 static inline void mlx5_cq_hold(struct mlx5_core_cq *cq) in mlx5_cq_hold() argument
177 refcount_inc(&cq->refcount); in mlx5_cq_hold()
[all …]
/linux-6.6.21/drivers/infiniband/hw/erdma/
Derdma_cq.c9 static void *get_next_valid_cqe(struct erdma_cq *cq) in get_next_valid_cqe() argument
11 __be32 *cqe = get_queue_entry(cq->kern_cq.qbuf, cq->kern_cq.ci, in get_next_valid_cqe()
12 cq->depth, CQE_SHIFT); in get_next_valid_cqe()
16 return owner ^ !!(cq->kern_cq.ci & cq->depth) ? cqe : NULL; in get_next_valid_cqe()
19 static void notify_cq(struct erdma_cq *cq, u8 solcitied) in notify_cq() argument
22 FIELD_PREP(ERDMA_CQDB_IDX_MASK, (cq->kern_cq.notify_cnt)) | in notify_cq()
23 FIELD_PREP(ERDMA_CQDB_CQN_MASK, cq->cqn) | in notify_cq()
26 FIELD_PREP(ERDMA_CQDB_CMDSN_MASK, cq->kern_cq.cmdsn) | in notify_cq()
27 FIELD_PREP(ERDMA_CQDB_CI_MASK, cq->kern_cq.ci); in notify_cq()
29 *cq->kern_cq.db_record = db_data; in notify_cq()
[all …]

12345678910>>...14