/linux/include/linux/qed/ |
A D | qed_chain.h | 60 u16 prod_idx; member 66 u32 prod_idx; member 188 return chain->u.chain16.prod_idx; in qed_chain_get_prod_idx() 198 return chain->u.chain32.prod_idx; in qed_chain_get_prod_idx_u32() 381 p_chain->u.chain16.prod_idx++; in qed_chain_produce() 390 p_chain->u.chain32.prod_idx++; in qed_chain_produce() 424 test_and_skip(p_chain, prod_idx); in qed_chain_recycle_consumed() 426 p_chain->u.chain16.prod_idx++; in qed_chain_recycle_consumed() 428 p_chain->u.chain32.prod_idx++; in qed_chain_recycle_consumed() 611 p_chain->u.chain16.prod_idx = (u16) prod_idx; in qed_chain_set_prod() [all …]
|
/linux/drivers/net/ethernet/huawei/hinic/ |
A D | hinic_hw_qp.c | 54 #define SQ_DB_PI_HI(prod_idx) ((prod_idx) >> SQ_DB_PI_HI_SHIFT) argument 57 #define SQ_DB_PI_LOW(prod_idx) ((prod_idx) & SQ_DB_PI_LOW_MASK) argument 102 pi_start = atomic_read(&wq->prod_idx); in hinic_sq_prepare_ctxt() 164 pi_start = atomic_read(&wq->prod_idx); in hinic_rq_prepare_ctxt() 645 prod_idx = SQ_MASKED_IDX(sq, prod_idx); in hinic_sq_write_db() 649 writel(sq_prepare_db(sq, prod_idx, cos), SQ_DB_ADDR(sq, prod_idx)); in hinic_sq_write_db() 664 prod_idx); in hinic_sq_get_wqe() 696 sq->saved_skb[prod_idx] = skb; in hinic_sq_write_wqe() 803 prod_idx); in hinic_rq_get_wqe() 823 rq->saved_skb[prod_idx] = skb; in hinic_rq_write_wqe() [all …]
|
A D | hinic_hw_qp.h | 178 void hinic_sq_prepare_wqe(struct hinic_sq *sq, u16 prod_idx, 182 void hinic_sq_write_db(struct hinic_sq *sq, u16 prod_idx, unsigned int wqe_size, 186 unsigned int wqe_size, u16 *prod_idx); 190 void hinic_sq_write_wqe(struct hinic_sq *sq, u16 prod_idx, 208 unsigned int wqe_size, u16 *prod_idx); 210 void hinic_rq_write_wqe(struct hinic_rq *rq, u16 prod_idx, 228 void hinic_rq_prepare_wqe(struct hinic_rq *rq, u16 prod_idx, 231 void hinic_rq_update(struct hinic_rq *rq, u16 prod_idx);
|
A D | hinic_hw_api_cmd.c | 93 u32 addr, prod_idx; in set_prod_idx() local 96 prod_idx = hinic_hwif_read_reg(hwif, addr); in set_prod_idx() 98 prod_idx = HINIC_API_CMD_PI_CLEAR(prod_idx, IDX); in set_prod_idx() 100 prod_idx |= HINIC_API_CMD_PI_SET(chain->prod_idx, IDX); in set_prod_idx() 102 hinic_hwif_write_reg(hwif, addr, prod_idx); in set_prod_idx() 145 u32 prod_idx; in chain_busy() local 150 prod_idx = chain->prod_idx; in chain_busy() 156 chain->prod_idx); in chain_busy() 279 chain->prod_idx = MASKED_IDX(chain, chain->prod_idx + 1); in cmd_chain_prod_idx_inc() 329 if (chain->cons_idx == chain->prod_idx) { in wait_for_status_poll() [all …]
|
A D | hinic_hw_cmdq.c | 270 prod_idx, complete_format, DATA_SGE, in cmdq_set_lcmd_wqe() 281 enum hinic_mod_type mod, u8 cmd, u16 prod_idx) in cmdq_set_direct_wqe() argument 317 enum hinic_cmdq_type cmdq_type, u16 prod_idx) in cmdq_fill_db() argument 326 enum hinic_cmdq_type cmdq_type, u16 prod_idx) in cmdq_set_db() argument 330 cmdq_fill_db(&db_info, cmdq_type, prod_idx); in cmdq_set_db() 592 if (cmdq->errcode[prod_idx]) in cmdq_update_errcode() 593 *cmdq->errcode[prod_idx] = errcode; in cmdq_update_errcode() 605 u16 prod_idx = cons_idx; in cmdq_sync_cmd_handler() local 608 cmdq_update_errcode(cmdq, prod_idx, errcode); in cmdq_sync_cmd_handler() 612 if (cmdq->done[prod_idx]) in cmdq_sync_cmd_handler() [all …]
|
A D | hinic_hw_wq.c | 389 size = wq->num_q_pages * sizeof(wq->prod_idx); in alloc_wqes_shadow() 566 atomic_set(&wq->prod_idx, 0); in hinic_wq_allocate() 670 atomic_set(&wq[i].prod_idx, 0); in hinic_wqs_cmdq_alloc() 744 u16 *prod_idx) in hinic_get_wqe() argument 749 *prod_idx = MASKED_WQE_IDX(wq, atomic_read(&wq->prod_idx)); in hinic_get_wqe() 770 *prod_idx = curr_prod_idx; in hinic_get_wqe() 780 wq->shadow_idx[curr_pg] = *prod_idx; in hinic_get_wqe() 784 return WQ_PAGE_ADDR(wq, *prod_idx) + WQE_PAGE_OFF(wq, *prod_idx); in hinic_get_wqe() 796 atomic_sub(num_wqebbs, &wq->prod_idx); in hinic_return_wqe() 893 u16 prod_idx; in hinic_write_wqe() local [all …]
|
A D | hinic_tx.c | 495 u16 prod_idx, q_id = skb->queue_mapping; in hinic_lb_xmit_frame() local 513 sq_wqe = hinic_sq_get_wqe(txq->sq, wqe_size, &prod_idx); in hinic_lb_xmit_frame() 517 sq_wqe = hinic_sq_get_wqe(txq->sq, wqe_size, &prod_idx); in hinic_lb_xmit_frame() 534 hinic_sq_prepare_wqe(txq->sq, prod_idx, sq_wqe, txq->sges, nr_sges); in hinic_lb_xmit_frame() 535 hinic_sq_write_wqe(txq->sq, prod_idx, sq_wqe, skb, wqe_size); in hinic_lb_xmit_frame() 540 hinic_sq_write_db(txq->sq, prod_idx, wqe_size, 0); in hinic_lb_xmit_frame() 556 u16 prod_idx, q_id = skb->queue_mapping; in hinic_xmit_frame() local 594 sq_wqe = hinic_sq_get_wqe(txq->sq, wqe_size, &prod_idx); in hinic_xmit_frame() 601 sq_wqe = hinic_sq_get_wqe(txq->sq, wqe_size, &prod_idx); in hinic_xmit_frame() 624 hinic_sq_write_wqe(txq->sq, prod_idx, sq_wqe, skb, wqe_size); in hinic_xmit_frame() [all …]
|
A D | hinic_hw_wq.h | 45 atomic_t prod_idx; member 97 u16 *prod_idx);
|
A D | hinic_rx.c | 203 u16 prod_idx; in rx_alloc_pkts() local 220 &prod_idx); in rx_alloc_pkts() 226 hinic_rq_prepare_wqe(rxq->rq, prod_idx, rq_wqe, &sge); in rx_alloc_pkts() 228 hinic_rq_write_wqe(rxq->rq, prod_idx, rq_wqe, skb); in rx_alloc_pkts() 235 hinic_rq_update(rxq->rq, prod_idx); in rx_alloc_pkts()
|
A D | hinic_debugfs.c | 31 return atomic_read(&wq->prod_idx) & wq->mask; in hinic_dbg_get_sq_info() 65 return atomic_read(&wq->prod_idx) & wq->mask; in hinic_dbg_get_rq_info()
|
A D | hinic_hw_api_cmd.h | 180 u32 prod_idx; member
|
A D | hinic_main.c | 847 sw_pi = atomic_read(&sq->wq->prod_idx) & sq->wq->mask; in hinic_tx_timeout()
|
/linux/drivers/scsi/qedi/ |
A D | qedi_debugfs.c | 142 u16 prod_idx; in qedi_gbl_ctx_show() local 154 prod_idx = (sb->pi_array[QEDI_PROTO_CQ_PROD_IDX] & in qedi_gbl_ctx_show() 156 seq_printf(s, "SB PROD IDX: %d\n", prod_idx); in qedi_gbl_ctx_show()
|
A D | qedi_main.c | 1266 u16 prod_idx; in qedi_process_completions() local 1273 prod_idx = sb->pi_array[QEDI_PROTO_CQ_PROD_IDX]; in qedi_process_completions() 1275 if (prod_idx >= QEDI_CQ_SIZE) in qedi_process_completions() 1276 prod_idx = prod_idx % QEDI_CQ_SIZE; in qedi_process_completions() 1281 que, prod_idx, que->cq_cons_idx, fp->sb_id); in qedi_process_completions() 1291 while (que->cq_cons_idx != prod_idx) { in qedi_process_completions() 1296 cqe, prod_idx, que->cq_cons_idx); in qedi_process_completions() 1320 u16 prod_idx; in qedi_fp_has_work() local 1331 if (prod_idx >= QEDI_CQ_SIZE) in qedi_fp_has_work() 1332 prod_idx = prod_idx % QEDI_CQ_SIZE; in qedi_fp_has_work() [all …]
|
/linux/drivers/net/ethernet/qualcomm/emac/ |
A D | emac-mac.c | 907 u32 prod_idx = (rx_q->rfd.produce_idx << rx_q->produce_shift) & in emac_mac_rx_descs_refill() local 910 rx_q->produce_mask, prod_idx); in emac_mac_rx_descs_refill() 1439 u32 prod_idx; in emac_mac_tx_buf_send() local 1474 prod_idx = (tx_q->tpd.produce_idx << tx_q->produce_shift) & in emac_mac_tx_buf_send() 1477 tx_q->produce_mask, prod_idx); in emac_mac_tx_buf_send()
|
/linux/drivers/scsi/qedf/ |
A D | qedf_main.c | 2174 u16 prod_idx; in qedf_fp_has_work() local 2183 prod_idx = sb->pi_array[QEDF_FCOE_PARAMS_GL_RQ_PI]; in qedf_fp_has_work() 2185 return (que->cq_prod_idx != prod_idx); in qedf_fp_has_work() 2202 u16 prod_idx; in qedf_process_completions() local 2213 prod_idx = sb->pi_array[QEDF_FCOE_PARAMS_GL_RQ_PI]; in qedf_process_completions() 2219 new_cqes = (prod_idx >= que->cq_prod_idx) ? in qedf_process_completions() 2220 (prod_idx - que->cq_prod_idx) : in qedf_process_completions() 2221 0x10000 - que->cq_prod_idx + prod_idx; in qedf_process_completions() 2224 que->cq_prod_idx = prod_idx; in qedf_process_completions()
|
/linux/drivers/scsi/bnx2i/ |
A D | bnx2i.h | 548 u16 prod_idx; member
|
A D | bnx2i_hwi.c | 250 rq_db->prod_idx = ep->qp.rq_prod_idx; in bnx2i_put_rq_buf() 277 sq_db->prod_idx = ep->qp.sq_prod_idx; in bnx2i_ring_sq_dbell()
|
/linux/drivers/staging/qlge/ |
A D | qlge_main.c | 2546 tx_ring_desc = &tx_ring->q[tx_ring->prod_idx]; in qlge_send() 2582 tx_ring->prod_idx++; in qlge_send() 2583 if (tx_ring->prod_idx == tx_ring->wq_len) in qlge_send() 2584 tx_ring->prod_idx = 0; in qlge_send() 2587 qlge_write_db_reg_relaxed(tx_ring->prod_idx, tx_ring->prod_idx_db_reg); in qlge_send() 2590 tx_ring->prod_idx, skb->len); in qlge_send() 3077 tx_ring->prod_idx = 0; in qlge_start_tx_ring()
|
A D | qlge.h | 1058 u32 prod_idx; /* 0x00 */ member 1383 u16 prod_idx; /* current value for prod idx */ member
|
/linux/drivers/infiniband/hw/bnxt_re/ |
A D | roce_hsi.h | 1055 __le32 prod_idx; member 1062 __le32 prod_idx; member
|
/linux/drivers/net/ethernet/qlogic/qed/ |
A D | qed_ll2.c | 1860 u16 prod_idx = qed_chain_get_prod_idx(p_tx_chain); in qed_ll2_prepare_tx_packet_set_bd() local 1922 prod_idx, in qed_ll2_prepare_tx_packet_set_bd()
|
/linux/drivers/net/ethernet/broadcom/bnxt/ |
A D | bnxt_hsi.h | 6488 __le32 prod_idx; member
|