Home
last modified time | relevance | path

Searched refs:prod_idx (Results 1 – 22 of 22) sorted by relevance

/Linux-v4.19/include/linux/qed/
Dqed_chain.h90 u16 prod_idx; member
96 u32 prod_idx; member
189 return p_chain->u.chain16.prod_idx; in qed_chain_get_prod_idx()
207 (u32)p_chain->u.chain16.prod_idx) - in qed_chain_get_elem_left()
210 used -= p_chain->u.chain16.prod_idx / p_chain->elem_per_page - in qed_chain_get_elem_left()
221 (u64)p_chain->u.chain32.prod_idx) - in qed_chain_get_elem_left_u32()
224 used -= p_chain->u.chain32.prod_idx / p_chain->elem_per_page - in qed_chain_get_elem_left_u32()
351 if ((p_chain->u.chain16.prod_idx & in qed_chain_produce()
353 p_prod_idx = &p_chain->u.chain16.prod_idx; in qed_chain_produce()
358 p_chain->u.chain16.prod_idx++; in qed_chain_produce()
[all …]
/Linux-v4.19/drivers/net/ethernet/huawei/hinic/
Dhinic_hw_qp.c63 #define SQ_DB_PI_HI(prod_idx) ((prod_idx) >> SQ_DB_PI_HI_SHIFT) argument
66 #define SQ_DB_PI_LOW(prod_idx) ((prod_idx) & SQ_DB_PI_LOW_MASK) argument
113 pi_start = atomic_read(&wq->prod_idx); in hinic_sq_prepare_ctxt()
170 pi_start = atomic_read(&wq->prod_idx); in hinic_rq_prepare_ctxt()
482 static void sq_prepare_ctrl(struct hinic_sq_ctrl *ctrl, u16 prod_idx, in sq_prepare_ctrl() argument
540 void hinic_sq_prepare_wqe(struct hinic_sq *sq, u16 prod_idx, in hinic_sq_prepare_wqe() argument
546 sq_prepare_ctrl(&sq_wqe->ctrl, prod_idx, nr_sges); in hinic_sq_prepare_wqe()
562 static u32 sq_prepare_db(struct hinic_sq *sq, u16 prod_idx, unsigned int cos) in sq_prepare_db() argument
565 u8 hi_prod_idx = SQ_DB_PI_HI(SQ_MASKED_IDX(sq, prod_idx)); in sq_prepare_db()
582 void hinic_sq_write_db(struct hinic_sq *sq, u16 prod_idx, unsigned int wqe_size, in hinic_sq_write_db() argument
[all …]
Dhinic_hw_qp.h152 void hinic_sq_prepare_wqe(struct hinic_sq *sq, u16 prod_idx,
156 void hinic_sq_write_db(struct hinic_sq *sq, u16 prod_idx, unsigned int wqe_size,
160 unsigned int wqe_size, u16 *prod_idx);
162 void hinic_sq_write_wqe(struct hinic_sq *sq, u16 prod_idx,
180 unsigned int wqe_size, u16 *prod_idx);
182 void hinic_rq_write_wqe(struct hinic_rq *rq, u16 prod_idx,
200 void hinic_rq_prepare_wqe(struct hinic_rq *rq, u16 prod_idx,
203 void hinic_rq_update(struct hinic_rq *rq, u16 prod_idx);
Dhinic_hw_api_cmd.c102 u32 addr, prod_idx; in set_prod_idx() local
105 prod_idx = hinic_hwif_read_reg(hwif, addr); in set_prod_idx()
107 prod_idx = HINIC_API_CMD_PI_CLEAR(prod_idx, IDX); in set_prod_idx()
109 prod_idx |= HINIC_API_CMD_PI_SET(chain->prod_idx, IDX); in set_prod_idx()
111 hinic_hwif_write_reg(hwif, addr, prod_idx); in set_prod_idx()
134 u32 prod_idx; in chain_busy() local
139 prod_idx = chain->prod_idx; in chain_busy()
142 if (chain->cons_idx == MASKED_IDX(chain, prod_idx + 1)) { in chain_busy()
218 cell_ctxt = &chain->cell_ctxt[chain->prod_idx]; in prepare_api_cmd()
266 chain->prod_idx = MASKED_IDX(chain, chain->prod_idx + 1); in cmd_chain_prod_idx_inc()
[all …]
Dhinic_hw_cmdq.c193 enum hinic_mod_type mod, u8 cmd, u16 prod_idx, in cmdq_prepare_wqe_ctrl() argument
218 ctrl->ctrl_info = HINIC_CMDQ_CTRL_SET(prod_idx, PI) | in cmdq_prepare_wqe_ctrl()
262 enum hinic_mod_type mod, u8 cmd, u16 prod_idx) in cmdq_set_lcmd_wqe() argument
279 prod_idx, complete_format, DATA_SGE, in cmdq_set_lcmd_wqe()
290 enum hinic_mod_type mod, u8 cmd, u16 prod_idx) in cmdq_set_direct_wqe() argument
309 cmdq_prepare_wqe_ctrl(wqe, wrapped, ack_type, mod, cmd, prod_idx, in cmdq_set_direct_wqe()
326 enum hinic_cmdq_type cmdq_type, u16 prod_idx) in cmdq_fill_db() argument
328 *db_info = HINIC_CMDQ_DB_INFO_SET(UPPER_8_BITS(prod_idx), HI_PROD_IDX) | in cmdq_fill_db()
335 enum hinic_cmdq_type cmdq_type, u16 prod_idx) in cmdq_set_db() argument
339 cmdq_fill_db(&db_info, cmdq_type, prod_idx); in cmdq_set_db()
[all …]
Dhinic_hw_wq.c392 size = wq->num_q_pages * sizeof(wq->prod_idx); in alloc_wqes_shadow()
565 atomic_set(&wq->prod_idx, 0); in hinic_wq_allocate()
663 atomic_set(&wq[i].prod_idx, 0); in hinic_wqs_cmdq_alloc()
737 u16 *prod_idx) in hinic_get_wqe() argument
742 *prod_idx = MASKED_WQE_IDX(wq, atomic_read(&wq->prod_idx)); in hinic_get_wqe()
751 end_prod_idx = atomic_add_return(num_wqebbs, &wq->prod_idx); in hinic_get_wqe()
763 *prod_idx = curr_prod_idx; in hinic_get_wqe()
768 copy_wqe_to_shadow(wq, shadow_addr, num_wqebbs, *prod_idx); in hinic_get_wqe()
770 wq->shadow_idx[curr_pg] = *prod_idx; in hinic_get_wqe()
774 return WQ_PAGE_ADDR(wq, *prod_idx) + WQE_PAGE_OFF(wq, *prod_idx); in hinic_get_wqe()
[all …]
Dhinic_hw_wq.h53 atomic_t prod_idx; member
105 u16 *prod_idx);
Dhinic_tx.c187 u16 prod_idx; in hinic_xmit_frame() local
213 sq_wqe = hinic_sq_get_wqe(txq->sq, wqe_size, &prod_idx); in hinic_xmit_frame()
220 sq_wqe = hinic_sq_get_wqe(txq->sq, wqe_size, &prod_idx); in hinic_xmit_frame()
237 hinic_sq_prepare_wqe(txq->sq, prod_idx, sq_wqe, txq->sges, nr_sges); in hinic_xmit_frame()
239 hinic_sq_write_wqe(txq->sq, prod_idx, sq_wqe, skb, wqe_size); in hinic_xmit_frame()
244 hinic_sq_write_db(txq->sq, prod_idx, wqe_size, 0); in hinic_xmit_frame()
Dhinic_rx.c175 u16 prod_idx; in rx_alloc_pkts() local
194 &prod_idx); in rx_alloc_pkts()
200 hinic_rq_prepare_wqe(rxq->rq, prod_idx, rq_wqe, &sge); in rx_alloc_pkts()
202 hinic_rq_write_wqe(rxq->rq, prod_idx, rq_wqe, skb); in rx_alloc_pkts()
209 hinic_rq_update(rxq->rq, prod_idx); in rx_alloc_pkts()
Dhinic_hw_api_cmd.h185 u32 prod_idx; member
/Linux-v4.19/drivers/scsi/qedi/
Dqedi_debugfs.c158 u16 prod_idx; in qedi_gbl_ctx_show() local
170 prod_idx = (sb->pi_array[QEDI_PROTO_CQ_PROD_IDX] & in qedi_gbl_ctx_show()
172 seq_printf(s, "SB PROD IDX: %d\n", prod_idx); in qedi_gbl_ctx_show()
Dqedi_main.c1164 u16 prod_idx; in qedi_process_completions() local
1171 prod_idx = sb->pi_array[QEDI_PROTO_CQ_PROD_IDX]; in qedi_process_completions()
1173 if (prod_idx >= QEDI_CQ_SIZE) in qedi_process_completions()
1174 prod_idx = prod_idx % QEDI_CQ_SIZE; in qedi_process_completions()
1179 que, prod_idx, que->cq_cons_idx, fp->sb_id); in qedi_process_completions()
1189 while (que->cq_cons_idx != prod_idx) { in qedi_process_completions()
1194 cqe, prod_idx, que->cq_cons_idx); in qedi_process_completions()
1218 u16 prod_idx; in qedi_fp_has_work() local
1223 prod_idx = sb->pi_array[QEDI_PROTO_CQ_PROD_IDX]; in qedi_fp_has_work()
1229 if (prod_idx >= QEDI_CQ_SIZE) in qedi_fp_has_work()
[all …]
/Linux-v4.19/drivers/pci/pcie/
Daer.c48 unsigned short prod_idx; /* Error Producer Index */ member
1230 if (rpc->prod_idx == rpc->cons_idx) { in get_e_source()
1296 next_prod_idx = rpc->prod_idx + 1; in aer_irq()
1307 rpc->e_sources[rpc->prod_idx].status = status; in aer_irq()
1308 rpc->e_sources[rpc->prod_idx].id = id; in aer_irq()
1309 rpc->prod_idx = next_prod_idx; in aer_irq()
/Linux-v4.19/drivers/net/ethernet/qualcomm/emac/
Demac-mac.c915 u32 prod_idx = (rx_q->rfd.produce_idx << rx_q->produce_shift) & in emac_mac_rx_descs_refill() local
918 rx_q->produce_mask, prod_idx); in emac_mac_rx_descs_refill()
1451 u32 prod_idx; in emac_mac_tx_buf_send() local
1484 prod_idx = (tx_q->tpd.produce_idx << tx_q->produce_shift) & in emac_mac_tx_buf_send()
1487 tx_q->produce_mask, prod_idx); in emac_mac_tx_buf_send()
/Linux-v4.19/drivers/scsi/qedf/
Dqedf_main.c1913 u16 prod_idx; in qedf_fp_has_work() local
1922 prod_idx = sb->pi_array[QEDF_FCOE_PARAMS_GL_RQ_PI]; in qedf_fp_has_work()
1924 return (que->cq_prod_idx != prod_idx); in qedf_fp_has_work()
1941 u16 prod_idx; in qedf_process_completions() local
1952 prod_idx = sb->pi_array[QEDF_FCOE_PARAMS_GL_RQ_PI]; in qedf_process_completions()
1958 new_cqes = (prod_idx >= que->cq_prod_idx) ? in qedf_process_completions()
1959 (prod_idx - que->cq_prod_idx) : in qedf_process_completions()
1960 0x10000 - que->cq_prod_idx + prod_idx; in qedf_process_completions()
1963 que->cq_prod_idx = prod_idx; in qedf_process_completions()
/Linux-v4.19/drivers/scsi/bnx2i/
Dbnx2i.h548 u16 prod_idx; member
Dbnx2i_hwi.c250 rq_db->prod_idx = ep->qp.rq_prod_idx; in bnx2i_put_rq_buf()
278 sq_db->prod_idx = ep->qp.sq_prod_idx; in bnx2i_ring_sq_dbell()
/Linux-v4.19/drivers/net/ethernet/qlogic/qlge/
Dqlge_main.c2656 tx_ring_desc = &tx_ring->q[tx_ring->prod_idx]; in qlge_send()
2692 tx_ring->prod_idx++; in qlge_send()
2693 if (tx_ring->prod_idx == tx_ring->wq_len) in qlge_send()
2694 tx_ring->prod_idx = 0; in qlge_send()
2697 ql_write_db_reg_relaxed(tx_ring->prod_idx, tx_ring->prod_idx_db_reg); in qlge_send()
2701 tx_ring->prod_idx, skb->len); in qlge_send()
3275 tx_ring->prod_idx = 0; in ql_start_tx_ring()
Dqlge.h1051 u32 prod_idx; /* 0x00 */ member
1395 u16 prod_idx; /* current value for prod idx */ member
Dqlge_dbg.c1668 pr_err("tx_ring->prod_idx = %d\n", tx_ring->prod_idx); in ql_dump_tx_ring()
/Linux-v4.19/drivers/infiniband/hw/bnxt_re/
Droce_hsi.h908 __le32 prod_idx; member
915 __le32 prod_idx; member
/Linux-v4.19/drivers/net/ethernet/qlogic/qed/
Dqed_ll2.c1684 u16 prod_idx = qed_chain_get_prod_idx(p_tx_chain); in qed_ll2_prepare_tx_packet_set_bd() local
1743 prod_idx, in qed_ll2_prepare_tx_packet_set_bd()