Lines Matching refs:adapter

11 struct xsk_buff_pool *ixgbe_xsk_pool(struct ixgbe_adapter *adapter,  in ixgbe_xsk_pool()  argument
14 bool xdp_on = READ_ONCE(adapter->xdp_prog); in ixgbe_xsk_pool()
17 if (!xdp_on || !test_bit(qid, adapter->af_xdp_zc_qps)) in ixgbe_xsk_pool()
20 return xsk_get_pool_from_qid(adapter->netdev, qid); in ixgbe_xsk_pool()
23 static int ixgbe_xsk_pool_enable(struct ixgbe_adapter *adapter, in ixgbe_xsk_pool_enable() argument
27 struct net_device *netdev = adapter->netdev; in ixgbe_xsk_pool_enable()
31 if (qid >= adapter->num_rx_queues) in ixgbe_xsk_pool_enable()
38 err = xsk_pool_dma_map(pool, &adapter->pdev->dev, IXGBE_RX_DMA_ATTR); in ixgbe_xsk_pool_enable()
42 if_running = netif_running(adapter->netdev) && in ixgbe_xsk_pool_enable()
43 ixgbe_enabled_xdp_adapter(adapter); in ixgbe_xsk_pool_enable()
46 ixgbe_txrx_ring_disable(adapter, qid); in ixgbe_xsk_pool_enable()
48 set_bit(qid, adapter->af_xdp_zc_qps); in ixgbe_xsk_pool_enable()
51 ixgbe_txrx_ring_enable(adapter, qid); in ixgbe_xsk_pool_enable()
54 err = ixgbe_xsk_wakeup(adapter->netdev, qid, XDP_WAKEUP_RX); in ixgbe_xsk_pool_enable()
56 clear_bit(qid, adapter->af_xdp_zc_qps); in ixgbe_xsk_pool_enable()
65 static int ixgbe_xsk_pool_disable(struct ixgbe_adapter *adapter, u16 qid) in ixgbe_xsk_pool_disable() argument
70 pool = xsk_get_pool_from_qid(adapter->netdev, qid); in ixgbe_xsk_pool_disable()
74 if_running = netif_running(adapter->netdev) && in ixgbe_xsk_pool_disable()
75 ixgbe_enabled_xdp_adapter(adapter); in ixgbe_xsk_pool_disable()
78 ixgbe_txrx_ring_disable(adapter, qid); in ixgbe_xsk_pool_disable()
80 clear_bit(qid, adapter->af_xdp_zc_qps); in ixgbe_xsk_pool_disable()
84 ixgbe_txrx_ring_enable(adapter, qid); in ixgbe_xsk_pool_disable()
89 int ixgbe_xsk_pool_setup(struct ixgbe_adapter *adapter, in ixgbe_xsk_pool_setup() argument
93 return pool ? ixgbe_xsk_pool_enable(adapter, pool, qid) : in ixgbe_xsk_pool_setup()
94 ixgbe_xsk_pool_disable(adapter, qid); in ixgbe_xsk_pool_setup()
97 static int ixgbe_run_xdp_zc(struct ixgbe_adapter *adapter, in ixgbe_run_xdp_zc() argument
128 ring = ixgbe_determine_xdp_ring(adapter); in ixgbe_run_xdp_zc()
253 struct ixgbe_adapter *adapter = q_vector->adapter; in ixgbe_clean_rx_irq_zc() local
308 xdp_res = ixgbe_run_xdp_zc(adapter, rx_ring, bi->xdp); in ixgbe_clean_rx_irq_zc()
357 struct ixgbe_ring *ring = ixgbe_determine_xdp_ring(adapter); in ixgbe_clean_rx_irq_zc()
521 struct ixgbe_adapter *adapter = netdev_priv(dev); in ixgbe_xsk_wakeup() local
524 if (test_bit(__IXGBE_DOWN, &adapter->state)) in ixgbe_xsk_wakeup()
527 if (!READ_ONCE(adapter->xdp_prog)) in ixgbe_xsk_wakeup()
530 if (qid >= adapter->num_xdp_queues) in ixgbe_xsk_wakeup()
533 ring = adapter->xdp_ring[qid]; in ixgbe_xsk_wakeup()
544 ixgbe_irq_rearm_queues(adapter, eics); in ixgbe_xsk_wakeup()