-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B Run-tested: bcm2711/RPi4B Signed-off-by: John Audia <[email protected]>
- Loading branch information
Showing
14 changed files
with
37 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
LINUX_VERSION-6.1 = .33 | ||
LINUX_KERNEL_HASH-6.1.33 = b87d6ba8ea7328e8007a7ea9171d1aa0d540d95eacfcab09578e0a3b623dd2cd | ||
LINUX_VERSION-6.1 = .34 | ||
LINUX_KERNEL_HASH-6.1.34 = b26f7cbcbf8031efc49f11f236f372fc34a4fd5fc6ad3151b893d1aa038ed603 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <[email protected]> | |
|
||
--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c | ||
+++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c | ||
@@ -285,9 +285,7 @@ int bcmgenet_mii_probe(struct net_device | ||
@@ -290,9 +290,7 @@ int bcmgenet_mii_probe(struct net_device | ||
struct device_node *dn = kdev->of_node; | ||
phy_interface_t phy_iface = priv->phy_interface; | ||
struct phy_device *phydev; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <[email protected]> | |
|
||
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c | ||
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c | ||
@@ -2660,7 +2660,7 @@ static void bcmgenet_init_tx_ring(struct | ||
@@ -2657,7 +2657,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); | ||
|
@@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <[email protected]> | |
/* Disable rate control for now */ | ||
bcmgenet_tdma_ring_writel(priv, index, flow_period_val, | ||
TDMA_FLOW_PERIOD); | ||
@@ -4141,9 +4141,12 @@ static int bcmgenet_probe(struct platfor | ||
@@ -4138,9 +4138,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 */ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,7 +20,7 @@ Signed-off-by: Jonathan Bell <[email protected]> | |
|
||
--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c | ||
+++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c | ||
@@ -291,6 +291,8 @@ int bcmgenet_mii_probe(struct net_device | ||
@@ -296,6 +296,8 @@ int bcmgenet_mii_probe(struct net_device | ||
/* Communicate the integrated PHY revision */ | ||
if (priv->internal_phy) | ||
phy_flags = priv->gphy_rev; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -37,7 +37,7 @@ Signed-off-by: Phil Elwell <[email protected]> | |
|
||
static inline void bcmgenet_writel(u32 value, void __iomem *offset) | ||
{ | ||
@@ -2491,6 +2494,11 @@ static void reset_umac(struct bcmgenet_p | ||
@@ -2488,6 +2491,11 @@ static void reset_umac(struct bcmgenet_p | ||
bcmgenet_rbuf_ctrl_set(priv, 0); | ||
udelay(10); | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <[email protected]> | |
|
||
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c | ||
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c | ||
@@ -3307,7 +3307,7 @@ static void bcmgenet_get_hw_addr(struct | ||
@@ -3304,7 +3304,7 @@ static void bcmgenet_get_hw_addr(struct | ||
} | ||
|
||
/* Returns a reusable dma control register value */ | ||
|
@@ -33,7 +33,7 @@ Signed-off-by: Phil Elwell <[email protected]> | |
{ | ||
unsigned int i; | ||
u32 reg; | ||
@@ -3332,6 +3332,14 @@ static u32 bcmgenet_dma_disable(struct b | ||
@@ -3329,6 +3329,14 @@ static u32 bcmgenet_dma_disable(struct b | ||
udelay(10); | ||
bcmgenet_umac_writel(priv, 0, UMAC_TX_FLUSH); | ||
|
||
|
@@ -48,7 +48,7 @@ Signed-off-by: Phil Elwell <[email protected]> | |
return dma_ctrl; | ||
} | ||
|
||
@@ -3395,8 +3403,8 @@ static int bcmgenet_open(struct net_devi | ||
@@ -3392,8 +3400,8 @@ static int bcmgenet_open(struct net_devi | ||
|
||
bcmgenet_set_hw_addr(priv, dev->dev_addr); | ||
|
||
|
@@ -59,7 +59,7 @@ Signed-off-by: Phil Elwell <[email protected]> | |
|
||
/* Reinitialize TDMA and RDMA and SW housekeeping */ | ||
ret = bcmgenet_init_dma(priv); | ||
@@ -4270,7 +4278,7 @@ static int bcmgenet_resume(struct device | ||
@@ -4267,7 +4275,7 @@ static int bcmgenet_resume(struct device | ||
bcmgenet_hfb_create_rxnfc_filter(priv, rule); | ||
|
||
/* Disable RX/TX DMA and flush TX queues */ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <[email protected]> | |
|
||
static inline void bcmgenet_writel(u32 value, void __iomem *offset) | ||
{ | ||
@@ -3441,6 +3444,17 @@ static int bcmgenet_open(struct net_devi | ||
@@ -3438,6 +3441,17 @@ static int bcmgenet_open(struct net_devi | ||
|
||
bcmgenet_phy_pause_set(dev, priv->rx_pause, priv->tx_pause); | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,15 +20,15 @@ Signed-off-by: Phil Elwell <[email protected]> | |
|
||
--- a/net/bluetooth/hci_sync.c | ||
+++ b/net/bluetooth/hci_sync.c | ||
@@ -4529,6 +4529,7 @@ static const struct { | ||
@@ -4540,6 +4540,7 @@ static const struct { | ||
*/ | ||
static int hci_dev_setup_sync(struct hci_dev *hdev) | ||
{ | ||
+ struct fwnode_handle *fwnode = dev_fwnode(hdev->dev.parent); | ||
int ret = 0; | ||
bool invalid_bdaddr; | ||
size_t i; | ||
@@ -4557,7 +4558,9 @@ static int hci_dev_setup_sync(struct hci | ||
@@ -4568,7 +4569,9 @@ static int hci_dev_setup_sync(struct hci | ||
|
||
if (!ret) { | ||
if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks)) { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,7 +14,7 @@ Signed-off-by: Rui Salvaterra <[email protected]> | |
|
||
--- a/net/netfilter/nf_conntrack_core.c | ||
+++ b/net/netfilter/nf_conntrack_core.c | ||
@@ -2702,7 +2702,7 @@ int nf_conntrack_init_start(void) | ||
@@ -2705,7 +2705,7 @@ int nf_conntrack_init_start(void) | ||
|
||
if (!nf_conntrack_htable_size) { | ||
nf_conntrack_htable_size | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -19,23 +19,23 @@ Signed-off-by: Felix Fietkau <[email protected]> | |
|
||
--- a/include/linux/netdevice.h | ||
+++ b/include/linux/netdevice.h | ||
@@ -1704,6 +1704,7 @@ enum netdev_priv_flags { | ||
@@ -1707,6 +1707,7 @@ enum netdev_priv_flags { | ||
IFF_LIVE_RENAME_OK = 1<<30, | ||
IFF_TX_SKB_NO_LINEAR = BIT_ULL(31), | ||
IFF_CHANGE_PROTO_DOWN = BIT_ULL(32), | ||
+ IFF_NO_IP_ALIGN = BIT_ULL(33), | ||
}; | ||
|
||
#define IFF_802_1Q_VLAN IFF_802_1Q_VLAN | ||
@@ -1738,6 +1739,7 @@ enum netdev_priv_flags { | ||
@@ -1741,6 +1742,7 @@ enum netdev_priv_flags { | ||
#define IFF_L3MDEV_RX_HANDLER IFF_L3MDEV_RX_HANDLER | ||
#define IFF_LIVE_RENAME_OK IFF_LIVE_RENAME_OK | ||
#define IFF_TX_SKB_NO_LINEAR IFF_TX_SKB_NO_LINEAR | ||
+#define IFF_NO_IP_ALIGN IFF_NO_IP_ALIGN | ||
|
||
/* Specifies the type of the struct net_device::ml_priv pointer */ | ||
enum netdev_ml_priv_type { | ||
@@ -2106,6 +2108,11 @@ struct net_device { | ||
@@ -2109,6 +2111,11 @@ struct net_device { | ||
const struct tlsdev_ops *tlsdev_ops; | ||
#endif | ||
|
||
|
@@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <[email protected]> | |
const struct header_ops *header_ops; | ||
|
||
unsigned char operstate; | ||
@@ -2181,6 +2188,10 @@ struct net_device { | ||
@@ -2184,6 +2191,10 @@ struct net_device { | ||
struct mctp_dev __rcu *mctp_ptr; | ||
#endif | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -36,7 +36,7 @@ Signed-off-by: Daniel Golle <[email protected]> | |
// Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report | ||
// 2500MBd NRZ in their EEPROM | ||
SFP_QUIRK_M("Lantech", "8330-262D-E", sfp_quirk_2500basex), | ||
@@ -2334,7 +2337,8 @@ static void sfp_sm_main(struct sfp *sfp, | ||
@@ -2339,7 +2342,8 @@ static void sfp_sm_main(struct sfp *sfp, | ||
* or t_start_up, so assume there is a fault. | ||
*/ | ||
sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT, | ||
|
@@ -46,7 +46,7 @@ Signed-off-by: Daniel Golle <[email protected]> | |
} else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) { | ||
init_done: | ||
/* Create mdiobus and start trying for PHY */ | ||
@@ -2563,10 +2567,12 @@ static void sfp_check_state(struct sfp * | ||
@@ -2568,10 +2572,12 @@ static void sfp_check_state(struct sfp * | ||
mutex_lock(&sfp->st_mutex); | ||
state = sfp_get_state(sfp); | ||
changed = state ^ sfp->state; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <[email protected]> | |
|
||
--- a/include/linux/netdevice.h | ||
+++ b/include/linux/netdevice.h | ||
@@ -2132,6 +2132,8 @@ struct net_device { | ||
@@ -2135,6 +2135,8 @@ struct net_device { | ||
struct netdev_hw_addr_list mc; | ||
struct netdev_hw_addr_list dev_addrs; | ||
|
||
|
@@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <[email protected]> | |
|
||
--- a/net/core/dev.c | ||
+++ b/net/core/dev.c | ||
@@ -7606,6 +7606,48 @@ static void __netdev_adjacent_dev_unlink | ||
@@ -7608,6 +7608,48 @@ static void __netdev_adjacent_dev_unlink | ||
&upper_dev->adj_list.lower); | ||
} | ||
|
||
|
@@ -93,23 +93,23 @@ Signed-off-by: Felix Fietkau <[email protected]> | |
static int __netdev_upper_dev_link(struct net_device *dev, | ||
struct net_device *upper_dev, bool master, | ||
void *upper_priv, void *upper_info, | ||
@@ -7657,6 +7699,7 @@ static int __netdev_upper_dev_link(struc | ||
@@ -7659,6 +7701,7 @@ static int __netdev_upper_dev_link(struc | ||
if (ret) | ||
return ret; | ||
|
||
+ netdev_update_addr_mask(dev); | ||
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, | ||
&changeupper_info.info); | ||
ret = notifier_to_errno(ret); | ||
@@ -7753,6 +7796,7 @@ static void __netdev_upper_dev_unlink(st | ||
@@ -7755,6 +7798,7 @@ static void __netdev_upper_dev_unlink(st | ||
|
||
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev); | ||
|
||
+ netdev_update_addr_mask(dev); | ||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, | ||
&changeupper_info.info); | ||
|
||
@@ -8805,6 +8849,7 @@ int dev_set_mac_address(struct net_devic | ||
@@ -8807,6 +8851,7 @@ int dev_set_mac_address(struct net_devic | ||
if (err) | ||
return err; | ||
dev->addr_assign_type = NET_ADDR_SET; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,7 +17,7 @@ Signed-off-by: Christian Marangi <[email protected]> | |
|
||
--- a/include/linux/netdevice.h | ||
+++ b/include/linux/netdevice.h | ||
@@ -2167,7 +2167,7 @@ struct net_device { | ||
@@ -2170,7 +2170,7 @@ struct net_device { | ||
#if IS_ENABLED(CONFIG_AX25) | ||
void *ax25_ptr; | ||
#endif | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <[email protected]> | |
|
||
/** | ||
* napi_disable - prevent NAPI from scheduling | ||
@@ -3127,6 +3128,7 @@ struct softnet_data { | ||
@@ -3130,6 +3131,7 @@ struct softnet_data { | ||
unsigned int processed; | ||
unsigned int time_squeeze; | ||
unsigned int received_rps; | ||
|
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <[email protected]> | |
#endif | ||
--- a/net/core/dev.c | ||
+++ b/net/core/dev.c | ||
@@ -4606,7 +4606,7 @@ static int napi_schedule_rps(struct soft | ||
@@ -4608,7 +4608,7 @@ static int napi_schedule_rps(struct soft | ||
struct softnet_data *mysd = this_cpu_ptr(&softnet_data); | ||
|
||
#ifdef CONFIG_RPS | ||
|
@@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau <[email protected]> | |
sd->rps_ipi_next = mysd->rps_ipi_list; | ||
mysd->rps_ipi_list = sd; | ||
|
||
@@ -5787,6 +5787,8 @@ static DEFINE_PER_CPU(struct work_struct | ||
@@ -5789,6 +5789,8 @@ static DEFINE_PER_CPU(struct work_struct | ||
/* Network device is going away, flush any packets still pending */ | ||
static void flush_backlog(struct work_struct *work) | ||
{ | ||
|
@@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau <[email protected]> | |
struct sk_buff *skb, *tmp; | ||
struct softnet_data *sd; | ||
|
||
@@ -5801,8 +5803,17 @@ static void flush_backlog(struct work_st | ||
@@ -5803,8 +5805,17 @@ static void flush_backlog(struct work_st | ||
input_queue_head_incr(sd); | ||
} | ||
} | ||
|
@@ -66,7 +66,7 @@ Signed-off-by: Felix Fietkau <[email protected]> | |
skb_queue_walk_safe(&sd->process_queue, skb, tmp) { | ||
if (skb->dev->reg_state == NETREG_UNREGISTERING) { | ||
__skb_unlink(skb, &sd->process_queue); | ||
@@ -5810,7 +5821,16 @@ static void flush_backlog(struct work_st | ||
@@ -5812,7 +5823,16 @@ static void flush_backlog(struct work_st | ||
input_queue_head_incr(sd); | ||
} | ||
} | ||
|
@@ -83,15 +83,15 @@ Signed-off-by: Felix Fietkau <[email protected]> | |
} | ||
|
||
static bool flush_required(int cpu) | ||
@@ -5942,6 +5962,7 @@ static int process_backlog(struct napi_s | ||
@@ -5944,6 +5964,7 @@ static int process_backlog(struct napi_s | ||
} | ||
|
||
rps_lock_irq_disable(sd); | ||
+ sd->process_queue_empty++; | ||
if (skb_queue_empty(&sd->input_pkt_queue)) { | ||
/* | ||
* Inline a custom version of __napi_complete(). | ||
@@ -5951,7 +5972,8 @@ static int process_backlog(struct napi_s | ||
@@ -5953,7 +5974,8 @@ static int process_backlog(struct napi_s | ||
* We can use a plain write instead of clear_bit(), | ||
* and we dont need an smp_mb() memory barrier. | ||
*/ | ||
|
@@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <[email protected]> | |
again = false; | ||
} else { | ||
skb_queue_splice_tail_init(&sd->input_pkt_queue, | ||
@@ -6367,6 +6389,55 @@ int dev_set_threaded(struct net_device * | ||
@@ -6369,6 +6391,55 @@ int dev_set_threaded(struct net_device * | ||
} | ||
EXPORT_SYMBOL(dev_set_threaded); | ||
|
||
|
@@ -157,7 +157,7 @@ Signed-off-by: Felix Fietkau <[email protected]> | |
void netif_napi_add_weight(struct net_device *dev, struct napi_struct *napi, | ||
int (*poll)(struct napi_struct *, int), int weight) | ||
{ | ||
@@ -11139,6 +11210,9 @@ static int dev_cpu_dead(unsigned int old | ||
@@ -11141,6 +11212,9 @@ static int dev_cpu_dead(unsigned int old | ||
raise_softirq_irqoff(NET_TX_SOFTIRQ); | ||
local_irq_enable(); | ||
|
||
|
@@ -167,7 +167,7 @@ Signed-off-by: Felix Fietkau <[email protected]> | |
#ifdef CONFIG_RPS | ||
remsd = oldsd->rps_ipi_list; | ||
oldsd->rps_ipi_list = NULL; | ||
@@ -11442,6 +11516,7 @@ static int __init net_dev_init(void) | ||
@@ -11444,6 +11518,7 @@ static int __init net_dev_init(void) | ||
INIT_CSD(&sd->defer_csd, trigger_rx_softirq, sd); | ||
spin_lock_init(&sd->defer_lock); | ||
|
||
|