kernel: bump 5.4 to 5.4.199 (#9601)

Removed:
target/linux/bcm27xx/patches-5.4/950-1014-Revert-mailbox-avoid-timer-start-from-callback.patch [1]

[1]6d8b9f574b

Signed-off-by: José Hwong <josehwong@hotmail.com>
This commit is contained in:
José Hwong 2022-06-18 00:30:30 +08:00 committed by GitHub
parent 8c76a6f498
commit a0cac9a6d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
51 changed files with 96 additions and 171 deletions

View File

@ -1,2 +1,2 @@
LINUX_VERSION-5.4 = .195 LINUX_VERSION-5.4 = .199
LINUX_KERNEL_HASH-5.4.195 = f22f5b9df60f8d59988f9d48bb2f39cb5d7ec435ca4296abe352e8063140031d LINUX_KERNEL_HASH-5.4.199 = 484c09f387656ddb6a1174c7ae6a1df81c02daba831911ad9240aa9582c16c58

View File

@ -222,7 +222,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
static inline int mmc_blk_part_switch(struct mmc_card *card, static inline int mmc_blk_part_switch(struct mmc_card *card,
unsigned int part_type); unsigned int part_type);
@@ -2891,6 +2898,7 @@ static int mmc_blk_probe(struct mmc_card @@ -2890,6 +2897,7 @@ static int mmc_blk_probe(struct mmc_card
{ {
struct mmc_blk_data *md, *part_md; struct mmc_blk_data *md, *part_md;
char cap_str[10]; char cap_str[10];
@ -230,7 +230,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
/* /*
* Check that the card supports the command class(es) we need. * Check that the card supports the command class(es) we need.
@@ -2898,7 +2906,16 @@ static int mmc_blk_probe(struct mmc_card @@ -2897,7 +2905,16 @@ static int mmc_blk_probe(struct mmc_card
if (!(card->csd.cmdclass & CCC_BLOCK_READ)) if (!(card->csd.cmdclass & CCC_BLOCK_READ))
return -ENODEV; return -ENODEV;
@ -248,7 +248,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
card->complete_wq = alloc_workqueue("mmc_complete", card->complete_wq = alloc_workqueue("mmc_complete",
WQ_MEM_RECLAIM | WQ_HIGHPRI, 0); WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
@@ -2913,9 +2930,14 @@ static int mmc_blk_probe(struct mmc_card @@ -2912,9 +2929,14 @@ static int mmc_blk_probe(struct mmc_card
string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2, string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2,
cap_str, sizeof(cap_str)); cap_str, sizeof(cap_str));

View File

@ -20,7 +20,7 @@ Subject: [PATCH] ASoC: Add support for Rpi-DAC
select SND_SOC_PCM3008 select SND_SOC_PCM3008
select SND_SOC_PCM3060_I2C if I2C select SND_SOC_PCM3060_I2C if I2C
select SND_SOC_PCM3060_SPI if SPI_MASTER select SND_SOC_PCM3060_SPI if SPI_MASTER
@@ -985,6 +986,10 @@ config SND_SOC_RT5616 @@ -984,6 +985,10 @@ config SND_SOC_RT5616
tristate "Realtek RT5616 CODEC" tristate "Realtek RT5616 CODEC"
depends on I2C depends on I2C

View File

@ -35,7 +35,7 @@ Some code to load the driver based on device-tree-overlays was missing. This is
select SND_SOC_TLV320AIC26 if SPI_MASTER select SND_SOC_TLV320AIC26 if SPI_MASTER
select SND_SOC_TLV320AIC31XX if I2C select SND_SOC_TLV320AIC31XX if I2C
select SND_SOC_TLV320AIC32X4_I2C if I2C && COMMON_CLK select SND_SOC_TLV320AIC32X4_I2C if I2C && COMMON_CLK
@@ -1148,6 +1149,9 @@ config SND_SOC_TFA9879 @@ -1147,6 +1148,9 @@ config SND_SOC_TFA9879
tristate "NXP Semiconductors TFA9879 amplifier" tristate "NXP Semiconductors TFA9879 amplifier"
depends on I2C depends on I2C

View File

@ -226,7 +226,7 @@ Signed-off-by: Hui Wang <hui.wang@canonical.com>
select SND_SOC_JZ4740_CODEC select SND_SOC_JZ4740_CODEC
select SND_SOC_JZ4725B_CODEC select SND_SOC_JZ4725B_CODEC
select SND_SOC_LM4857 if I2C select SND_SOC_LM4857 if I2C
@@ -1502,4 +1503,8 @@ config SND_SOC_TPA6130A2 @@ -1501,4 +1502,8 @@ config SND_SOC_TPA6130A2
tristate "Texas Instruments TPA6130A2 headphone amplifier" tristate "Texas Instruments TPA6130A2 headphone amplifier"
depends on I2C depends on I2C

View File

@ -81,7 +81,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
extern int usb_driver_set_configuration(struct usb_device *udev, int config); extern int usb_driver_set_configuration(struct usb_device *udev, int config);
--- a/include/linux/usb/hcd.h --- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h
@@ -382,6 +382,11 @@ struct hc_driver { @@ -384,6 +384,11 @@ struct hc_driver {
* or bandwidth constraints. * or bandwidth constraints.
*/ */
void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *); void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);
@ -93,7 +93,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
/* Returns the hardware-chosen device address */ /* Returns the hardware-chosen device address */
int (*address_device)(struct usb_hcd *, struct usb_device *udev); int (*address_device)(struct usb_hcd *, struct usb_device *udev);
/* prepares the hardware to send commands to the device */ /* prepares the hardware to send commands to the device */
@@ -443,6 +448,8 @@ extern void usb_hcd_unmap_urb_setup_for_ @@ -445,6 +450,8 @@ extern void usb_hcd_unmap_urb_setup_for_
extern void usb_hcd_unmap_urb_for_dma(struct usb_hcd *, struct urb *); extern void usb_hcd_unmap_urb_for_dma(struct usb_hcd *, struct urb *);
extern void usb_hcd_flush_endpoint(struct usb_device *udev, extern void usb_hcd_flush_endpoint(struct usb_device *udev,
struct usb_host_endpoint *ep); struct usb_host_endpoint *ep);

View File

@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/of/overlay.c --- a/drivers/of/overlay.c
+++ b/drivers/of/overlay.c +++ b/drivers/of/overlay.c
@@ -245,6 +245,8 @@ static struct property *dup_and_fixup_sy @@ -243,6 +243,8 @@ static struct property *dup_and_fixup_sy
if (!target_path) if (!target_path)
return NULL; return NULL;
target_path_len = strlen(target_path); target_path_len = strlen(target_path);

View File

@ -65,7 +65,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arm64_dma32_phys_limit = max_zone_phys(32); arm64_dma32_phys_limit = max_zone_phys(32);
--- a/arch/powerpc/include/asm/page.h --- a/arch/powerpc/include/asm/page.h
+++ b/arch/powerpc/include/asm/page.h +++ b/arch/powerpc/include/asm/page.h
@@ -338,13 +338,4 @@ struct vm_area_struct; @@ -341,13 +341,4 @@ struct vm_area_struct;
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
#include <asm/slice.h> #include <asm/slice.h>

View File

@ -104,7 +104,7 @@ Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
} }
--- a/kernel/dma/swiotlb.c --- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c +++ b/kernel/dma/swiotlb.c
@@ -683,7 +683,7 @@ bool swiotlb_map(struct device *dev, phy @@ -686,7 +686,7 @@ bool swiotlb_map(struct device *dev, phy
/* Ensure that the address returned is DMA'ble */ /* Ensure that the address returned is DMA'ble */
*dma_addr = __phys_to_dma(dev, *phys); *dma_addr = __phys_to_dma(dev, *phys);

View File

@ -271,7 +271,7 @@ Signed-off-by: Christoph Hellwig <hch@lst.de>
u64 dma_direct_get_required_mask(struct device *dev); u64 dma_direct_get_required_mask(struct device *dev);
--- a/include/linux/dma-mapping.h --- a/include/linux/dma-mapping.h
+++ b/include/linux/dma-mapping.h +++ b/include/linux/dma-mapping.h
@@ -705,7 +705,7 @@ static inline int dma_coerce_mask_and_co @@ -697,7 +697,7 @@ static inline int dma_coerce_mask_and_co
*/ */
static inline bool dma_addressing_limited(struct device *dev) static inline bool dma_addressing_limited(struct device *dev)
{ {

View File

@ -77,7 +77,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
+}; +};
--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts --- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
@@ -116,3 +116,10 @@ @@ -115,3 +115,10 @@
pinctrl-0 = <&uart0_gpio14>; pinctrl-0 = <&uart0_gpio14>;
status = "okay"; status = "okay";
}; };
@ -101,7 +101,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
+}; +};
--- a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts --- a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts
@@ -149,3 +149,8 @@ @@ -151,3 +151,8 @@
pinctrl-0 = <&uart1_gpio14>; pinctrl-0 = <&uart1_gpio14>;
status = "okay"; status = "okay";
}; };

View File

@ -1,60 +0,0 @@
From 2b7fcd18b15d9cc7b2e68deb77f4e0acfa904c41 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Tue, 3 Nov 2020 10:13:48 +0000
Subject: [PATCH] Revert "mailbox: avoid timer start from callback"
This reverts commit 6dc15642c8b830d384fd3e6c9ea63144202b8932.
The Pi 400 shutdown/poweroff mechanism relies on being able to set
a GPIO on the expander in the pm_power_off handler, something that
requires two mailbox calls - GET_GPIO_STATE and SET_GPIO_STATE. A
recent kernel change introduces a reasonable possibility that the
GET call doesn't completes, and bisecting led to a commit from
October that changes the timer usage of the mailbox.
My theory is that there is a race condition in the new code that breaks
the poll timer, but that it normally goes unnoticed because subsequent
mailbox activity wakes it up again. The power-off mailbox calls happen
at a time when other subsystems have been shut down, so if one of them
fails then there is nothing to allow it to recover.
Revert 6dc15642 as (at least) a workaround.
See: https://github.com/raspberrypi/linux/issues/3941
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
drivers/mailbox/mailbox.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
--- a/drivers/mailbox/mailbox.c
+++ b/drivers/mailbox/mailbox.c
@@ -82,12 +82,9 @@ static void msg_submit(struct mbox_chan
exit:
spin_unlock_irqrestore(&chan->lock, flags);
- /* kick start the timer immediately to avoid delays */
- if (!err && (chan->txdone_method & TXDONE_BY_POLL)) {
- /* but only if not already active */
- if (!hrtimer_active(&chan->mbox->poll_hrt))
- hrtimer_start(&chan->mbox->poll_hrt, 0, HRTIMER_MODE_REL);
- }
+ if (!err && (chan->txdone_method & TXDONE_BY_POLL))
+ /* kick start the timer immediately to avoid delays */
+ hrtimer_start(&chan->mbox->poll_hrt, 0, HRTIMER_MODE_REL);
}
static void tx_tick(struct mbox_chan *chan, int r)
@@ -125,10 +122,11 @@ static enum hrtimer_restart txdone_hrtim
struct mbox_chan *chan = &mbox->chans[i];
if (chan->active_req && chan->cl) {
- resched = true;
txdone = chan->mbox->ops->last_tx_done(chan);
if (txdone)
tx_tick(chan, 0);
+ else
+ resched = true;
}
}

View File

@ -41,7 +41,7 @@ Link: https://lore.kernel.org/r/20210309174859.362060-1-sandberg@mailfence.com
--- a/drivers/mtd/chips/cfi_cmdset_0002.c --- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
@@ -272,6 +272,10 @@ static void fixup_use_write_buffers(stru @@ -276,6 +276,10 @@ static void fixup_use_write_buffers(stru
{ {
struct map_info *map = mtd->priv; struct map_info *map = mtd->priv;
struct cfi_private *cfi = map->fldrv_priv; struct cfi_private *cfi = map->fldrv_priv;

View File

@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/dsa/mv88e6xxx/chip.c --- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -4927,6 +4927,80 @@ static int mv88e6xxx_port_mdb_del(struct @@ -4928,6 +4928,80 @@ static int mv88e6xxx_port_mdb_del(struct
return err; return err;
} }
@ -106,7 +106,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static int mv88e6xxx_port_egress_floods(struct dsa_switch *ds, int port, static int mv88e6xxx_port_egress_floods(struct dsa_switch *ds, int port,
bool unicast, bool multicast) bool unicast, bool multicast)
{ {
@@ -4981,6 +5055,8 @@ static const struct dsa_switch_ops mv88e @@ -4982,6 +5056,8 @@ static const struct dsa_switch_ops mv88e
.port_mdb_prepare = mv88e6xxx_port_mdb_prepare, .port_mdb_prepare = mv88e6xxx_port_mdb_prepare,
.port_mdb_add = mv88e6xxx_port_mdb_add, .port_mdb_add = mv88e6xxx_port_mdb_add,
.port_mdb_del = mv88e6xxx_port_mdb_del, .port_mdb_del = mv88e6xxx_port_mdb_del,

View File

@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/dsa/mv88e6xxx/chip.c --- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -4994,7 +4994,7 @@ static void mv88e6xxx_port_mirror_del(st @@ -4995,7 +4995,7 @@ static void mv88e6xxx_port_mirror_del(st
if (chip->info->ops->set_egress_port(chip, if (chip->info->ops->set_egress_port(chip,
direction, direction,
dsa_upstream_port(ds, dsa_upstream_port(ds,

View File

@ -10,7 +10,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2232,6 +2232,28 @@ static int mtk_start_dma(struct mtk_eth @@ -2235,6 +2235,28 @@ static int mtk_start_dma(struct mtk_eth
return 0; return 0;
} }
@ -39,7 +39,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static int mtk_open(struct net_device *dev) static int mtk_open(struct net_device *dev)
{ {
struct mtk_mac *mac = netdev_priv(dev); struct mtk_mac *mac = netdev_priv(dev);
@@ -2427,8 +2449,6 @@ static int mtk_hw_init(struct mtk_eth *e @@ -2430,8 +2452,6 @@ static int mtk_hw_init(struct mtk_eth *e
mtk_w32(eth, 0, MTK_QDMA_DELAY_INT); mtk_w32(eth, 0, MTK_QDMA_DELAY_INT);
mtk_tx_irq_disable(eth, ~0); mtk_tx_irq_disable(eth, ~0);
mtk_rx_irq_disable(eth, ~0); mtk_rx_irq_disable(eth, ~0);
@ -48,7 +48,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* FE int grouping */ /* FE int grouping */
mtk_w32(eth, MTK_TX_DONE_INT, MTK_PDMA_INT_GRP1); mtk_w32(eth, MTK_TX_DONE_INT, MTK_PDMA_INT_GRP1);
@@ -2437,18 +2457,7 @@ static int mtk_hw_init(struct mtk_eth *e @@ -2440,18 +2460,7 @@ static int mtk_hw_init(struct mtk_eth *e
mtk_w32(eth, MTK_RX_DONE_INT, MTK_QDMA_INT_GRP2); mtk_w32(eth, MTK_RX_DONE_INT, MTK_QDMA_INT_GRP2);
mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP); mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP);

View File

@ -15,7 +15,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2236,6 +2236,9 @@ static void mtk_gdm_config(struct mtk_et @@ -2239,6 +2239,9 @@ static void mtk_gdm_config(struct mtk_et
{ {
int i; int i;
@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
for (i = 0; i < MTK_MAC_COUNT; i++) { for (i = 0; i < MTK_MAC_COUNT; i++) {
u32 val = mtk_r32(eth, MTK_GDMA_FWD_CFG(i)); u32 val = mtk_r32(eth, MTK_GDMA_FWD_CFG(i));
@@ -2274,6 +2277,8 @@ static int mtk_open(struct net_device *d @@ -2277,6 +2280,8 @@ static int mtk_open(struct net_device *d
if (err) if (err)
return err; return err;
@ -34,7 +34,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
napi_enable(&eth->tx_napi); napi_enable(&eth->tx_napi);
napi_enable(&eth->rx_napi); napi_enable(&eth->rx_napi);
mtk_tx_irq_enable(eth, MTK_TX_DONE_INT); mtk_tx_irq_enable(eth, MTK_TX_DONE_INT);
@@ -2457,8 +2462,6 @@ static int mtk_hw_init(struct mtk_eth *e @@ -2460,8 +2465,6 @@ static int mtk_hw_init(struct mtk_eth *e
mtk_w32(eth, MTK_RX_DONE_INT, MTK_QDMA_INT_GRP2); mtk_w32(eth, MTK_RX_DONE_INT, MTK_QDMA_INT_GRP2);
mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP); mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP);

View File

@ -12,7 +12,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2331,6 +2331,8 @@ static int mtk_stop(struct net_device *d @@ -2334,6 +2334,8 @@ static int mtk_stop(struct net_device *d
if (!refcount_dec_and_test(&eth->dma_refcnt)) if (!refcount_dec_and_test(&eth->dma_refcnt))
return 0; return 0;

View File

@ -264,7 +264,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
ndev->dev_addr); ndev->dev_addr);
--- a/drivers/net/ethernet/altera/altera_tse_main.c --- a/drivers/net/ethernet/altera/altera_tse_main.c
+++ b/drivers/net/ethernet/altera/altera_tse_main.c +++ b/drivers/net/ethernet/altera/altera_tse_main.c
@@ -1351,7 +1351,6 @@ static int altera_tse_probe(struct platf @@ -1355,7 +1355,6 @@ static int altera_tse_probe(struct platf
struct resource *control_port; struct resource *control_port;
struct resource *dma_res; struct resource *dma_res;
struct altera_tse_private *priv; struct altera_tse_private *priv;
@ -272,7 +272,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
void __iomem *descmap; void __iomem *descmap;
const struct of_device_id *of_id = NULL; const struct of_device_id *of_id = NULL;
@@ -1528,10 +1527,8 @@ static int altera_tse_probe(struct platf @@ -1532,10 +1531,8 @@ static int altera_tse_probe(struct platf
priv->rx_dma_buf_sz = ALTERA_RXDMABUFFER_SIZE; priv->rx_dma_buf_sz = ALTERA_RXDMABUFFER_SIZE;
/* get default MAC address from device tree */ /* get default MAC address from device tree */
@ -859,7 +859,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2490,14 +2490,11 @@ static int __init mtk_init(struct net_de @@ -2493,14 +2493,11 @@ static int __init mtk_init(struct net_de
{ {
struct mtk_mac *mac = netdev_priv(dev); struct mtk_mac *mac = netdev_priv(dev);
struct mtk_eth *eth = mac->hw; struct mtk_eth *eth = mac->hw;

View File

@ -96,7 +96,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/init/Kconfig --- a/init/Kconfig
+++ b/init/Kconfig +++ b/init/Kconfig
@@ -2208,6 +2208,13 @@ config TRIM_UNUSED_KSYMS @@ -2217,6 +2217,13 @@ config TRIM_UNUSED_KSYMS
If unsure, or if you need to build out-of-tree modules, say N. If unsure, or if you need to build out-of-tree modules, say N.
@ -151,7 +151,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/scripts/mod/modpost.c --- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c
@@ -2056,7 +2056,9 @@ static void read_symbols(const char *mod @@ -2057,7 +2057,9 @@ static void read_symbols(const char *mod
symname = remove_dot(info.strtab + sym->st_name); symname = remove_dot(info.strtab + sym->st_name);
handle_modversions(mod, &info, sym, symname); handle_modversions(mod, &info, sym, symname);
@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
/* Apply symbol namespaces from __kstrtabns_<symbol> entries. */ /* Apply symbol namespaces from __kstrtabns_<symbol> entries. */
@@ -2270,8 +2272,10 @@ static void add_header(struct buffer *b, @@ -2271,8 +2273,10 @@ static void add_header(struct buffer *b,
buf_printf(b, "\n"); buf_printf(b, "\n");
buf_printf(b, "BUILD_SALT;\n"); buf_printf(b, "BUILD_SALT;\n");
buf_printf(b, "\n"); buf_printf(b, "\n");
@ -172,7 +172,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
buf_printf(b, "\n"); buf_printf(b, "\n");
buf_printf(b, "__visible struct module __this_module\n"); buf_printf(b, "__visible struct module __this_module\n");
buf_printf(b, "__section(.gnu.linkonce.this_module) = {\n"); buf_printf(b, "__section(.gnu.linkonce.this_module) = {\n");
@@ -2288,8 +2292,10 @@ static void add_header(struct buffer *b, @@ -2289,8 +2293,10 @@ static void add_header(struct buffer *b,
static void add_intree_flag(struct buffer *b, int is_intree) static void add_intree_flag(struct buffer *b, int is_intree)
{ {
@ -183,7 +183,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
/* Cannot check for assembler */ /* Cannot check for assembler */
@@ -2302,8 +2308,10 @@ static void add_retpoline(struct buffer @@ -2303,8 +2309,10 @@ static void add_retpoline(struct buffer
static void add_staging_flag(struct buffer *b, const char *name) static void add_staging_flag(struct buffer *b, const char *name)
{ {
@ -194,7 +194,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
/** /**
@@ -2387,11 +2395,13 @@ static void add_depends(struct buffer *b @@ -2388,11 +2396,13 @@ static void add_depends(struct buffer *b
static void add_srcversion(struct buffer *b, struct module *mod) static void add_srcversion(struct buffer *b, struct module *mod)
{ {
@ -208,7 +208,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
static void write_if_changed(struct buffer *b, const char *fname) static void write_if_changed(struct buffer *b, const char *fname)
@@ -2661,7 +2671,9 @@ int main(int argc, char **argv) @@ -2662,7 +2672,9 @@ int main(int argc, char **argv)
add_staging_flag(&buf, mod->name); add_staging_flag(&buf, mod->name);
err |= add_versions(&buf, mod); err |= add_versions(&buf, mod);
add_depends(&buf, mod); add_depends(&buf, mod);

View File

@ -12,7 +12,7 @@ Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
--- a/net/bridge/br_input.c --- a/net/bridge/br_input.c
+++ b/net/bridge/br_input.c +++ b/net/bridge/br_input.c
@@ -103,10 +103,14 @@ int br_handle_frame_finish(struct net *n @@ -110,10 +110,14 @@ int br_handle_frame_finish(struct net *n
} }
} }

View File

@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/net/sch_generic.h --- a/include/net/sch_generic.h
+++ b/include/net/sch_generic.h +++ b/include/net/sch_generic.h
@@ -617,12 +617,13 @@ extern struct Qdisc_ops noop_qdisc_ops; @@ -603,12 +603,13 @@ extern struct Qdisc_ops noop_qdisc_ops;
extern struct Qdisc_ops pfifo_fast_ops; extern struct Qdisc_ops pfifo_fast_ops;
extern struct Qdisc_ops mq_qdisc_ops; extern struct Qdisc_ops mq_qdisc_ops;
extern struct Qdisc_ops noqueue_qdisc_ops; extern struct Qdisc_ops noqueue_qdisc_ops;

View File

@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/bridge/br_input.c --- a/net/bridge/br_input.c
+++ b/net/bridge/br_input.c +++ b/net/bridge/br_input.c
@@ -190,6 +190,9 @@ static void __br_handle_local_finish(str @@ -197,6 +197,9 @@ static void __br_handle_local_finish(str
/* note: already called with rcu_read_lock */ /* note: already called with rcu_read_lock */
static int br_handle_local_finish(struct net *net, struct sock *sk, struct sk_buff *skb) static int br_handle_local_finish(struct net *net, struct sock *sk, struct sk_buff *skb)
{ {
@ -25,7 +25,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
__br_handle_local_finish(skb); __br_handle_local_finish(skb);
/* return 1 to signal the okfn() was called so it's ok to use the skb */ /* return 1 to signal the okfn() was called so it's ok to use the skb */
@@ -340,6 +343,17 @@ rx_handler_result_t br_handle_frame(stru @@ -347,6 +350,17 @@ rx_handler_result_t br_handle_frame(stru
forward: forward:
switch (p->state) { switch (p->state) {

View File

@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/init/Kconfig --- a/init/Kconfig
+++ b/init/Kconfig +++ b/init/Kconfig
@@ -1280,6 +1280,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW @@ -1289,6 +1289,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
the unaligned access emulation. the unaligned access emulation.
see arch/parisc/kernel/unaligned.c for reference see arch/parisc/kernel/unaligned.c for reference

View File

@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/mtd/chips/cfi_cmdset_0002.c --- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
@@ -913,7 +913,7 @@ static int get_chip(struct map_info *map @@ -906,7 +906,7 @@ static int get_chip(struct map_info *map
return 0; return 0;
case FL_ERASING: case FL_ERASING:

View File

@ -7,7 +7,7 @@ Signed-off-by: George Kashperko <george@znau.edu.ua>
1 file changed, 1 insertion(+) 1 file changed, 1 insertion(+)
--- a/drivers/mtd/chips/cfi_cmdset_0002.c --- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
@@ -2058,6 +2058,7 @@ static int __xipram do_write_buffer(stru @@ -2051,6 +2051,7 @@ static int __xipram do_write_buffer(stru
/* Write Buffer Load */ /* Write Buffer Load */
map_write(map, CMD(0x25), cmd_adr); map_write(map, CMD(0x25), cmd_adr);

View File

@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+MODULE_ALIAS("nf-flow-table-hw"); +MODULE_ALIAS("nf-flow-table-hw");
--- a/net/netfilter/nf_tables_api.c --- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c
@@ -5748,6 +5748,13 @@ static int nf_tables_flowtable_parse_hoo @@ -5752,6 +5752,13 @@ static int nf_tables_flowtable_parse_hoo
if (err < 0) if (err < 0)
return err; return err;
@ -520,7 +520,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL); ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL);
if (!ops) if (!ops)
return -ENOMEM; return -ENOMEM;
@@ -5878,10 +5885,19 @@ static int nf_tables_newflowtable(struct @@ -5882,10 +5889,19 @@ static int nf_tables_newflowtable(struct
} }
flowtable->data.type = type; flowtable->data.type = type;
@ -540,7 +540,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK], err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK],
flowtable); flowtable);
if (err < 0) if (err < 0)
@@ -6007,7 +6023,8 @@ static int nf_tables_fill_flowtable_info @@ -6011,7 +6027,8 @@ static int nf_tables_fill_flowtable_info
nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) || nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) ||
nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) || nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) ||
nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle), nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle),

View File

@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2151,8 +2151,8 @@ static irqreturn_t mtk_handle_irq_rx(int @@ -2154,8 +2154,8 @@ static irqreturn_t mtk_handle_irq_rx(int
struct mtk_eth *eth = _eth; struct mtk_eth *eth = _eth;
if (likely(napi_schedule_prep(&eth->rx_napi))) { if (likely(napi_schedule_prep(&eth->rx_napi))) {
@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
return IRQ_HANDLED; return IRQ_HANDLED;
@@ -2163,8 +2163,8 @@ static irqreturn_t mtk_handle_irq_tx(int @@ -2166,8 +2166,8 @@ static irqreturn_t mtk_handle_irq_tx(int
struct mtk_eth *eth = _eth; struct mtk_eth *eth = _eth;
if (likely(napi_schedule_prep(&eth->tx_napi))) { if (likely(napi_schedule_prep(&eth->tx_napi))) {
@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
return IRQ_HANDLED; return IRQ_HANDLED;
@@ -3087,6 +3087,8 @@ static int mtk_probe(struct platform_dev @@ -3090,6 +3090,8 @@ static int mtk_probe(struct platform_dev
* for NAPI to work * for NAPI to work
*/ */
init_dummy_netdev(&eth->dummy_dev); init_dummy_netdev(&eth->dummy_dev);

View File

@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
--- a/drivers/net/dsa/mv88e6xxx/chip.c --- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -5081,6 +5081,7 @@ static int mv88e6xxx_register_switch(str @@ -5082,6 +5082,7 @@ static int mv88e6xxx_register_switch(str
ds->ops = &mv88e6xxx_switch_ops; ds->ops = &mv88e6xxx_switch_ops;
ds->ageing_time_min = chip->info->age_time_coeff; ds->ageing_time_min = chip->info->age_time_coeff;
ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX; ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;

View File

@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2208,7 +2208,7 @@ static int mtk_start_dma(struct mtk_eth @@ -2211,7 +2211,7 @@ static int mtk_start_dma(struct mtk_eth
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) { if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) {
mtk_w32(eth, mtk_w32(eth,
MTK_TX_WB_DDONE | MTK_TX_DMA_EN | MTK_TX_WB_DDONE | MTK_TX_DMA_EN |

View File

@ -79,7 +79,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (mtk_queue_stopped(eth) && if (mtk_queue_stopped(eth) &&
(atomic_read(&ring->free_count) > ring->thresh)) (atomic_read(&ring->free_count) > ring->thresh))
mtk_wake_queue(eth); mtk_wake_queue(eth);
@@ -2144,6 +2159,7 @@ static irqreturn_t mtk_handle_irq_rx(int @@ -2147,6 +2162,7 @@ static irqreturn_t mtk_handle_irq_rx(int
{ {
struct mtk_eth *eth = _eth; struct mtk_eth *eth = _eth;
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (likely(napi_schedule_prep(&eth->rx_napi))) { if (likely(napi_schedule_prep(&eth->rx_napi))) {
mtk_rx_irq_disable(eth, MTK_RX_DONE_INT); mtk_rx_irq_disable(eth, MTK_RX_DONE_INT);
__napi_schedule(&eth->rx_napi); __napi_schedule(&eth->rx_napi);
@@ -2156,6 +2172,7 @@ static irqreturn_t mtk_handle_irq_tx(int @@ -2159,6 +2175,7 @@ static irqreturn_t mtk_handle_irq_tx(int
{ {
struct mtk_eth *eth = _eth; struct mtk_eth *eth = _eth;
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (likely(napi_schedule_prep(&eth->tx_napi))) { if (likely(napi_schedule_prep(&eth->tx_napi))) {
mtk_tx_irq_disable(eth, MTK_TX_DONE_INT); mtk_tx_irq_disable(eth, MTK_TX_DONE_INT);
__napi_schedule(&eth->tx_napi); __napi_schedule(&eth->tx_napi);
@@ -2332,6 +2349,9 @@ static int mtk_stop(struct net_device *d @@ -2335,6 +2352,9 @@ static int mtk_stop(struct net_device *d
napi_disable(&eth->tx_napi); napi_disable(&eth->tx_napi);
napi_disable(&eth->rx_napi); napi_disable(&eth->rx_napi);
@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA))
mtk_stop_dma(eth, MTK_QDMA_GLO_CFG); mtk_stop_dma(eth, MTK_QDMA_GLO_CFG);
mtk_stop_dma(eth, MTK_PDMA_GLO_CFG); mtk_stop_dma(eth, MTK_PDMA_GLO_CFG);
@@ -2381,6 +2401,64 @@ err_disable_clks: @@ -2384,6 +2404,64 @@ err_disable_clks:
return ret; return ret;
} }
@ -170,7 +170,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static int mtk_hw_init(struct mtk_eth *eth) static int mtk_hw_init(struct mtk_eth *eth)
{ {
int i, val, ret; int i, val, ret;
@@ -2402,9 +2480,6 @@ static int mtk_hw_init(struct mtk_eth *e @@ -2405,9 +2483,6 @@ static int mtk_hw_init(struct mtk_eth *e
goto err_disable_pm; goto err_disable_pm;
} }
@ -180,7 +180,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* disable delay and normal interrupt */ /* disable delay and normal interrupt */
mtk_tx_irq_disable(eth, ~0); mtk_tx_irq_disable(eth, ~0);
mtk_rx_irq_disable(eth, ~0); mtk_rx_irq_disable(eth, ~0);
@@ -2443,11 +2518,10 @@ static int mtk_hw_init(struct mtk_eth *e @@ -2446,11 +2521,10 @@ static int mtk_hw_init(struct mtk_eth *e
/* Enable RX VLan Offloading */ /* Enable RX VLan Offloading */
mtk_w32(eth, 1, MTK_CDMP_EG_CTRL); mtk_w32(eth, 1, MTK_CDMP_EG_CTRL);
@ -194,7 +194,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
mtk_tx_irq_disable(eth, ~0); mtk_tx_irq_disable(eth, ~0);
mtk_rx_irq_disable(eth, ~0); mtk_rx_irq_disable(eth, ~0);
@@ -2948,6 +3022,13 @@ static int mtk_probe(struct platform_dev @@ -2951,6 +3025,13 @@ static int mtk_probe(struct platform_dev
spin_lock_init(&eth->page_lock); spin_lock_init(&eth->page_lock);
spin_lock_init(&eth->tx_irq_lock); spin_lock_init(&eth->tx_irq_lock);
spin_lock_init(&eth->rx_irq_lock); spin_lock_init(&eth->rx_irq_lock);

View File

@ -37,7 +37,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (unlikely(mac < 0 || mac >= MTK_MAC_COUNT || if (unlikely(mac < 0 || mac >= MTK_MAC_COUNT ||
!eth->netdev[mac])) !eth->netdev[mac]))
@@ -2268,6 +2268,9 @@ static void mtk_gdm_config(struct mtk_et @@ -2271,6 +2271,9 @@ static void mtk_gdm_config(struct mtk_et
val |= config; val |= config;

View File

@ -24,7 +24,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+mtk_eth-y := mtk_eth_soc.o mtk_sgmii.o mtk_eth_path.o mtk_ppe.o +mtk_eth-y := mtk_eth_soc.o mtk_sgmii.o mtk_eth_path.o mtk_ppe.o
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2301,12 +2301,17 @@ static int mtk_open(struct net_device *d @@ -2304,12 +2304,17 @@ static int mtk_open(struct net_device *d
/* we run 2 netdevs on the same dma ring so we only bring it up once */ /* we run 2 netdevs on the same dma ring so we only bring it up once */
if (!refcount_read(&eth->dma_refcnt)) { if (!refcount_read(&eth->dma_refcnt)) {
@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
napi_enable(&eth->tx_napi); napi_enable(&eth->tx_napi);
napi_enable(&eth->rx_napi); napi_enable(&eth->rx_napi);
@@ -2376,6 +2381,9 @@ static int mtk_stop(struct net_device *d @@ -2379,6 +2384,9 @@ static int mtk_stop(struct net_device *d
mtk_dma_free(eth); mtk_dma_free(eth);
@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
return 0; return 0;
} }
@@ -3162,6 +3170,13 @@ static int mtk_probe(struct platform_dev @@ -3165,6 +3173,13 @@ static int mtk_probe(struct platform_dev
goto err_free_dev; goto err_free_dev;
} }
@ -68,7 +68,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
for (i = 0; i < MTK_MAX_DEVS; i++) { for (i = 0; i < MTK_MAX_DEVS; i++) {
if (!eth->netdev[i]) if (!eth->netdev[i])
continue; continue;
@@ -3238,6 +3253,7 @@ static const struct mtk_soc_data mt7621_ @@ -3241,6 +3256,7 @@ static const struct mtk_soc_data mt7621_
.hw_features = MTK_HW_FEATURES, .hw_features = MTK_HW_FEATURES,
.required_clks = MT7621_CLKS_BITMAP, .required_clks = MT7621_CLKS_BITMAP,
.required_pctl = false, .required_pctl = false,
@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
}; };
static const struct mtk_soc_data mt7622_data = { static const struct mtk_soc_data mt7622_data = {
@@ -3246,6 +3262,7 @@ static const struct mtk_soc_data mt7622_ @@ -3249,6 +3265,7 @@ static const struct mtk_soc_data mt7622_
.hw_features = MTK_HW_FEATURES, .hw_features = MTK_HW_FEATURES,
.required_clks = MT7622_CLKS_BITMAP, .required_clks = MT7622_CLKS_BITMAP,
.required_pctl = false, .required_pctl = false,

View File

@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
skip_rx: skip_rx:
ring->data[idx] = new_data; ring->data[idx] = new_data;
@@ -2879,6 +2885,25 @@ static int mtk_set_rxnfc(struct net_devi @@ -2882,6 +2888,25 @@ static int mtk_set_rxnfc(struct net_devi
return ret; return ret;
} }
@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static const struct ethtool_ops mtk_ethtool_ops = { static const struct ethtool_ops mtk_ethtool_ops = {
.get_link_ksettings = mtk_get_link_ksettings, .get_link_ksettings = mtk_get_link_ksettings,
.set_link_ksettings = mtk_set_link_ksettings, .set_link_ksettings = mtk_set_link_ksettings,
@@ -2910,6 +2935,7 @@ static const struct net_device_ops mtk_n @@ -2913,6 +2938,7 @@ static const struct net_device_ops mtk_n
#ifdef CONFIG_NET_POLL_CONTROLLER #ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = mtk_poll_controller, .ndo_poll_controller = mtk_poll_controller,
#endif #endif
@ -78,7 +78,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
}; };
static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np) static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
@@ -3175,6 +3201,10 @@ static int mtk_probe(struct platform_dev @@ -3178,6 +3204,10 @@ static int mtk_probe(struct platform_dev
eth->base + MTK_ETH_PPE_BASE, 2); eth->base + MTK_ETH_PPE_BASE, 2);
if (err) if (err)
goto err_free_dev; goto err_free_dev;

View File

@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#endif /* __LINUX_USB_PCI_QUIRKS_H */ #endif /* __LINUX_USB_PCI_QUIRKS_H */
--- a/include/linux/usb/hcd.h --- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h
@@ -483,7 +483,14 @@ extern int usb_hcd_pci_probe(struct pci_ @@ -485,7 +485,14 @@ extern int usb_hcd_pci_probe(struct pci_
extern void usb_hcd_pci_remove(struct pci_dev *dev); extern void usb_hcd_pci_remove(struct pci_dev *dev);
extern void usb_hcd_pci_shutdown(struct pci_dev *dev); extern void usb_hcd_pci_shutdown(struct pci_dev *dev);

View File

@ -13,7 +13,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
--- a/init/Kconfig --- a/init/Kconfig
+++ b/init/Kconfig +++ b/init/Kconfig
@@ -1675,6 +1675,15 @@ config EMBEDDED @@ -1684,6 +1684,15 @@ config EMBEDDED
an embedded system so certain expert options are available an embedded system so certain expert options are available
for configuration. for configuration.

View File

@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static int mtk_msg_level = -1; static int mtk_msg_level = -1;
module_param_named(msg_level, mtk_msg_level, int, 0); module_param_named(msg_level, mtk_msg_level, int, 0);
@@ -3122,6 +3123,22 @@ static int mtk_probe(struct platform_device *pdev) @@ -3125,6 +3126,22 @@ static int mtk_probe(struct platform_device *pdev)
} }
} }

View File

@ -26,7 +26,7 @@ Acked-by: Stanimir Varbanov <svarbanov@mm-sol.com>
writel(PCS_DEEMPH_TX_DEEMPH_GEN1(24) | writel(PCS_DEEMPH_TX_DEEMPH_GEN1(24) |
PCS_DEEMPH_TX_DEEMPH_GEN2_3_5DB(24) | PCS_DEEMPH_TX_DEEMPH_GEN2_3_5DB(24) |
PCS_DEEMPH_TX_DEEMPH_GEN2_6DB(34), PCS_DEEMPH_TX_DEEMPH_GEN2_6DB(34),
@@ -1330,6 +1331,7 @@ err_pm_runtime_put: @@ -1329,6 +1330,7 @@ err_pm_runtime_put:
static const struct of_device_id qcom_pcie_match[] = { static const struct of_device_id qcom_pcie_match[] = {
{ .compatible = "qcom,pcie-apq8084", .data = &ops_1_0_0 }, { .compatible = "qcom,pcie-apq8084", .data = &ops_1_0_0 },
{ .compatible = "qcom,pcie-ipq8064", .data = &ops_2_1_0 }, { .compatible = "qcom,pcie-ipq8064", .data = &ops_2_1_0 },

View File

@ -1284,7 +1284,7 @@
struct fib_table *tb; struct fib_table *tb;
--- a/net/ipv6/addrconf.c --- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c
@@ -7187,3 +7187,35 @@ void addrconf_cleanup(void) @@ -7206,3 +7206,35 @@ void addrconf_cleanup(void)
destroy_workqueue(addrconf_wq); destroy_workqueue(addrconf_wq);
} }

View File

@ -101,7 +101,7 @@
--- a/net/ipv4/ip_gre.c --- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c
@@ -1298,6 +1298,7 @@ static void ipgre_tap_setup(struct net_d @@ -1297,6 +1297,7 @@ static void ipgre_tap_setup(struct net_d
dev->netdev_ops = &gre_tap_netdev_ops; dev->netdev_ops = &gre_tap_netdev_ops;
dev->priv_flags &= ~IFF_TX_SKB_SHARING; dev->priv_flags &= ~IFF_TX_SKB_SHARING;
dev->priv_flags |= IFF_LIVE_ADDR_CHANGE; dev->priv_flags |= IFF_LIVE_ADDR_CHANGE;

View File

@ -8,7 +8,7 @@
u32 limit; u32 limit;
const struct Qdisc_ops *ops; const struct Qdisc_ops *ops;
struct qdisc_size_table __rcu *stab; struct qdisc_size_table __rcu *stab;
@@ -1349,4 +1350,9 @@ static inline void skb_tc_reinsert(struc @@ -1335,4 +1336,9 @@ static inline void skb_tc_reinsert(struc
qstats_overlimit_inc(res->qstats); qstats_overlimit_inc(res->qstats);
} }

View File

@ -129,7 +129,7 @@
{ {
struct net_device *indev, *brdev = BR_INPUT_SKB_CB(skb)->brdev; struct net_device *indev, *brdev = BR_INPUT_SKB_CB(skb)->brdev;
struct net_bridge *br = netdev_priv(brdev); struct net_bridge *br = netdev_priv(brdev);
@@ -65,6 +75,7 @@ static int br_pass_frame_up(struct sk_bu @@ -72,6 +82,7 @@ static int br_pass_frame_up(struct sk_bu
dev_net(indev), NULL, skb, indev, NULL, dev_net(indev), NULL, skb, indev, NULL,
br_netif_receive_skb); br_netif_receive_skb);
} }
@ -137,7 +137,7 @@
/* note: already called with rcu_read_lock */ /* note: already called with rcu_read_lock */
int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb) int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb)
@@ -76,6 +87,11 @@ int br_handle_frame_finish(struct net *n @@ -83,6 +94,11 @@ int br_handle_frame_finish(struct net *n
bool local_rcv, mcast_hit = false; bool local_rcv, mcast_hit = false;
struct net_bridge *br; struct net_bridge *br;
u16 vid = 0; u16 vid = 0;
@ -149,7 +149,7 @@
if (!p || p->state == BR_STATE_DISABLED) if (!p || p->state == BR_STATE_DISABLED)
goto drop; goto drop;
@@ -132,6 +148,12 @@ int br_handle_frame_finish(struct net *n @@ -139,6 +155,12 @@ int br_handle_frame_finish(struct net *n
switch (pkt_type) { switch (pkt_type) {
case BR_PKT_MULTICAST: case BR_PKT_MULTICAST:
@ -162,7 +162,7 @@
mdst = br_mdb_get(br, skb, vid); mdst = br_mdb_get(br, skb, vid);
if ((mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) && if ((mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) &&
br_multicast_querier_exists(br, eth_hdr(skb))) { br_multicast_querier_exists(br, eth_hdr(skb))) {
@@ -147,7 +169,15 @@ int br_handle_frame_finish(struct net *n @@ -154,7 +176,15 @@ int br_handle_frame_finish(struct net *n
} }
break; break;
case BR_PKT_UNICAST: case BR_PKT_UNICAST:
@ -179,7 +179,7 @@
default: default:
break; break;
} }
@@ -162,12 +192,20 @@ int br_handle_frame_finish(struct net *n @@ -169,12 +199,20 @@ int br_handle_frame_finish(struct net *n
dst->used = now; dst->used = now;
br_forward(dst->dst, skb, local_rcv, false); br_forward(dst->dst, skb, local_rcv, false);
} else { } else {

View File

@ -14,7 +14,7 @@ Signed-off-by: René van Dorst <opensource@vdorst.com>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2941,6 +2941,7 @@ static const struct net_device_ops mtk_n @@ -2944,6 +2944,7 @@ static const struct net_device_ops mtk_n
static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np) static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
{ {
@ -22,7 +22,7 @@ Signed-off-by: René van Dorst <opensource@vdorst.com>
const __be32 *_id = of_get_property(np, "reg", NULL); const __be32 *_id = of_get_property(np, "reg", NULL);
struct phylink *phylink; struct phylink *phylink;
int phy_mode, id, err; int phy_mode, id, err;
@@ -3033,6 +3034,9 @@ static int mtk_add_mac(struct mtk_eth *e @@ -3036,6 +3037,9 @@ static int mtk_add_mac(struct mtk_eth *e
eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH - MTK_RX_ETH_HLEN; eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH - MTK_RX_ETH_HLEN;

View File

@ -13,7 +13,7 @@ Signed-off-by: Tianling Shen <cnsztl@gmail.com>
--- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
@@ -75,6 +75,19 @@ &emmc_phy { @@ -68,6 +68,19 @@ &emmc_phy {
status = "disabled"; status = "disabled";
}; };

View File

@ -1,6 +1,6 @@
--- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
@@ -101,6 +101,19 @@ @@ -96,6 +96,19 @@
max-link-speed = <1>; max-link-speed = <1>;
num-lanes = <1>; num-lanes = <1>;
vpcie3v3-supply = <&vcc3v3_sys>; vpcie3v3-supply = <&vcc3v3_sys>;

View File

@ -1,8 +1,8 @@
--- a/arch/arm64/boot/dts/rockchip/Makefile --- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -1,6 +1,7 @@ @@ -2,6 +2,7 @@
# SPDX-License-Identifier: GPL-2.0
dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-evb.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-evb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-doornet1.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2c.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2c.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb

View File

@ -783,7 +783,7 @@
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -2191,6 +2191,8 @@ static int stmmac_init_dma_engine(struct stmmac_priv *priv) @@ -2187,6 +2187,8 @@ static int stmmac_init_dma_engine(struct stmmac_priv *priv)
if (priv->extend_desc && (priv->mode == STMMAC_RING_MODE)) if (priv->extend_desc && (priv->mode == STMMAC_RING_MODE))
atds = 1; atds = 1;

View File

@ -9,8 +9,6 @@ Subject: [PATCH] Add support for OrangePi R1 Plus LTS
2 files changed, 45 insertions(+) 2 files changed, 45 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts create mode 100644 arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index 23373c752..552d97555 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile --- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
@ -21,9 +19,6 @@ index 23373c752..552d97555 100644
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-roc-cc.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-roc-cc.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-evb-act8846.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-evb-act8846.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts b/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts
new file mode 100644
index 000000000..c65f7c417
--- /dev/null --- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts +++ b/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts
@@ -0,0 +1,70 @@ @@ -0,0 +1,70 @@
@ -97,5 +92,3 @@ index 000000000..c65f7c417
+&lan_led { +&lan_led {
+ label = "orangepi-r1-plus-lts:green:lan"; + label = "orangepi-r1-plus-lts:green:lan";
+}; +};
--
2.25.1

View File

@ -33,21 +33,16 @@ to status_led in accordance with the board schematics.
2 files changed, 397 insertions(+) 2 files changed, 397 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3.dts create mode 100644 arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3.dts
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index 479906f3a..5f6ffb496 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile --- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -3,6 +3,7 @@ @@ -4,6 +4,7 @@
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-doornet1.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2c.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-neo3.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-neo3.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus-lts.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-roc-cc.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3.dts b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3.dts
new file mode 100644
index 000000000..1eb7fd5f7
--- /dev/null --- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3.dts +++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3.dts
@@ -0,0 +1,396 @@ @@ -0,0 +1,396 @@
@ -447,6 +442,3 @@ index 000000000..1eb7fd5f7
+ realtek,led-data = <0x87>; + realtek,led-data = <0x87>;
+ }; + };
+}; +};
--
2.34.1

View File

@ -23,7 +23,7 @@ Subject: [PATCH] net: phy: Add driver for Motorcomm YT8531(S) PHYs
/** /**
* stmmac_verify_args - verify the driver parameters. * stmmac_verify_args - verify the driver parameters.
* Description: it checks the driver parameters and set a default in case of * Description: it checks the driver parameters and set a default in case of
@@ -4431,6 +4435,74 @@ int stmmac_reinit_ringparam(struct net_device *dev, u32 rx_size, u32 tx_size) @@ -4433,6 +4437,74 @@ int stmmac_reinit_ringparam(struct net_device *dev, u32 rx_size, u32 tx_size)
return 0; return 0;
} }
@ -98,7 +98,7 @@ Subject: [PATCH] net: phy: Add driver for Motorcomm YT8531(S) PHYs
/** /**
* stmmac_dvr_probe * stmmac_dvr_probe
* @device: device pointer * @device: device pointer
@@ -4655,6 +4727,16 @@ int stmmac_dvr_probe(struct device *device, @@ -4657,6 +4729,16 @@ int stmmac_dvr_probe(struct device *device,
netdev_err(ndev, "failed to setup phy (%d)\n", ret); netdev_err(ndev, "failed to setup phy (%d)\n", ret);
goto error_phy_setup; goto error_phy_setup;
} }

View File

@ -19,7 +19,7 @@ index 8333351..d984163 100644
#include "rk3328.dtsi" #include "rk3328.dtsi"
/ { / {
@@ -56,6 +57,72 @@ @@ -58,6 +59,72 @@
enable-active-high; enable-active-high;
}; };
@ -92,7 +92,7 @@ index 8333351..d984163 100644
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>; pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>;
@@ -138,6 +205,10 @@ @@ -140,6 +207,10 @@
cpu-supply = <&vdd_arm>; cpu-supply = <&vdd_arm>;
}; };
@ -103,7 +103,7 @@ index 8333351..d984163 100644
&gmac2io { &gmac2io {
assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>; assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
assigned-clock-parents = <&gmac_clk>, <&gmac_clk>; assigned-clock-parents = <&gmac_clk>, <&gmac_clk>;
@@ -201,6 +272,7 @@ @@ -185,6 +256,7 @@
regulator-name = "vdd_log"; regulator-name = "vdd_log";
regulator-always-on; regulator-always-on;
regulator-boot-on; regulator-boot-on;
@ -111,7 +111,7 @@ index 8333351..d984163 100644
regulator-min-microvolt = <712500>; regulator-min-microvolt = <712500>;
regulator-max-microvolt = <1450000>; regulator-max-microvolt = <1450000>;
regulator-ramp-delay = <12500>; regulator-ramp-delay = <12500>;
@@ -215,6 +287,7 @@ @@ -199,6 +271,7 @@
regulator-name = "vdd_arm"; regulator-name = "vdd_arm";
regulator-always-on; regulator-always-on;
regulator-boot-on; regulator-boot-on;