Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
[linux-2.6-microblaze.git] / drivers / net / ethernet / intel / ixgbe / ixgbe_main.c
index 86ca8b9..45ae33e 100644 (file)
@@ -2095,10 +2095,8 @@ static struct sk_buff *ixgbe_construct_skb(struct ixgbe_ring *rx_ring,
        struct sk_buff *skb;
 
        /* prefetch first cache line of first page */
-       prefetch(xdp->data);
-#if L1_CACHE_BYTES < 128
-       prefetch(xdp->data + L1_CACHE_BYTES);
-#endif
+       net_prefetch(xdp->data);
+
        /* Note, we get here by enabling legacy-rx via:
         *
         *    ethtool --set-priv-flags <dev> legacy-rx on
@@ -2161,10 +2159,7 @@ static struct sk_buff *ixgbe_build_skb(struct ixgbe_ring *rx_ring,
         * likely have a consumer accessing first few bytes of meta
         * data, and then actual data.
         */
-       prefetch(xdp->data_meta);
-#if L1_CACHE_BYTES < 128
-       prefetch(xdp->data_meta + L1_CACHE_BYTES);
-#endif
+       net_prefetch(xdp->data_meta);
 
        /* build an skb to around the page buffer */
        skb = build_skb(xdp->data_hard_start, truesize);
@@ -3156,7 +3151,7 @@ int ixgbe_poll(struct napi_struct *napi, int budget)
 #endif
 
        ixgbe_for_each_ring(ring, q_vector->tx) {
-               bool wd = ring->xsk_umem ?
+               bool wd = ring->xsk_pool ?
                          ixgbe_clean_xdp_tx_irq(q_vector, ring, budget) :
                          ixgbe_clean_tx_irq(q_vector, ring, budget);
 
@@ -3176,7 +3171,7 @@ int ixgbe_poll(struct napi_struct *napi, int budget)
                per_ring_budget = budget;
 
        ixgbe_for_each_ring(ring, q_vector->rx) {
-               int cleaned = ring->xsk_umem ?
+               int cleaned = ring->xsk_pool ?
                              ixgbe_clean_rx_irq_zc(q_vector, ring,
                                                    per_ring_budget) :
                              ixgbe_clean_rx_irq(q_vector, ring,
@@ -3471,9 +3466,9 @@ void ixgbe_configure_tx_ring(struct ixgbe_adapter *adapter,
        u32 txdctl = IXGBE_TXDCTL_ENABLE;
        u8 reg_idx = ring->reg_idx;
 
-       ring->xsk_umem = NULL;
+       ring->xsk_pool = NULL;
        if (ring_is_xdp(ring))
-               ring->xsk_umem = ixgbe_xsk_umem(adapter, ring);
+               ring->xsk_pool = ixgbe_xsk_pool(adapter, ring);
 
        /* disable queue to avoid issues while updating state */
        IXGBE_WRITE_REG(hw, IXGBE_TXDCTL(reg_idx), 0);
@@ -3713,8 +3708,8 @@ static void ixgbe_configure_srrctl(struct ixgbe_adapter *adapter,
        srrctl = IXGBE_RX_HDR_SIZE << IXGBE_SRRCTL_BSIZEHDRSIZE_SHIFT;
 
        /* configure the packet buffer length */
-       if (rx_ring->xsk_umem) {
-               u32 xsk_buf_len = xsk_umem_get_rx_frame_size(rx_ring->xsk_umem);
+       if (rx_ring->xsk_pool) {
+               u32 xsk_buf_len = xsk_pool_get_rx_frame_size(rx_ring->xsk_pool);
 
                /* If the MAC support setting RXDCTL.RLPML, the
                 * SRRCTL[n].BSIZEPKT is set to PAGE_SIZE and
@@ -4059,12 +4054,12 @@ void ixgbe_configure_rx_ring(struct ixgbe_adapter *adapter,
        u8 reg_idx = ring->reg_idx;
 
        xdp_rxq_info_unreg_mem_model(&ring->xdp_rxq);
-       ring->xsk_umem = ixgbe_xsk_umem(adapter, ring);
-       if (ring->xsk_umem) {
+       ring->xsk_pool = ixgbe_xsk_pool(adapter, ring);
+       if (ring->xsk_pool) {
                WARN_ON(xdp_rxq_info_reg_mem_model(&ring->xdp_rxq,
                                                   MEM_TYPE_XSK_BUFF_POOL,
                                                   NULL));
-               xsk_buff_set_rxq_info(ring->xsk_umem, &ring->xdp_rxq);
+               xsk_pool_set_rxq_info(ring->xsk_pool, &ring->xdp_rxq);
        } else {
                WARN_ON(xdp_rxq_info_reg_mem_model(&ring->xdp_rxq,
                                                   MEM_TYPE_PAGE_SHARED, NULL));
@@ -4119,8 +4114,8 @@ void ixgbe_configure_rx_ring(struct ixgbe_adapter *adapter,
 #endif
        }
 
-       if (ring->xsk_umem && hw->mac.type != ixgbe_mac_82599EB) {
-               u32 xsk_buf_len = xsk_umem_get_rx_frame_size(ring->xsk_umem);
+       if (ring->xsk_pool && hw->mac.type != ixgbe_mac_82599EB) {
+               u32 xsk_buf_len = xsk_pool_get_rx_frame_size(ring->xsk_pool);
 
                rxdctl &= ~(IXGBE_RXDCTL_RLPMLMASK |
                            IXGBE_RXDCTL_RLPML_EN);
@@ -4142,7 +4137,7 @@ void ixgbe_configure_rx_ring(struct ixgbe_adapter *adapter,
        IXGBE_WRITE_REG(hw, IXGBE_RXDCTL(reg_idx), rxdctl);
 
        ixgbe_rx_desc_queue_enable(adapter, ring);
-       if (ring->xsk_umem)
+       if (ring->xsk_pool)
                ixgbe_alloc_rx_buffers_zc(ring, ixgbe_desc_unused(ring));
        else
                ixgbe_alloc_rx_buffers(ring, ixgbe_desc_unused(ring));
@@ -5292,7 +5287,7 @@ static void ixgbe_clean_rx_ring(struct ixgbe_ring *rx_ring)
        u16 i = rx_ring->next_to_clean;
        struct ixgbe_rx_buffer *rx_buffer = &rx_ring->rx_buffer_info[i];
 
-       if (rx_ring->xsk_umem) {
+       if (rx_ring->xsk_pool) {
                ixgbe_xsk_clean_rx_ring(rx_ring);
                goto skip_free;
        }
@@ -5682,7 +5677,6 @@ static void ixgbe_up_complete(struct ixgbe_adapter *adapter)
 
 void ixgbe_reinit_locked(struct ixgbe_adapter *adapter)
 {
-       WARN_ON(in_interrupt());
        /* put off any impending NetWatchDogTimeout */
        netif_trans_update(adapter->netdev);
 
@@ -5989,7 +5983,7 @@ static void ixgbe_clean_tx_ring(struct ixgbe_ring *tx_ring)
        u16 i = tx_ring->next_to_clean;
        struct ixgbe_tx_buffer *tx_buffer = &tx_ring->tx_buffer_info[i];
 
-       if (tx_ring->xsk_umem) {
+       if (tx_ring->xsk_pool) {
                ixgbe_xsk_clean_tx_ring(tx_ring);
                goto out;
        }
@@ -6185,8 +6179,9 @@ static void ixgbe_set_eee_capable(struct ixgbe_adapter *adapter)
 /**
  * ixgbe_tx_timeout - Respond to a Tx Hang
  * @netdev: network interface device structure
+ * @txqueue: queue number that timed out
  **/
-static void ixgbe_tx_timeout(struct net_device *netdev, unsigned int txqueue)
+static void ixgbe_tx_timeout(struct net_device *netdev, unsigned int __always_unused txqueue)
 {
        struct ixgbe_adapter *adapter = netdev_priv(netdev);
 
@@ -10161,7 +10156,7 @@ static int ixgbe_xdp_setup(struct net_device *dev, struct bpf_prog *prog)
         */
        if (need_reset && prog)
                for (i = 0; i < adapter->num_rx_queues; i++)
-                       if (adapter->xdp_ring[i]->xsk_umem)
+                       if (adapter->xdp_ring[i]->xsk_pool)
                                (void)ixgbe_xsk_wakeup(adapter->netdev, i,
                                                       XDP_WAKEUP_RX);
 
@@ -10175,8 +10170,8 @@ static int ixgbe_xdp(struct net_device *dev, struct netdev_bpf *xdp)
        switch (xdp->command) {
        case XDP_SETUP_PROG:
                return ixgbe_xdp_setup(dev, xdp->prog);
-       case XDP_SETUP_XSK_UMEM:
-               return ixgbe_xsk_umem_setup(adapter, xdp->xsk.umem,
+       case XDP_SETUP_XSK_POOL:
+               return ixgbe_xsk_pool_setup(adapter, xdp->xsk.pool,
                                            xdp->xsk.queue_id);
 
        default: