| /linux-6.15/drivers/net/ethernet/cavium/liquidio/ |
| H A D | octeon_droq.c | 123 droq->max_empty_descs = droq->max_count - droq->max_empty_descs; in octeon_droq_compute_max_packet_bufs() 196 struct octeon_droq *droq = oct->droq[q_no]; in octeon_delete_droq() local 205 droq->desc_ring, droq->desc_ring_dma); in octeon_delete_droq() 230 droq = oct->droq[q_no]; in octeon_init_droq() 276 q_no, droq->desc_ring, droq->desc_ring_dma); in octeon_init_droq() 570 droq->recv_buf_list[droq->read_idx].data; in octeon_droq_drop_packets() 613 droq->q_no, droq->read_idx, pkt_count); in octeon_droq_fast_process_packets() 886 droq = oct->droq[q_no]; in octeon_register_droq_ops() 908 droq = oct->droq[q_no]; in octeon_unregister_droq_ops() 940 droq = vmalloc(sizeof(*droq)); in octeon_create_droq() [all …]
|
| H A D | lio_core.c | 455 struct octeon_droq *droq = oct->droq[q_no]; in octnet_poll_check_rxq_oom_status() local 564 writel(oct->droq[q_no]->max_count, oct->droq[q_no]->pkts_credit_reg); in octeon_setup_droq() 741 INIT_CSD(&droq->csd, napi_schedule_wrapper, &droq->napi); in liquidio_napi_drv_callback() 742 smp_call_function_single_async(droq->cpu_id, &droq->csd); in liquidio_napi_drv_callback() 761 iq_no = droq->q_no; in liquidio_napi_poll() 794 octeon_enable_irq(droq->oct_dev, droq->q_no); in liquidio_napi_poll() 860 droq = octeon_dev->droq[q_no]; in liquidio_setup_io_queues() 922 droq->ops.napi_fn(droq); in liquidio_schedule_msix_droq_pkt_handler() 944 struct octeon_droq *droq = oct->droq[ioq_vector->droq_index]; in liquidio_msix_intr_handler() local 972 droq = oct->droq[oq_no]; in liquidio_schedule_droq_pkt_handlers() [all …]
|
| H A D | octeon_device.c | 652 vfree(oct->droq[i]); in octeon_free_device_mem() 937 oct->droq[0] = vzalloc_node(sizeof(*oct->droq[0]), numa_node); in octeon_setup_output_queues() 938 if (!oct->droq[0]) in octeon_setup_output_queues() 939 oct->droq[0] = vzalloc(sizeof(*oct->droq[0])); in octeon_setup_output_queues() 940 if (!oct->droq[0]) in octeon_setup_output_queues() 944 vfree(oct->droq[oq_no]); in octeon_setup_output_queues() 945 oct->droq[oq_no] = NULL; in octeon_setup_output_queues() 1443 if (droq) { in lio_enable_irq() 1445 writel(droq->pkt_count - pkts_pend, droq->pkts_sent_reg); in lio_enable_irq() 1447 oct = droq->oct_dev; in lio_enable_irq() [all …]
|
| H A D | cn66xx_device.c | 304 struct octeon_droq *droq = oct->droq[oq_no]; in lio_cn6xxx_setup_oq_regs() local 307 droq->desc_ring_dma); in lio_cn6xxx_setup_oq_regs() 308 octeon_write_csr(oct, CN6XXX_SLI_OQ_SIZE(oq_no), droq->max_count); in lio_cn6xxx_setup_oq_regs() 311 droq->buffer_size); in lio_cn6xxx_setup_oq_regs() 314 droq->pkts_sent_reg = in lio_cn6xxx_setup_oq_regs() 316 droq->pkts_credit_reg = in lio_cn6xxx_setup_oq_regs() 508 struct octeon_droq *droq; in lio_cn6xxx_process_droq_intr_regs() local 529 droq = oct->droq[oq_no]; in lio_cn6xxx_process_droq_intr_regs() 530 pkt_count = octeon_droq_check_hw_for_pkts(droq); in lio_cn6xxx_process_droq_intr_regs() 533 if (droq->ops.poll_mode) { in lio_cn6xxx_process_droq_intr_regs()
|
| H A D | octeon_droq.h | 398 u32 octeon_droq_check_hw_for_pkts(struct octeon_droq *droq); 404 struct octeon_droq *droq, 408 struct octeon_droq *droq, u32 budget); 412 int octeon_retry_droq_refill(struct octeon_droq *droq);
|
| H A D | cn23xx_vf_device.c | 247 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()
|
| H A D | lio_ethtool.c | 974 rx_pending = oct->droq[0]->max_count; in lio_ethtool_get_ringparam() 1218 writel(oct->droq[i]->max_count, in lio_reset_queues() 1219 oct->droq[i]->pkts_credit_reg); in lio_reset_queues() 1281 rx_count_old = oct->droq[0]->max_count; in lio_ethtool_set_ringparam() 1695 oct_dev->droq[j]->stats.dropped_toomany + in lio_get_ethtool_stats() 1696 oct_dev->droq[j]->stats.rx_dropped); in lio_get_ethtool_stats() 1702 CVM_CAST64(oct_dev->droq[j]->stats.rx_dropped); in lio_get_ethtool_stats() 1713 CVM_CAST64(oct_dev->droq[j]->stats.rx_vxlan); in lio_get_ethtool_stats() 1809 oct_dev->droq[j]->stats.rx_pkts_received); in lio_vf_get_ethtool_stats() 1812 oct_dev->droq[j]->stats.rx_bytes_received); in lio_vf_get_ethtool_stats() [all …]
|
| H A D | cn23xx_pf_device.c | 462 struct octeon_droq *droq = oct->droq[oq_no]; in cn23xx_setup_oq_regs() local 470 droq->desc_ring_dma); in cn23xx_setup_oq_regs() 471 octeon_write_csr(oct, CN23XX_SLI_OQ_SIZE(oq_no), droq->max_count); in cn23xx_setup_oq_regs() 474 droq->buffer_size); in cn23xx_setup_oq_regs() 477 droq->pkts_sent_reg = in cn23xx_setup_oq_regs() 479 droq->pkts_credit_reg = in cn23xx_setup_oq_regs() 777 struct octeon_droq *droq = oct->droq[ioq_vector->droq_index]; in cn23xx_pf_msix_interrupt_handler() local 781 if (!droq) { in cn23xx_pf_msix_interrupt_handler() 787 pkts_sent = readq(droq->pkts_sent_reg); in cn23xx_pf_msix_interrupt_handler()
|
| H A D | octeon_mailbox.c | 222 if (!oct->droq[i]) in get_vf_stats() 224 stats->rx_packets += oct->droq[i]->stats.rx_pkts_received; in get_vf_stats() 225 stats->rx_bytes += oct->droq[i]->stats.rx_bytes_received; in get_vf_stats()
|
| H A D | octeon_main.h | 76 struct octeon_droq *droq);
|
| H A D | octeon_device.h | 495 struct octeon_droq *droq[MAX_POSSIBLE_OCTEON_OUTPUT_QUEUES]; member 875 void lio_enable_irq(struct octeon_droq *droq, struct octeon_instr_queue *iq);
|
| H A D | octeon_network.h | 490 static inline void octeon_fast_packet_next(struct octeon_droq *droq, in octeon_fast_packet_next() argument 495 skb_put_data(nicbuf, get_rbd(droq->recv_buf_list[idx].buffer), in octeon_fast_packet_next()
|
| H A D | lio_vf_main.c | 86 pkt_cnt += octeon_droq_check_hw_for_pkts(oct->droq[i]); in lio_wait_for_oq_pkts() 683 oct->droq[0]->ops.poll_mode = 0; in liquidio_destroy_nic_device() 921 oct->droq[0]->ops.poll_mode = 1; in liquidio_open() 987 oct->droq[0]->ops.poll_mode = 0; in liquidio_stop() 1205 oq_stats = &oct->droq[oq_no]->stats; in liquidio_get_stats64() 2408 writel(oct->droq[j]->max_count, oct->droq[j]->pkts_credit_reg); in octeon_device_init()
|
| H A D | lio_main.c | 164 reschedule |= octeon_droq_process_packets(oct, oct->droq[q_no], in octeon_droq_bh() 166 lio_enable_irq(oct->droq[q_no], NULL); in octeon_droq_bh() 198 pkt_cnt += octeon_droq_check_hw_for_pkts(oct->droq[i]); in lio_wait_for_oq_pkts() 1230 oct->droq[0]->ops.poll_mode = 0; in liquidio_destroy_nic_device() 1781 oct->droq[0]->ops.poll_mode = 1; in liquidio_open() 1834 oct->droq[0]->ops.poll_mode = 0; in liquidio_open() 1897 oct->droq[0]->ops.poll_mode = 0; in liquidio_stop() 2070 oq_stats = &oct->droq[oq_no]->stats; in liquidio_get_stats64() 4231 writel(octeon_dev->droq[j]->max_count, in octeon_device_init() 4232 octeon_dev->droq[j]->pkts_credit_reg); in octeon_device_init()
|