]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net
authorDavid S. Miller <davem@davemloft.net>
Tue, 3 Jul 2018 01:26:50 +0000 (10:26 +0900)
committerDavid S. Miller <davem@davemloft.net>
Tue, 3 Jul 2018 01:29:26 +0000 (10:29 +0900)
Simple overlapping changes in stmmac driver.

Adjust skb_gro_flush_final_remcsum function signature to make GRO list
changes in net-next, as per Stephen Rothwell's example merge
resolution.

Signed-off-by: David S. Miller <davem@davemloft.net>
42 files changed:
1  2 
MAINTAINERS
drivers/atm/zatm.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
drivers/net/ethernet/freescale/fman/fman_port.c
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
drivers/net/ethernet/netronome/nfp/bpf/main.c
drivers/net/ethernet/netronome/nfp/flower/offload.c
drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c
drivers/net/ethernet/stmicro/stmmac/hwif.h
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
drivers/net/geneve.c
drivers/net/usb/lan78xx.c
drivers/net/usb/r8152.c
drivers/net/vxlan.c
include/linux/netdevice.h
include/linux/skbuff.h
include/net/pkt_cls.h
include/net/tcp.h
include/net/udp.h
net/8021q/vlan.c
net/core/filter.c
net/core/skbuff.c
net/core/sock.c
net/ipv4/af_inet.c
net/ipv4/fou.c
net/ipv4/gre_offload.c
net/ipv4/tcp.c
net/ipv4/tcp_input.c
net/ipv4/udp_offload.c
net/ipv6/seg6_hmac.c
net/l2tp/l2tp_ppp.c
net/mac80211/tx.c
net/sctp/socket.c
net/smc/af_smc.c
net/smc/smc.h
net/strparser/strparser.c
net/tipc/socket.c
net/tls/tls_sw.c
net/wireless/nl80211.c

diff --cc MAINTAINERS
Simple merge
Simple merge
index 52f4a6b46cb2782365efd22111a76b7080c987d7,ab02057ac7304f088242a2a07481820302d3556b..65a22cd9aef26197f79877862756133b4109b895
@@@ -1617,22 -1618,10 +1620,22 @@@ static struct sk_buff *dpaa_cleanup_tx_
        skbh = (struct sk_buff **)phys_to_virt(addr);
        skb = *skbh;
  
 +      if (priv->tx_tstamp && skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP) {
 +              memset(&shhwtstamps, 0, sizeof(shhwtstamps));
 +
 +              if (!fman_port_get_tstamp(priv->mac_dev->port[TX], (void *)skbh,
 +                                        &ns)) {
 +                      shhwtstamps.hwtstamp = ns_to_ktime(ns);
 +                      skb_tstamp_tx(skb, &shhwtstamps);
 +              } else {
 +                      dev_warn(dev, "fman_port_get_tstamp failed!\n");
 +              }
 +      }
 +
        if (unlikely(qm_fd_get_format(fd) == qm_fd_sg)) {
                nr_frags = skb_shinfo(skb)->nr_frags;
-               dma_unmap_single(dev, addr, qm_fd_get_offset(fd) +
-                                sizeof(struct qm_sg_entry) * (1 + nr_frags),
+               dma_unmap_single(dev, addr,
+                                qm_fd_get_offset(fd) + DPAA_SGT_SIZE,
                                 dma_dir);
  
                /* The sgt buffer has been allocated with netdev_alloc_frag(),
index 6e32f8a3710be1767d9b0e493230cb022b08956a,65bc3556bd8f8c25b9b37421c80d6a663d8eb0db..edb6053bd9802574ee5b5ec9a1cea4de7678214e
@@@ -407,19 -407,16 +407,29 @@@ static void dwmac4_enable_tso(void __io
        }
  }
  
 +static void dwmac4_qmode(void __iomem *ioaddr, u32 channel, u8 qmode)
 +{
 +      u32 mtl_tx_op = readl(ioaddr + MTL_CHAN_TX_OP_MODE(channel));
 +
 +      mtl_tx_op &= ~MTL_OP_MODE_TXQEN_MASK;
 +      if (qmode != MTL_QUEUE_AVB)
 +              mtl_tx_op |= MTL_OP_MODE_TXQEN;
 +      else
 +              mtl_tx_op |= MTL_OP_MODE_TXQEN_AV;
 +
 +      writel(mtl_tx_op, ioaddr +  MTL_CHAN_TX_OP_MODE(channel));
 +}
 +
+ static void dwmac4_set_bfsize(void __iomem *ioaddr, int bfsize, u32 chan)
+ {
+       u32 value = readl(ioaddr + DMA_CHAN_RX_CONTROL(chan));
+       value &= ~DMA_RBSZ_MASK;
+       value |= (bfsize << DMA_RBSZ_SHIFT) & DMA_RBSZ_MASK;
+       writel(value, ioaddr + DMA_CHAN_RX_CONTROL(chan));
+ }
  const struct stmmac_dma_ops dwmac4_dma_ops = {
        .reset = dwmac4_dma_reset,
        .init = dwmac4_dma_init,
        .set_rx_tail_ptr = dwmac4_set_rx_tail_ptr,
        .set_tx_tail_ptr = dwmac4_set_tx_tail_ptr,
        .enable_tso = dwmac4_enable_tso,
 +      .qmode = dwmac4_qmode,
+       .set_bfsize = dwmac4_set_bfsize,
  };
  
  const struct stmmac_dma_ops dwmac410_dma_ops = {
        .set_rx_tail_ptr = dwmac4_set_rx_tail_ptr,
        .set_tx_tail_ptr = dwmac4_set_tx_tail_ptr,
        .enable_tso = dwmac4_enable_tso,
 +      .qmode = dwmac4_qmode,
+       .set_bfsize = dwmac4_set_bfsize,
  };
index e2a965790648c574b749a86c363347fcd8711bd1,fe8b536b13f864bfff723ea2236a3e5982026533..79911eefc2a7249ec347260e4026d5ebdbfe499a
@@@ -183,7 -183,7 +183,8 @@@ struct stmmac_dma_ops 
        void (*set_rx_tail_ptr)(void __iomem *ioaddr, u32 tail_ptr, u32 chan);
        void (*set_tx_tail_ptr)(void __iomem *ioaddr, u32 tail_ptr, u32 chan);
        void (*enable_tso)(void __iomem *ioaddr, bool en, u32 chan);
 +      void (*qmode)(void __iomem *ioaddr, u32 channel, u8 qmode);
+       void (*set_bfsize)(void __iomem *ioaddr, int bfsize, u32 chan);
  };
  
  #define stmmac_reset(__priv, __args...) \
        stmmac_do_void_callback(__priv, dma, set_tx_tail_ptr, __args)
  #define stmmac_enable_tso(__priv, __args...) \
        stmmac_do_void_callback(__priv, dma, enable_tso, __args)
 +#define stmmac_dma_qmode(__priv, __args...) \
 +      stmmac_do_void_callback(__priv, dma, qmode, __args)
+ #define stmmac_set_dma_bfsize(__priv, __args...) \
+       stmmac_do_void_callback(__priv, dma, set_bfsize, __args)
  
  struct mac_device_info;
  struct net_device;
Simple merge
Simple merge
Simple merge
Simple merge
index 8bf8d6149f79210163d6de2edaa60fa66c300b14,3d0cc0b5cec2d7514dbebf32effab9b1e6388c3c..64480a0f2c1690d250c8e1d7607f23a2713d47d6
@@@ -2796,11 -2789,31 +2796,31 @@@ static inline void skb_gro_flush_final(
        if (PTR_ERR(pp) != -EINPROGRESS)
                NAPI_GRO_CB(skb)->flush |= flush;
  }
 -                                             struct sk_buff **pp,
+ static inline void skb_gro_flush_final_remcsum(struct sk_buff *skb,
++                                             struct sk_buff *pp,
+                                              int flush,
+                                              struct gro_remcsum *grc)
+ {
+       if (PTR_ERR(pp) != -EINPROGRESS) {
+               NAPI_GRO_CB(skb)->flush |= flush;
+               skb_gro_remcsum_cleanup(skb, grc);
+               skb->remcsum_offload = 0;
+       }
+ }
  #else
 -static inline void skb_gro_flush_final(struct sk_buff *skb, struct sk_buff **pp, int flush)
 +static inline void skb_gro_flush_final(struct sk_buff *skb, struct sk_buff *pp, int flush)
  {
        NAPI_GRO_CB(skb)->flush |= flush;
  }
 -                                             struct sk_buff **pp,
+ static inline void skb_gro_flush_final_remcsum(struct sk_buff *skb,
++                                             struct sk_buff *pp,
+                                              int flush,
+                                              struct gro_remcsum *grc)
+ {
+       NAPI_GRO_CB(skb)->flush |= flush;
+       skb_gro_remcsum_cleanup(skb, grc);
+       skb->remcsum_offload = 0;
+ }
  #endif
  
  static inline int dev_hard_header(struct sk_buff *skb, struct net_device *dev,
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/core/sock.c
Simple merge
Simple merge
diff --cc net/ipv4/fou.c
Simple merge
Simple merge
diff --cc net/ipv4/tcp.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/smc/smc.h
index 8c6231011779ce6208e729ca16fe39118d34f62a,d7ca265704821a1862f84f209550c4b19fc0db59..be20acd7b5aba34161edec7eaad18456abcb8ffb
@@@ -183,13 -185,14 +183,19 @@@ struct smc_connection 
        spinlock_t              acurs_lock;     /* protect cursors */
  #endif
        struct work_struct      close_work;     /* peer sent some closing */
 +      struct tasklet_struct   rx_tsklet;      /* Receiver tasklet for SMC-D */
 +      u8                      rx_off;         /* receive offset:
 +                                               * 0 for SMC-R, 32 for SMC-D
 +                                               */
 +      u64                     peer_token;     /* SMC-D token of peer */
  };
  
+ struct smc_connect_info {
+       int                     flags;
+       int                     alen;
+       struct sockaddr         addr;
+ };
  struct smc_sock {                             /* smc sock container */
        struct sock             sk;
        struct socket           *clcsock;       /* internal tcp socket */
Simple merge
Simple merge
Simple merge
Simple merge