Patches automatically rebased.
Build system: x86_64
Build-tested: bcm2711/RPi4B, mt7622/RT3200
Run-tested: bcm2711/RPi4B, mt7622/RT3200
Tested-by: John Audia <graysky@archlinux.us>
Build-tested: ath79/generic, ramips/mt76{20,21,x8}, ipq40xx, mvebu, realtek/rtl{838,930}x, x86/64
Run-tested: ramips/mt7621, mvebu
Tested-by: Stijn Segers <foss@volatilesystems.org>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
(cherry picked from commit
2c26eb4e484fe6d7a8159a22f97b6db7ca6e9221)
-LINUX_VERSION-5.10 = .107
-LINUX_KERNEL_HASH-5.10.107 = c467c3077946370fb26c9277313b601d6c48bb557abc889f4892caf627fcdfea
+LINUX_VERSION-5.10 = .108
+LINUX_KERNEL_HASH-5.10.108 = bf6cc2d6e0918b8f34d1cde2fa39a6ad69c45025425048be1a1dac4a5b3641d8
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
u32 *data, int in_pm)
{
-@@ -1830,7 +1834,8 @@ static int smsc95xx_rx_fixup(struct usbn
+@@ -1839,7 +1843,8 @@ static int smsc95xx_rx_fixup(struct usbn
if (dev->net->features & NETIF_F_RXCSUM)
smsc95xx_rx_csum_offload(skb);
skb_trim(skb, skb->len - 4); /* remove fcs */
return 1;
}
-@@ -1848,7 +1853,8 @@ static int smsc95xx_rx_fixup(struct usbn
+@@ -1857,7 +1862,8 @@ static int smsc95xx_rx_fixup(struct usbn
if (dev->net->features & NETIF_F_RXCSUM)
smsc95xx_rx_csum_offload(ax_skb);
skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
u32 *data, int in_pm)
{
-@@ -905,13 +909,13 @@ static int smsc95xx_reset(struct usbnet
+@@ -917,13 +921,13 @@ static int smsc95xx_reset(struct usbnet
if (!turbo_mode) {
burst_cap = 0;
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
u32 *data, int in_pm)
{
-@@ -761,6 +766,53 @@ static int smsc95xx_ioctl(struct net_dev
+@@ -773,6 +778,53 @@ static int smsc95xx_ioctl(struct net_dev
return phy_mii_ioctl(netdev->phydev, rq, cmd);
}
static void smsc95xx_init_mac_address(struct usbnet *dev)
{
/* maybe the boot loader passed the MAC address in devicetree */
-@@ -783,6 +835,10 @@ static void smsc95xx_init_mac_address(st
+@@ -795,6 +847,10 @@ static void smsc95xx_init_mac_address(st
}
}
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-@@ -2595,7 +2595,7 @@ static void bcmgenet_init_tx_ring(struct
+@@ -2597,7 +2597,7 @@ static void bcmgenet_init_tx_ring(struct
bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX);
bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX);
/* Disable rate control for now */
bcmgenet_tdma_ring_writel(priv, index, flow_period_val,
TDMA_FLOW_PERIOD);
-@@ -4060,9 +4060,12 @@ static int bcmgenet_probe(struct platfor
+@@ -4062,9 +4062,12 @@ static int bcmgenet_probe(struct platfor
netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
/* Set default coalescing parameters */
static inline void bcmgenet_writel(u32 value, void __iomem *offset)
{
-@@ -2426,6 +2429,11 @@ static void reset_umac(struct bcmgenet_p
+@@ -2428,6 +2431,11 @@ static void reset_umac(struct bcmgenet_p
bcmgenet_rbuf_ctrl_set(priv, 0);
udelay(10);
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-@@ -3244,7 +3244,7 @@ static void bcmgenet_get_hw_addr(struct
+@@ -3246,7 +3246,7 @@ static void bcmgenet_get_hw_addr(struct
}
/* Returns a reusable dma control register value */
{
unsigned int i;
u32 reg;
-@@ -3269,6 +3269,14 @@ static u32 bcmgenet_dma_disable(struct b
+@@ -3271,6 +3271,14 @@ static u32 bcmgenet_dma_disable(struct b
udelay(10);
bcmgenet_umac_writel(priv, 0, UMAC_TX_FLUSH);
return dma_ctrl;
}
-@@ -3332,8 +3340,8 @@ static int bcmgenet_open(struct net_devi
+@@ -3334,8 +3342,8 @@ static int bcmgenet_open(struct net_devi
bcmgenet_set_hw_addr(priv, dev->dev_addr);
/* Reinitialize TDMA and RDMA and SW housekeeping */
ret = bcmgenet_init_dma(priv);
-@@ -4189,7 +4197,7 @@ static int bcmgenet_resume(struct device
+@@ -4191,7 +4199,7 @@ static int bcmgenet_resume(struct device
bcmgenet_hfb_create_rxnfc_filter(priv, rule);
/* Disable RX/TX DMA and flush TX queues */
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
-@@ -3322,6 +3324,7 @@ static int packet_create(struct net *net
+@@ -3325,6 +3327,7 @@ static int packet_create(struct net *net
mutex_init(&po->pg_vec_lock);
po->rollover = NULL;
po->prot_hook.func = packet_rcv;
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
-@@ -3960,6 +3963,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3969,6 +3972,16 @@ packet_setsockopt(struct socket *sock, i
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
return 0;
}
default:
return -ENOPROTOOPT;
}
-@@ -4016,6 +4029,13 @@ static int packet_getsockopt(struct sock
+@@ -4025,6 +4038,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR:
val = po->has_vnet_hdr;
break;