Lines Matching full:iq

187 		/* set RST bit to 1. This bit applies to both IQ and OQ */  in lio_cn23xx_pf_reset_io_queues()
235 struct lio_instr_queue *iq; in lio_cn23xx_pf_setup_global_input_regs() local
271 iq = oct->instr_queue[q_no]; in lio_cn23xx_pf_setup_global_input_regs()
272 if (iq != NULL) in lio_cn23xx_pf_setup_global_input_regs()
273 inst_cnt_reg = iq->inst_cnt_reg; in lio_cn23xx_pf_setup_global_input_regs()
409 struct lio_instr_queue *iq = oct->instr_queue[iq_no]; in lio_cn23xx_pf_setup_iq_regs() local
416 iq->base_addr_dma); in lio_cn23xx_pf_setup_iq_regs()
417 lio_write_csr32(oct, LIO_CN23XX_SLI_IQ_SIZE(iq_no), iq->max_count); in lio_cn23xx_pf_setup_iq_regs()
423 iq->doorbell_reg = LIO_CN23XX_SLI_IQ_DOORBELL(iq_no); in lio_cn23xx_pf_setup_iq_regs()
424 iq->inst_cnt_reg = LIO_CN23XX_SLI_IQ_INSTR_COUNT64(iq_no); in lio_cn23xx_pf_setup_iq_regs()
426 iq_no, iq->doorbell_reg, iq->inst_cnt_reg); in lio_cn23xx_pf_setup_iq_regs()
432 pkt_in_done = lio_read_csr64(oct, iq->inst_cnt_reg); in lio_cn23xx_pf_setup_iq_regs()
435 /* Set CINT_ENB to enable IQ interrupt */ in lio_cn23xx_pf_setup_iq_regs()
436 lio_write_csr64(oct, iq->inst_cnt_reg, in lio_cn23xx_pf_setup_iq_regs()
443 lio_write_csr64(oct, iq->inst_cnt_reg, pkt_in_done); in lio_cn23xx_pf_setup_iq_regs()
446 iq->reset_instr_cnt = 0; in lio_cn23xx_pf_setup_iq_regs()
513 /* set the corresponding IQ IS_64B bit */ in lio_cn23xx_pf_enable_io_queues()
522 /* set the corresponding IQ ENB bit */ in lio_cn23xx_pf_enable_io_queues()
523 if (oct->io_qmask.iq & BIT_ULL(q_no - srn)) { in lio_cn23xx_pf_enable_io_queues()
608 * Wait until hardware indicates that the particular IQ in lio_cn23xx_pf_disable_io_queues()
634 * Wait until hardware indicates that the particular IQ in lio_cn23xx_pf_disable_io_queues()
783 lio_cn23xx_pf_update_read_index(struct lio_instr_queue *iq) in lio_cn23xx_pf_update_read_index() argument
785 struct octeon_device *oct = iq->oct_dev; in lio_cn23xx_pf_update_read_index()
788 uint32_t pkt_in_done = lio_read_csr32(oct, iq->inst_cnt_reg); in lio_cn23xx_pf_update_read_index()
790 last_done = pkt_in_done - iq->pkt_in_done; in lio_cn23xx_pf_update_read_index()
791 iq->pkt_in_done = pkt_in_done; in lio_cn23xx_pf_update_read_index()
794 * Modulo of the new index with the IQ size will give us in lio_cn23xx_pf_update_read_index()
795 * the new index. The iq->reset_instr_cnt is always zero for in lio_cn23xx_pf_update_read_index()
798 new_idx = (iq->octeon_read_index + in lio_cn23xx_pf_update_read_index()
800 iq->max_count; in lio_cn23xx_pf_update_read_index()