Lines Matching refs:sq
46 #define HW_CONS_IDX(sq) be16_to_cpu(*(u16 *)((sq)->hw_ci_addr)) argument
504 qp = container_of(txq->sq, struct hinic_qp, sq); in hinic_lb_xmit_frame()
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()
565 qp = container_of(txq->sq, struct hinic_qp, sq); in hinic_xmit_frame()
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()
618 hinic_sq_prepare_wqe(txq->sq, prod_idx, sq_wqe, txq->sges, nr_sges); in hinic_xmit_frame()
624 hinic_sq_write_wqe(txq->sq, prod_idx, sq_wqe, skb, wqe_size); in hinic_xmit_frame()
629 hinic_sq_write_db(txq->sq, prod_idx, wqe_size, 0); in hinic_xmit_frame()
634 hinic_sq_return_wqe(txq->sq, wqe_size); in hinic_xmit_frame()
669 struct hinic_sq *sq = txq->sq; in free_all_tx_skbs() local
676 while ((sq_wqe = hinic_sq_read_wqebb(sq, &skb, &wqe_size, &ci))) { in free_all_tx_skbs()
677 sq_wqe = hinic_sq_read_wqe(sq, &skb, wqe_size, &ci); in free_all_tx_skbs()
685 hinic_sq_put_wqe(sq, wqe_size); in free_all_tx_skbs()
701 struct hinic_qp *qp = container_of(txq->sq, struct hinic_qp, sq); in free_tx_poll()
704 struct hinic_sq *sq = txq->sq; in free_tx_poll() local
705 struct hinic_wq *wq = sq->wq; in free_tx_poll()
714 hw_ci = HW_CONS_IDX(sq) & wq->mask; in free_tx_poll()
719 sq_wqe = hinic_sq_read_wqebb(sq, &skb, &wqe_size, &sw_ci); in free_tx_poll()
728 sq_wqe = hinic_sq_read_wqe(sq, &skb, wqe_size, &sw_ci); in free_tx_poll()
740 hinic_sq_put_wqe(sq, wqe_size); in free_tx_poll()
746 hinic_get_sq_free_wqebbs(sq) >= HINIC_MIN_TX_NUM_WQEBBS(sq)) { in free_tx_poll()
769 sq->msix_entry, in free_tx_poll()
788 txq->sq->msix_entry, in tx_irq()
791 hinic_hwdev_msix_cnt_set(nic_dev->hwdev, txq->sq->msix_entry); in tx_irq()
805 struct hinic_sq *sq = txq->sq; in tx_request_irq() local
809 qp = container_of(sq, struct hinic_qp, sq); in tx_request_irq()
813 hinic_hwdev_msix_set(nic_dev->hwdev, sq->msix_entry, in tx_request_irq()
819 interrupt_info.msix_index = sq->msix_entry; in tx_request_irq()
832 err = request_irq(sq->irq, tx_irq, 0, txq->irq_name, txq); in tx_request_irq()
844 struct hinic_sq *sq = txq->sq; in tx_free_irq() local
846 free_irq(sq->irq, txq); in tx_free_irq()
858 int hinic_init_txq(struct hinic_txq *txq, struct hinic_sq *sq, in hinic_init_txq() argument
861 struct hinic_qp *qp = container_of(sq, struct hinic_qp, sq); in hinic_init_txq()
868 txq->sq = sq; in hinic_init_txq()
895 err = hinic_hwdev_hw_ci_addr_set(hwdev, sq, CI_UPDATE_NO_PENDING, in hinic_init_txq()