Home
last modified time | relevance | path

Searched refs:droq (Results 1 – 12 of 12) sorted by relevance

/drivers/net/ethernet/cavium/liquidio/
Docteon_droq.c94 u32 octeon_droq_check_hw_for_pkts(struct octeon_droq *droq) in octeon_droq_check_hw_for_pkts() argument
99 pkt_count = readl(droq->pkts_sent_reg); in octeon_droq_check_hw_for_pkts()
101 last_count = pkt_count - droq->pkt_count; in octeon_droq_check_hw_for_pkts()
102 droq->pkt_count = pkt_count; in octeon_droq_check_hw_for_pkts()
106 atomic_add(last_count, &droq->pkts_pending); in octeon_droq_check_hw_for_pkts()
111 static void octeon_droq_compute_max_packet_bufs(struct octeon_droq *droq) in octeon_droq_compute_max_packet_bufs() argument
120 droq->max_empty_descs = 0; in octeon_droq_compute_max_packet_bufs()
123 droq->max_empty_descs++; in octeon_droq_compute_max_packet_bufs()
124 count += droq->buffer_size; in octeon_droq_compute_max_packet_bufs()
127 droq->max_empty_descs = droq->max_count - droq->max_empty_descs; in octeon_droq_compute_max_packet_bufs()
[all …]
Dlio_core.c322 struct octeon_droq *droq; in octnet_poll_check_rxq_oom_status() local
328 droq = oct->droq[q_no]; in octnet_poll_check_rxq_oom_status()
329 if (!droq) in octnet_poll_check_rxq_oom_status()
331 octeon_droq_check_oom(droq); in octnet_poll_check_rxq_oom_status()
433 writel(oct->droq[q_no]->max_count, oct->droq[q_no]->pkts_credit_reg); in octeon_setup_droq()
455 struct octeon_droq *droq = in liquidio_push_packet() local
472 droq->stats.rx_dropped++; in liquidio_push_packet()
478 skb_record_rx_queue(skb, droq->q_no); in liquidio_push_packet()
557 droq->stats.rx_vxlan++; in liquidio_push_packet()
573 droq->stats.rx_bytes_received += len; in liquidio_push_packet()
[all …]
Docteon_device.c650 vfree(oct->droq[i]); in octeon_free_device_mem()
927 oct->droq[0] = vzalloc_node(sizeof(*oct->droq[0]), numa_node); in octeon_setup_output_queues()
928 if (!oct->droq[0]) in octeon_setup_output_queues()
929 oct->droq[0] = vzalloc(sizeof(*oct->droq[0])); in octeon_setup_output_queues()
930 if (!oct->droq[0]) in octeon_setup_output_queues()
934 vfree(oct->droq[oq_no]); in octeon_setup_output_queues()
935 oct->droq[oq_no] = NULL; in octeon_setup_output_queues()
1279 return oct->droq[q_no]->max_count; in octeon_get_rx_qsize()
1428 void lio_enable_irq(struct octeon_droq *droq, struct octeon_instr_queue *iq) in lio_enable_irq() argument
1435 if (droq) { in lio_enable_irq()
[all …]
Dcn66xx_device.c307 struct octeon_droq *droq = oct->droq[oq_no]; in lio_cn6xxx_setup_oq_regs() local
310 droq->desc_ring_dma); in lio_cn6xxx_setup_oq_regs()
311 octeon_write_csr(oct, CN6XXX_SLI_OQ_SIZE(oq_no), droq->max_count); in lio_cn6xxx_setup_oq_regs()
314 droq->buffer_size); in lio_cn6xxx_setup_oq_regs()
317 droq->pkts_sent_reg = in lio_cn6xxx_setup_oq_regs()
319 droq->pkts_credit_reg = in lio_cn6xxx_setup_oq_regs()
514 struct octeon_droq *droq; in lio_cn6xxx_process_droq_intr_regs() local
535 droq = oct->droq[oq_no]; in lio_cn6xxx_process_droq_intr_regs()
536 pkt_count = octeon_droq_check_hw_for_pkts(droq); in lio_cn6xxx_process_droq_intr_regs()
539 if (droq->ops.poll_mode) { in lio_cn6xxx_process_droq_intr_regs()
Dcn23xx_vf_device.c247 struct octeon_droq *droq = oct->droq[oq_no]; in cn23xx_setup_vf_oq_regs() local
250 droq->desc_ring_dma); in cn23xx_setup_vf_oq_regs()
251 octeon_write_csr(oct, CN23XX_VF_SLI_OQ_SIZE(oq_no), droq->max_count); in cn23xx_setup_vf_oq_regs()
254 droq->buffer_size); in cn23xx_setup_vf_oq_regs()
257 droq->pkts_sent_reg = in cn23xx_setup_vf_oq_regs()
259 droq->pkts_credit_reg = in cn23xx_setup_vf_oq_regs()
491 struct octeon_droq *droq = oct->droq[ioq_vector->droq_index]; in cn23xx_vf_msix_interrupt_handler() local
496 pkts_sent = readq(droq->pkts_sent_reg); in cn23xx_vf_msix_interrupt_handler()
Docteon_droq.h405 u32 octeon_droq_check_hw_for_pkts(struct octeon_droq *droq);
411 struct octeon_droq *droq,
417 void octeon_droq_check_oom(struct octeon_droq *droq);
Dlio_ethtool.c799 rx_pending = oct->droq[0]->max_count; in lio_ethtool_get_ringparam()
898 rx_count_old = oct->droq[0]->max_count; in lio_ethtool_set_ringparam()
1284 CVM_CAST64(oct_dev->droq[j]->stats.rx_pkts_received); in lio_get_ethtool_stats()
1287 CVM_CAST64(oct_dev->droq[j]->stats.rx_bytes_received); in lio_get_ethtool_stats()
1289 data[i++] = CVM_CAST64(oct_dev->droq[j]->stats.dropped_nomem + in lio_get_ethtool_stats()
1290 oct_dev->droq[j]->stats.dropped_toomany + in lio_get_ethtool_stats()
1291 oct_dev->droq[j]->stats.rx_dropped); in lio_get_ethtool_stats()
1293 CVM_CAST64(oct_dev->droq[j]->stats.dropped_nomem); in lio_get_ethtool_stats()
1295 CVM_CAST64(oct_dev->droq[j]->stats.dropped_toomany); in lio_get_ethtool_stats()
1297 CVM_CAST64(oct_dev->droq[j]->stats.rx_dropped); in lio_get_ethtool_stats()
[all …]
Dcn23xx_pf_device.c631 struct octeon_droq *droq = oct->droq[oq_no]; in cn23xx_setup_oq_regs() local
639 droq->desc_ring_dma); in cn23xx_setup_oq_regs()
640 octeon_write_csr(oct, CN23XX_SLI_OQ_SIZE(oq_no), droq->max_count); in cn23xx_setup_oq_regs()
643 droq->buffer_size); in cn23xx_setup_oq_regs()
646 droq->pkts_sent_reg = in cn23xx_setup_oq_regs()
648 droq->pkts_credit_reg = in cn23xx_setup_oq_regs()
948 struct octeon_droq *droq = oct->droq[ioq_vector->droq_index]; in cn23xx_pf_msix_interrupt_handler() local
952 if (!droq) { in cn23xx_pf_msix_interrupt_handler()
958 pkts_sent = readq(droq->pkts_sent_reg); in cn23xx_pf_msix_interrupt_handler()
Docteon_network.h421 static inline void octeon_fast_packet_next(struct octeon_droq *droq, in octeon_fast_packet_next() argument
426 skb_put_data(nicbuf, get_rbd(droq->recv_buf_list[idx].buffer), in octeon_fast_packet_next()
Docteon_device.h454 struct octeon_droq *droq[MAX_POSSIBLE_OCTEON_OUTPUT_QUEUES]; member
845 void lio_enable_irq(struct octeon_droq *droq, struct octeon_instr_queue *iq);
Dlio_vf_main.c130 pkt_cnt += octeon_droq_check_hw_for_pkts(oct->droq[i]); in lio_wait_for_oq_pkts()
955 oct->droq[0]->ops.poll_mode = 0; in liquidio_destroy_nic_device()
1263 oct->droq[0]->ops.poll_mode = 1; in liquidio_open()
1301 oct->droq[0]->ops.poll_mode = 0; in liquidio_stop()
1525 oq_stats = &oct->droq[oq_no]->stats; in liquidio_get_stats()
2757 writel(oct->droq[j]->max_count, oct->droq[j]->pkts_credit_reg); in octeon_device_init()
Dlio_main.c207 reschedule |= octeon_droq_process_packets(oct, oct->droq[q_no], in octeon_droq_bh()
209 lio_enable_irq(oct->droq[q_no], NULL); in octeon_droq_bh()
242 pkt_cnt += octeon_droq_check_hw_for_pkts(oct->droq[i]); in lio_wait_for_oq_pkts()
1448 oct->droq[0]->ops.poll_mode = 0; in liquidio_destroy_nic_device()
2061 oct->droq[0]->ops.poll_mode = 1; in liquidio_open()
2111 oct->droq[0]->ops.poll_mode = 0; in liquidio_stop()
2304 oq_stats = &oct->droq[oq_no]->stats; in liquidio_get_stats()
4054 writel(octeon_dev->droq[j]->max_count, in octeon_device_init()
4055 octeon_dev->droq[j]->pkts_credit_reg); in octeon_device_init()