kernel: bump 5.15 to 5.15.165

Removed because they are upstream:
   generic/pending-5.15/110-v6.3-0001-spidev-Add-Silicon-Labs-EM3581-device-compatible.patch
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=bff165a3993683daddf3f00563960e7675966f91

   ipq807x/patches-5.15/0004-v5.16-arm64-dts-qcom-msm8996-Move-clock-cells-to-QMP-PHY-c.patch
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=32f0e52f16d45d743b473659329f93d4a27c68bf

Manually adapted:
   bcm27xx/patches-5.15/950-0040-spi-spidev-Completely-disable-the-spidev-warning.patch
   bcm27xx/patches-5.15/950-0578-spi-spidev-Restore-loading-from-Device-Tree.patch
   generic/pending-5.15/110-v6.3-0002-spidev-Add-Silicon-Labs-SI3210-device-compatible.patch

Adapt kernel configuration for newly added option
CONFIG_ARM64_ERRATUM_3194386.

The leddev_list_lock attribute changed from rwlock_t to spinlock_t in:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=590304b798a3b89e716b6b564f8ad14bc9373d93

Link: https://github.com/openwrt/openwrt/pull/16366
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Hauke Mehrtens
2024-09-09 23:02:26 +02:00
parent cc938b18a8
commit bad01d4806
64 changed files with 297 additions and 379 deletions

View File

@@ -1,2 +1,2 @@
LINUX_VERSION-5.15 = .164 LINUX_VERSION-5.15 = .165
LINUX_KERNEL_HASH-5.15.164 = ec6098faed64b8a47ba1772e812a6eb444385f7aa3c60d3e4739ab2fd3b29186 LINUX_KERNEL_HASH-5.15.165 = a36dd3e82ceb634afded31f2656568f57c4d9c4b399859f298b18116df11c6fe

View File

@@ -804,6 +804,7 @@ define KernelPackage/mtdtests
$(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \ $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
$(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \ $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
$(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \ $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
$(LINUX_DIR)/drivers/mtd/tests/mtd_test.ko \
$(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
endef endef

View File

@@ -76,6 +76,7 @@ CONFIG_ARM64_ERRATUM_2441007=y
CONFIG_ARM64_ERRATUM_2441009=y CONFIG_ARM64_ERRATUM_2441009=y
CONFIG_ARM64_ERRATUM_2457168=y CONFIG_ARM64_ERRATUM_2457168=y
CONFIG_ARM64_ERRATUM_2658417=y CONFIG_ARM64_ERRATUM_2658417=y
CONFIG_ARM64_ERRATUM_3194386=y
CONFIG_ARM64_ERRATUM_819472=y CONFIG_ARM64_ERRATUM_819472=y
CONFIG_ARM64_ERRATUM_824069=y CONFIG_ARM64_ERRATUM_824069=y
CONFIG_ARM64_ERRATUM_826319=y CONFIG_ARM64_ERRATUM_826319=y

View File

@@ -9,7 +9,7 @@ SVN-Revision: 33385
--- a/drivers/mtd/nand/raw/Kconfig --- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig +++ b/drivers/mtd/nand/raw/Kconfig
@@ -555,4 +555,12 @@ config MTD_NAND_DISKONCHIP_BBTWRITE @@ -554,4 +554,12 @@ config MTD_NAND_DISKONCHIP_BBTWRITE
load time (assuming you build diskonchip as a module) with the module load time (assuming you build diskonchip as a module) with the module
parameter "inftl_bbt_write=1". parameter "inftl_bbt_write=1".

View File

@@ -259,7 +259,7 @@ SVN-Revision: 35130
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <linux/ipv6.h> #include <linux/ipv6.h>
#include <linux/icmpv6.h> #include <linux/icmpv6.h>
@@ -946,10 +947,10 @@ static void tcp_v6_send_response(const s @@ -943,10 +944,10 @@ static void tcp_v6_send_response(const s
topt = (__be32 *)(t1 + 1); topt = (__be32 *)(t1 + 1);
if (tsecr) { if (tsecr) {

View File

@@ -97,7 +97,7 @@ Submitted-by: Christopher Hill <ch6574@gmail.com>
obj-$(CONFIG_GPIO_RDA) += gpio-rda.o obj-$(CONFIG_GPIO_RDA) += gpio-rda.o
--- a/drivers/mtd/nand/raw/Kconfig --- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig +++ b/drivers/mtd/nand/raw/Kconfig
@@ -563,4 +563,11 @@ config MTD_NAND_AR934X @@ -562,4 +562,11 @@ config MTD_NAND_AR934X
Enables support for NAND controller on Qualcomm Atheros SoCs. Enables support for NAND controller on Qualcomm Atheros SoCs.
This controller is found on AR934x and QCA955x SoCs. This controller is found on AR934x and QCA955x SoCs.

View File

@@ -74,7 +74,7 @@ Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
obj-$(CONFIG_GPIO_RDA) += gpio-rda.o obj-$(CONFIG_GPIO_RDA) += gpio-rda.o
--- a/drivers/mtd/nand/raw/Kconfig --- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig +++ b/drivers/mtd/nand/raw/Kconfig
@@ -570,4 +570,10 @@ config MTD_NAND_RB4XX @@ -569,4 +569,10 @@ config MTD_NAND_RB4XX
Enables support for the NAND flash chip on Mikrotik Routerboard Enables support for the NAND flash chip on Mikrotik Routerboard
RB4xx series. RB4xx series.

View File

@@ -11,7 +11,7 @@ This reverts commit 83b2a8fe43bda0c11981ad6afa5dd0104d78be28.
--- a/drivers/spi/spidev.c --- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c
@@ -413,7 +413,6 @@ spidev_ioctl(struct file *filp, unsigned @@ -412,7 +412,6 @@ spidev_ioctl(struct file *filp, unsigned
else else
retval = get_user(tmp, (u32 __user *)arg); retval = get_user(tmp, (u32 __user *)arg);
if (retval == 0) { if (retval == 0) {
@@ -19,7 +19,7 @@ This reverts commit 83b2a8fe43bda0c11981ad6afa5dd0104d78be28.
u32 save = spi->mode; u32 save = spi->mode;
if (tmp & ~SPI_MODE_MASK) { if (tmp & ~SPI_MODE_MASK) {
@@ -421,10 +420,6 @@ spidev_ioctl(struct file *filp, unsigned @@ -420,10 +419,6 @@ spidev_ioctl(struct file *filp, unsigned
break; break;
} }

View File

@@ -13,12 +13,12 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/spi/spidev.c --- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c
@@ -759,7 +759,7 @@ static int spidev_probe(struct spi_devic @@ -698,7 +698,7 @@ MODULE_DEVICE_TABLE(spi, spidev_spi_ids)
* compatible string, it is a Linux implementation thing */
* rather than a description of the hardware. static int spidev_of_check(struct device *dev)
*/ {
- WARN(spi->dev.of_node && - if (device_property_match_string(dev, "compatible", "spidev") < 0)
+ WARN(0 && spi->dev.of_node && + if (1 || device_property_match_string(dev, "compatible", "spidev") < 0)
of_device_is_compatible(spi->dev.of_node, "spidev"), return 0;
"%pOF: buggy DT: spidev listed directly in DT\n", spi->dev.of_node);
dev_err(dev, "spidev listed directly in DT is not supported\n");

View File

@@ -24,4 +24,4 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
+ QUIRK_FLAG_DISABLE_AUTOSUSPEND | QUIRK_FLAG_GET_SAMPLE_RATE), + QUIRK_FLAG_DISABLE_AUTOSUSPEND | QUIRK_FLAG_GET_SAMPLE_RATE),
DEVICE_FLG(0x0b0e, 0x0349, /* Jabra 550a */ DEVICE_FLG(0x0b0e, 0x0349, /* Jabra 550a */
QUIRK_FLAG_CTL_MSG_DELAY_1M), QUIRK_FLAG_CTL_MSG_DELAY_1M),
DEVICE_FLG(0x0ecb, 0x205c, /* JBL Quantum610 Wireless */ DEVICE_FLG(0x0c45, 0x6340, /* Sonix HD USB Camera */

View File

@@ -15,11 +15,11 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/spi/spidev.c --- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c
@@ -678,6 +678,7 @@ static const struct file_operations spid @@ -677,6 +677,7 @@ static const struct file_operations spid
static struct class *spidev_class; static struct class *spidev_class;
static const struct spi_device_id spidev_spi_ids[] = { static const struct spi_device_id spidev_spi_ids[] = {
+ { .name = "spidev" }, + { .name = "spidev" },
{ .name = "bh2228fv" },
{ .name = "dh2228fv" }, { .name = "dh2228fv" },
{ .name = "ltc2488" }, { .name = "ltc2488" },
{ .name = "sx1301" },

View File

@@ -82,7 +82,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
} }
@@ -1247,9 +1284,14 @@ static const u16 bcm_sf2_4908_reg_offset @@ -1249,9 +1286,14 @@ static const u16 bcm_sf2_4908_reg_offset
[REG_SPHY_CNTRL] = 0x24, [REG_SPHY_CNTRL] = 0x24,
[REG_CROSSBAR] = 0xc8, [REG_CROSSBAR] = 0xc8,
[REG_RGMII_11_CNTRL] = 0x014c, [REG_RGMII_11_CNTRL] = 0x014c,

View File

@@ -29,7 +29,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
--- a/drivers/net/dsa/bcm_sf2.c --- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c +++ b/drivers/net/dsa/bcm_sf2.c
@@ -1548,10 +1548,14 @@ static int bcm_sf2_sw_probe(struct platf @@ -1550,10 +1550,14 @@ static int bcm_sf2_sw_probe(struct platf
rev = reg_readl(priv, REG_PHY_REVISION); rev = reg_readl(priv, REG_PHY_REVISION);
priv->hw_params.gphy_rev = rev & PHY_REVISION_MASK; priv->hw_params.gphy_rev = rev & PHY_REVISION_MASK;

View File

@@ -15,7 +15,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
--- a/drivers/net/dsa/bcm_sf2.c --- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c +++ b/drivers/net/dsa/bcm_sf2.c
@@ -1562,6 +1562,12 @@ static int bcm_sf2_sw_probe(struct platf @@ -1564,6 +1564,12 @@ static int bcm_sf2_sw_probe(struct platf
priv->hw_params.core_rev >> 8, priv->hw_params.core_rev & 0xff, priv->hw_params.core_rev >> 8, priv->hw_params.core_rev & 0xff,
priv->irq0, priv->irq1); priv->irq0, priv->irq1);

View File

@@ -414,7 +414,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
/* forking complete and child started to run, tell ptracer */ /* forking complete and child started to run, tell ptracer */
--- a/kernel/sched/core.c --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -5014,6 +5014,7 @@ context_switch(struct rq *rq, struct tas @@ -5011,6 +5011,7 @@ context_switch(struct rq *rq, struct tas
* finish_task_switch()'s mmdrop(). * finish_task_switch()'s mmdrop().
*/ */
switch_mm_irqs_off(prev->active_mm, next->mm, next); switch_mm_irqs_off(prev->active_mm, next->mm, next);

View File

@@ -48,7 +48,7 @@ Signed-off-by: Alexei Starovoitov <ast@kernel.org>
int xdp_rxq_info_reg(struct xdp_rxq_info *xdp_rxq, int xdp_rxq_info_reg(struct xdp_rxq_info *xdp_rxq,
--- a/net/core/xdp.c --- a/net/core/xdp.c
+++ b/net/core/xdp.c +++ b/net/core/xdp.c
@@ -407,12 +407,38 @@ static void __xdp_return(void *data, str @@ -405,12 +405,38 @@ static void __xdp_return(void *data, str
void xdp_return_frame(struct xdp_frame *xdpf) void xdp_return_frame(struct xdp_frame *xdpf)
{ {
@@ -87,7 +87,7 @@ Signed-off-by: Alexei Starovoitov <ast@kernel.org>
__xdp_return(xdpf->data, &xdpf->mem, true, NULL); __xdp_return(xdpf->data, &xdpf->mem, true, NULL);
} }
EXPORT_SYMBOL_GPL(xdp_return_frame_rx_napi); EXPORT_SYMBOL_GPL(xdp_return_frame_rx_napi);
@@ -448,7 +474,7 @@ void xdp_return_frame_bulk(struct xdp_fr @@ -446,7 +472,7 @@ void xdp_return_frame_bulk(struct xdp_fr
struct xdp_mem_allocator *xa; struct xdp_mem_allocator *xa;
if (mem->type != MEM_TYPE_PAGE_POOL) { if (mem->type != MEM_TYPE_PAGE_POOL) {
@@ -96,7 +96,7 @@ Signed-off-by: Alexei Starovoitov <ast@kernel.org>
return; return;
} }
@@ -467,12 +493,38 @@ void xdp_return_frame_bulk(struct xdp_fr @@ -465,12 +491,38 @@ void xdp_return_frame_bulk(struct xdp_fr
bq->xa = rhashtable_lookup(mem_id_ht, &mem->id, mem_id_rht_params); bq->xa = rhashtable_lookup(mem_id_ht, &mem->id, mem_id_rht_params);
} }

View File

@@ -304,7 +304,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
} }
--- a/drivers/net/dsa/bcm_sf2.c --- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c +++ b/drivers/net/dsa/bcm_sf2.c
@@ -692,7 +692,7 @@ static void bcm_sf2_sw_validate(struct d @@ -694,7 +694,7 @@ static void bcm_sf2_sw_validate(struct d
state->interface != PHY_INTERFACE_MODE_GMII && state->interface != PHY_INTERFACE_MODE_GMII &&
state->interface != PHY_INTERFACE_MODE_INTERNAL && state->interface != PHY_INTERFACE_MODE_INTERNAL &&
state->interface != PHY_INTERFACE_MODE_MOCA) { state->interface != PHY_INTERFACE_MODE_MOCA) {
@@ -313,7 +313,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (port != core_readl(priv, CORE_IMP0_PRT_ID)) if (port != core_readl(priv, CORE_IMP0_PRT_ID))
dev_err(ds->dev, dev_err(ds->dev,
"Unsupported interface: %d for port %d\n", "Unsupported interface: %d for port %d\n",
@@ -720,10 +720,8 @@ static void bcm_sf2_sw_validate(struct d @@ -722,10 +722,8 @@ static void bcm_sf2_sw_validate(struct d
phylink_set(mask, 100baseT_Half); phylink_set(mask, 100baseT_Half);
phylink_set(mask, 100baseT_Full); phylink_set(mask, 100baseT_Full);

View File

@@ -22,7 +22,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/dsa/b53/b53_common.c --- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c
@@ -2300,7 +2300,7 @@ static const struct b53_chip_data b53_sw @@ -2303,7 +2303,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM5325_DEVICE_ID, .chip_id = BCM5325_DEVICE_ID,
.dev_name = "BCM5325", .dev_name = "BCM5325",
.vlans = 16, .vlans = 16,
@@ -31,7 +31,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.arl_bins = 2, .arl_bins = 2,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 5, .imp_port = 5,
@@ -2311,7 +2311,7 @@ static const struct b53_chip_data b53_sw @@ -2314,7 +2314,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM5365_DEVICE_ID, .chip_id = BCM5365_DEVICE_ID,
.dev_name = "BCM5365", .dev_name = "BCM5365",
.vlans = 256, .vlans = 256,
@@ -40,7 +40,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.arl_bins = 2, .arl_bins = 2,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 5, .imp_port = 5,
@@ -2322,7 +2322,7 @@ static const struct b53_chip_data b53_sw @@ -2325,7 +2325,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM5389_DEVICE_ID, .chip_id = BCM5389_DEVICE_ID,
.dev_name = "BCM5389", .dev_name = "BCM5389",
.vlans = 4096, .vlans = 4096,
@@ -49,7 +49,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -2336,7 +2336,7 @@ static const struct b53_chip_data b53_sw @@ -2339,7 +2339,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM5395_DEVICE_ID, .chip_id = BCM5395_DEVICE_ID,
.dev_name = "BCM5395", .dev_name = "BCM5395",
.vlans = 4096, .vlans = 4096,
@@ -58,7 +58,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -2350,7 +2350,7 @@ static const struct b53_chip_data b53_sw @@ -2353,7 +2353,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM5397_DEVICE_ID, .chip_id = BCM5397_DEVICE_ID,
.dev_name = "BCM5397", .dev_name = "BCM5397",
.vlans = 4096, .vlans = 4096,
@@ -67,7 +67,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -2364,7 +2364,7 @@ static const struct b53_chip_data b53_sw @@ -2367,7 +2367,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM5398_DEVICE_ID, .chip_id = BCM5398_DEVICE_ID,
.dev_name = "BCM5398", .dev_name = "BCM5398",
.vlans = 4096, .vlans = 4096,
@@ -76,7 +76,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -2378,7 +2378,7 @@ static const struct b53_chip_data b53_sw @@ -2381,7 +2381,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM53115_DEVICE_ID, .chip_id = BCM53115_DEVICE_ID,
.dev_name = "BCM53115", .dev_name = "BCM53115",
.vlans = 4096, .vlans = 4096,
@@ -85,7 +85,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.vta_regs = B53_VTA_REGS, .vta_regs = B53_VTA_REGS,
@@ -2392,7 +2392,7 @@ static const struct b53_chip_data b53_sw @@ -2395,7 +2395,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM53125_DEVICE_ID, .chip_id = BCM53125_DEVICE_ID,
.dev_name = "BCM53125", .dev_name = "BCM53125",
.vlans = 4096, .vlans = 4096,
@@ -94,7 +94,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -2434,7 +2434,7 @@ static const struct b53_chip_data b53_sw @@ -2437,7 +2437,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM53010_DEVICE_ID, .chip_id = BCM53010_DEVICE_ID,
.dev_name = "BCM53010", .dev_name = "BCM53010",
.vlans = 4096, .vlans = 4096,
@@ -103,7 +103,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -2476,7 +2476,7 @@ static const struct b53_chip_data b53_sw @@ -2479,7 +2479,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM53018_DEVICE_ID, .chip_id = BCM53018_DEVICE_ID,
.dev_name = "BCM53018", .dev_name = "BCM53018",
.vlans = 4096, .vlans = 4096,
@@ -112,7 +112,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -2490,7 +2490,7 @@ static const struct b53_chip_data b53_sw @@ -2493,7 +2493,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM53019_DEVICE_ID, .chip_id = BCM53019_DEVICE_ID,
.dev_name = "BCM53019", .dev_name = "BCM53019",
.vlans = 4096, .vlans = 4096,
@@ -121,7 +121,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -2632,7 +2632,6 @@ static int b53_switch_init(struct b53_de @@ -2635,7 +2635,6 @@ static int b53_switch_init(struct b53_de
dev->cpu_port = 5; dev->cpu_port = 5;
} }

View File

@@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/dsa/b53/b53_common.c --- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c
@@ -2298,7 +2298,6 @@ static const struct b53_chip_data b53_sw @@ -2301,7 +2301,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 2, .arl_bins = 2,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 5, .imp_port = 5,
@@ -27,7 +27,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.duplex_reg = B53_DUPLEX_STAT_FE, .duplex_reg = B53_DUPLEX_STAT_FE,
}, },
{ {
@@ -2309,7 +2308,6 @@ static const struct b53_chip_data b53_sw @@ -2312,7 +2311,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 2, .arl_bins = 2,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 5, .imp_port = 5,
@@ -35,7 +35,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.duplex_reg = B53_DUPLEX_STAT_FE, .duplex_reg = B53_DUPLEX_STAT_FE,
}, },
{ {
@@ -2320,7 +2318,6 @@ static const struct b53_chip_data b53_sw @@ -2323,7 +2321,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -43,7 +43,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.vta_regs = B53_VTA_REGS, .vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE, .duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
@@ -2334,7 +2331,6 @@ static const struct b53_chip_data b53_sw @@ -2337,7 +2334,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -51,7 +51,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.vta_regs = B53_VTA_REGS, .vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE, .duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
@@ -2348,7 +2344,6 @@ static const struct b53_chip_data b53_sw @@ -2351,7 +2347,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -59,7 +59,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.vta_regs = B53_VTA_REGS_9798, .vta_regs = B53_VTA_REGS_9798,
.duplex_reg = B53_DUPLEX_STAT_GE, .duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
@@ -2362,7 +2357,6 @@ static const struct b53_chip_data b53_sw @@ -2365,7 +2360,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -67,7 +67,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.vta_regs = B53_VTA_REGS_9798, .vta_regs = B53_VTA_REGS_9798,
.duplex_reg = B53_DUPLEX_STAT_GE, .duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
@@ -2377,7 +2371,6 @@ static const struct b53_chip_data b53_sw @@ -2380,7 +2374,6 @@ static const struct b53_chip_data b53_sw
.arl_buckets = 1024, .arl_buckets = 1024,
.vta_regs = B53_VTA_REGS, .vta_regs = B53_VTA_REGS,
.imp_port = 8, .imp_port = 8,
@@ -75,7 +75,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.duplex_reg = B53_DUPLEX_STAT_GE, .duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
.jumbo_size_reg = B53_JUMBO_MAX_SIZE, .jumbo_size_reg = B53_JUMBO_MAX_SIZE,
@@ -2390,7 +2383,6 @@ static const struct b53_chip_data b53_sw @@ -2393,7 +2386,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -83,7 +83,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.vta_regs = B53_VTA_REGS, .vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE, .duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
@@ -2404,7 +2396,6 @@ static const struct b53_chip_data b53_sw @@ -2407,7 +2399,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -91,7 +91,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.vta_regs = B53_VTA_REGS, .vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE, .duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
@@ -2418,7 +2409,6 @@ static const struct b53_chip_data b53_sw @@ -2421,7 +2412,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -99,7 +99,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.vta_regs = B53_VTA_REGS_63XX, .vta_regs = B53_VTA_REGS_63XX,
.duplex_reg = B53_DUPLEX_STAT_63XX, .duplex_reg = B53_DUPLEX_STAT_63XX,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK_63XX, .jumbo_pm_reg = B53_JUMBO_PORT_MASK_63XX,
@@ -2432,7 +2422,6 @@ static const struct b53_chip_data b53_sw @@ -2435,7 +2425,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -107,7 +107,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.vta_regs = B53_VTA_REGS, .vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE, .duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
@@ -2446,7 +2435,6 @@ static const struct b53_chip_data b53_sw @@ -2449,7 +2438,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -115,7 +115,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.vta_regs = B53_VTA_REGS, .vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE, .duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
@@ -2460,7 +2448,6 @@ static const struct b53_chip_data b53_sw @@ -2463,7 +2451,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -123,7 +123,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.vta_regs = B53_VTA_REGS, .vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE, .duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
@@ -2474,7 +2461,6 @@ static const struct b53_chip_data b53_sw @@ -2477,7 +2464,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -131,7 +131,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.vta_regs = B53_VTA_REGS, .vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE, .duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
@@ -2488,7 +2474,6 @@ static const struct b53_chip_data b53_sw @@ -2491,7 +2477,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -139,7 +139,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.vta_regs = B53_VTA_REGS, .vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE, .duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
@@ -2502,7 +2487,6 @@ static const struct b53_chip_data b53_sw @@ -2505,7 +2490,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -147,7 +147,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.vta_regs = B53_VTA_REGS, .vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE, .duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
@@ -2516,7 +2500,6 @@ static const struct b53_chip_data b53_sw @@ -2519,7 +2503,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -155,7 +155,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.vta_regs = B53_VTA_REGS, .vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE, .duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
@@ -2545,7 +2528,6 @@ static const struct b53_chip_data b53_sw @@ -2548,7 +2531,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 1024, .arl_buckets = 1024,
.imp_port = 8, .imp_port = 8,
@@ -163,7 +163,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.vta_regs = B53_VTA_REGS, .vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE, .duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
@@ -2559,7 +2541,6 @@ static const struct b53_chip_data b53_sw @@ -2562,7 +2544,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4, .arl_bins = 4,
.arl_buckets = 256, .arl_buckets = 256,
.imp_port = 8, .imp_port = 8,
@@ -171,7 +171,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.vta_regs = B53_VTA_REGS, .vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE, .duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
@@ -2585,7 +2566,6 @@ static int b53_switch_init(struct b53_de @@ -2588,7 +2569,6 @@ static int b53_switch_init(struct b53_de
dev->vta_regs[2] = chip->vta_regs[2]; dev->vta_regs[2] = chip->vta_regs[2];
dev->jumbo_pm_reg = chip->jumbo_pm_reg; dev->jumbo_pm_reg = chip->jumbo_pm_reg;
dev->imp_port = chip->imp_port; dev->imp_port = chip->imp_port;
@@ -179,7 +179,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
dev->num_vlans = chip->vlans; dev->num_vlans = chip->vlans;
dev->num_arl_bins = chip->arl_bins; dev->num_arl_bins = chip->arl_bins;
dev->num_arl_buckets = chip->arl_buckets; dev->num_arl_buckets = chip->arl_buckets;
@@ -2617,13 +2597,6 @@ static int b53_switch_init(struct b53_de @@ -2620,13 +2600,6 @@ static int b53_switch_init(struct b53_de
break; break;
#endif #endif
} }

View File

@@ -27,7 +27,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
static void stmmac_tx_timer_arm(struct stmmac_priv *priv, u32 queue); static void stmmac_tx_timer_arm(struct stmmac_priv *priv, u32 queue);
static void stmmac_flush_tx_descriptors(struct stmmac_priv *priv, int queue); static void stmmac_flush_tx_descriptors(struct stmmac_priv *priv, int queue);
@@ -1713,9 +1716,6 @@ static int __init_dma_rx_desc_rings(stru @@ -1715,9 +1718,6 @@ static int __init_dma_rx_desc_rings(stru
return -ENOMEM; return -ENOMEM;
} }
@@ -37,7 +37,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Setup the chained descriptor addresses */ /* Setup the chained descriptor addresses */
if (priv->mode == STMMAC_CHAIN_MODE) { if (priv->mode == STMMAC_CHAIN_MODE) {
if (priv->extend_desc) if (priv->extend_desc)
@@ -1821,12 +1821,6 @@ static int __init_dma_tx_desc_rings(stru @@ -1823,12 +1823,6 @@ static int __init_dma_tx_desc_rings(stru
tx_q->tx_skbuff[i] = NULL; tx_q->tx_skbuff[i] = NULL;
} }
@@ -50,7 +50,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
return 0; return 0;
} }
@@ -2695,10 +2689,7 @@ static void stmmac_tx_err(struct stmmac_ @@ -2697,10 +2691,7 @@ static void stmmac_tx_err(struct stmmac_
stmmac_stop_tx_dma(priv, chan); stmmac_stop_tx_dma(priv, chan);
dma_free_tx_skbufs(priv, chan); dma_free_tx_skbufs(priv, chan);
stmmac_clear_tx_descriptors(priv, chan); stmmac_clear_tx_descriptors(priv, chan);
@@ -62,7 +62,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
tx_q->dma_tx_phy, chan); tx_q->dma_tx_phy, chan);
stmmac_start_tx_dma(priv, chan); stmmac_start_tx_dma(priv, chan);
@@ -3783,6 +3774,8 @@ static int stmmac_open(struct net_device @@ -3785,6 +3776,8 @@ static int stmmac_open(struct net_device
} }
} }
@@ -71,7 +71,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
ret = stmmac_hw_setup(dev, true); ret = stmmac_hw_setup(dev, true);
if (ret < 0) { if (ret < 0) {
netdev_err(priv->dev, "%s: Hw setup failed\n", __func__); netdev_err(priv->dev, "%s: Hw setup failed\n", __func__);
@@ -6412,6 +6405,7 @@ void stmmac_enable_rx_queue(struct stmma @@ -6414,6 +6407,7 @@ void stmmac_enable_rx_queue(struct stmma
return; return;
} }
@@ -79,7 +79,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_clear_rx_descriptors(priv, queue); stmmac_clear_rx_descriptors(priv, queue);
stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
@@ -6473,6 +6467,7 @@ void stmmac_enable_tx_queue(struct stmma @@ -6475,6 +6469,7 @@ void stmmac_enable_tx_queue(struct stmma
return; return;
} }
@@ -87,7 +87,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_clear_tx_descriptors(priv, queue); stmmac_clear_tx_descriptors(priv, queue);
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
@@ -7400,6 +7395,25 @@ int stmmac_suspend(struct device *dev) @@ -7402,6 +7397,25 @@ int stmmac_suspend(struct device *dev)
} }
EXPORT_SYMBOL_GPL(stmmac_suspend); EXPORT_SYMBOL_GPL(stmmac_suspend);
@@ -113,7 +113,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/** /**
* stmmac_reset_queues_param - reset queue parameters * stmmac_reset_queues_param - reset queue parameters
* @priv: device pointer * @priv: device pointer
@@ -7410,22 +7424,11 @@ static void stmmac_reset_queues_param(st @@ -7412,22 +7426,11 @@ static void stmmac_reset_queues_param(st
u32 tx_cnt = priv->plat->tx_queues_to_use; u32 tx_cnt = priv->plat->tx_queues_to_use;
u32 queue; u32 queue;

View File

@@ -17,7 +17,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- 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
@@ -3837,8 +3837,6 @@ static int stmmac_release(struct net_dev @@ -3839,8 +3839,6 @@ static int stmmac_release(struct net_dev
struct stmmac_priv *priv = netdev_priv(dev); struct stmmac_priv *priv = netdev_priv(dev);
u32 chan; u32 chan;
@@ -26,7 +26,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (device_may_wakeup(priv->device)) if (device_may_wakeup(priv->device))
phylink_speed_down(priv->phylink, false); phylink_speed_down(priv->phylink, false);
/* Stop and disconnect the PHY */ /* Stop and disconnect the PHY */
@@ -3850,6 +3848,8 @@ static int stmmac_release(struct net_dev @@ -3852,6 +3850,8 @@ static int stmmac_release(struct net_dev
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
hrtimer_cancel(&priv->tx_queue[chan].txtimer); hrtimer_cancel(&priv->tx_queue[chan].txtimer);

View File

@@ -189,7 +189,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (tx_q->dirty_tx != tx_q->cur_tx) if (tx_q->dirty_tx != tx_q->cur_tx)
return -EBUSY; /* still unfinished work */ return -EBUSY; /* still unfinished work */
@@ -1310,7 +1310,7 @@ static void stmmac_display_rx_rings(stru @@ -1312,7 +1312,7 @@ static void stmmac_display_rx_rings(stru
/* Display RX rings */ /* Display RX rings */
for (queue = 0; queue < rx_cnt; queue++) { for (queue = 0; queue < rx_cnt; queue++) {
@@ -198,7 +198,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
pr_info("\tRX Queue %u rings\n", queue); pr_info("\tRX Queue %u rings\n", queue);
@@ -1323,7 +1323,7 @@ static void stmmac_display_rx_rings(stru @@ -1325,7 +1325,7 @@ static void stmmac_display_rx_rings(stru
} }
/* Display RX ring */ /* Display RX ring */
@@ -207,7 +207,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
rx_q->dma_rx_phy, desc_size); rx_q->dma_rx_phy, desc_size);
} }
} }
@@ -1337,7 +1337,7 @@ static void stmmac_display_tx_rings(stru @@ -1339,7 +1339,7 @@ static void stmmac_display_tx_rings(stru
/* Display TX rings */ /* Display TX rings */
for (queue = 0; queue < tx_cnt; queue++) { for (queue = 0; queue < tx_cnt; queue++) {
@@ -216,7 +216,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
pr_info("\tTX Queue %d rings\n", queue); pr_info("\tTX Queue %d rings\n", queue);
@@ -1352,7 +1352,7 @@ static void stmmac_display_tx_rings(stru @@ -1354,7 +1354,7 @@ static void stmmac_display_tx_rings(stru
desc_size = sizeof(struct dma_desc); desc_size = sizeof(struct dma_desc);
} }
@@ -225,7 +225,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tx_q->dma_tx_phy, desc_size); tx_q->dma_tx_phy, desc_size);
} }
} }
@@ -1393,21 +1393,21 @@ static int stmmac_set_bfsize(int mtu, in @@ -1395,21 +1395,21 @@ static int stmmac_set_bfsize(int mtu, in
*/ */
static void stmmac_clear_rx_descriptors(struct stmmac_priv *priv, u32 queue) static void stmmac_clear_rx_descriptors(struct stmmac_priv *priv, u32 queue)
{ {
@@ -253,7 +253,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
/** /**
@@ -1419,12 +1419,12 @@ static void stmmac_clear_rx_descriptors( @@ -1421,12 +1421,12 @@ static void stmmac_clear_rx_descriptors(
*/ */
static void stmmac_clear_tx_descriptors(struct stmmac_priv *priv, u32 queue) static void stmmac_clear_tx_descriptors(struct stmmac_priv *priv, u32 queue)
{ {
@@ -269,7 +269,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct dma_desc *p; struct dma_desc *p;
if (priv->extend_desc) if (priv->extend_desc)
@@ -1472,7 +1472,7 @@ static void stmmac_clear_descriptors(str @@ -1474,7 +1474,7 @@ static void stmmac_clear_descriptors(str
static int stmmac_init_rx_buffers(struct stmmac_priv *priv, struct dma_desc *p, static int stmmac_init_rx_buffers(struct stmmac_priv *priv, struct dma_desc *p,
int i, gfp_t flags, u32 queue) int i, gfp_t flags, u32 queue)
{ {
@@ -278,7 +278,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i]; struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i];
if (!buf->page) { if (!buf->page) {
@@ -1497,7 +1497,7 @@ static int stmmac_init_rx_buffers(struct @@ -1499,7 +1499,7 @@ static int stmmac_init_rx_buffers(struct
buf->addr = page_pool_get_dma_addr(buf->page) + buf->page_offset; buf->addr = page_pool_get_dma_addr(buf->page) + buf->page_offset;
stmmac_set_desc_addr(priv, p, buf->addr); stmmac_set_desc_addr(priv, p, buf->addr);
@@ -287,7 +287,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_init_desc3(priv, p); stmmac_init_desc3(priv, p);
return 0; return 0;
@@ -1511,7 +1511,7 @@ static int stmmac_init_rx_buffers(struct @@ -1513,7 +1513,7 @@ static int stmmac_init_rx_buffers(struct
*/ */
static void stmmac_free_rx_buffer(struct stmmac_priv *priv, u32 queue, int i) static void stmmac_free_rx_buffer(struct stmmac_priv *priv, u32 queue, int i)
{ {
@@ -296,7 +296,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i]; struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i];
if (buf->page) if (buf->page)
@@ -1531,7 +1531,7 @@ static void stmmac_free_rx_buffer(struct @@ -1533,7 +1533,7 @@ static void stmmac_free_rx_buffer(struct
*/ */
static void stmmac_free_tx_buffer(struct stmmac_priv *priv, u32 queue, int i) static void stmmac_free_tx_buffer(struct stmmac_priv *priv, u32 queue, int i)
{ {
@@ -305,7 +305,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (tx_q->tx_skbuff_dma[i].buf && if (tx_q->tx_skbuff_dma[i].buf &&
tx_q->tx_skbuff_dma[i].buf_type != STMMAC_TXBUF_T_XDP_TX) { tx_q->tx_skbuff_dma[i].buf_type != STMMAC_TXBUF_T_XDP_TX) {
@@ -1576,17 +1576,17 @@ static void dma_free_rx_skbufs(struct st @@ -1578,17 +1578,17 @@ static void dma_free_rx_skbufs(struct st
{ {
int i; int i;
@@ -326,7 +326,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct dma_desc *p; struct dma_desc *p;
int ret; int ret;
@@ -1613,10 +1613,10 @@ static int stmmac_alloc_rx_buffers(struc @@ -1615,10 +1615,10 @@ static int stmmac_alloc_rx_buffers(struc
*/ */
static void dma_free_rx_xskbufs(struct stmmac_priv *priv, u32 queue) static void dma_free_rx_xskbufs(struct stmmac_priv *priv, u32 queue)
{ {
@@ -339,7 +339,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i]; struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i];
if (!buf->xdp) if (!buf->xdp)
@@ -1629,10 +1629,10 @@ static void dma_free_rx_xskbufs(struct s @@ -1631,10 +1631,10 @@ static void dma_free_rx_xskbufs(struct s
static int stmmac_alloc_rx_buffers_zc(struct stmmac_priv *priv, u32 queue) static int stmmac_alloc_rx_buffers_zc(struct stmmac_priv *priv, u32 queue)
{ {
@@ -352,7 +352,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct stmmac_rx_buffer *buf; struct stmmac_rx_buffer *buf;
dma_addr_t dma_addr; dma_addr_t dma_addr;
struct dma_desc *p; struct dma_desc *p;
@@ -1675,7 +1675,7 @@ static struct xsk_buff_pool *stmmac_get_ @@ -1677,7 +1677,7 @@ static struct xsk_buff_pool *stmmac_get_
*/ */
static int __init_dma_rx_desc_rings(struct stmmac_priv *priv, u32 queue, gfp_t flags) static int __init_dma_rx_desc_rings(struct stmmac_priv *priv, u32 queue, gfp_t flags)
{ {
@@ -361,7 +361,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
int ret; int ret;
netif_dbg(priv, probe, priv->dev, netif_dbg(priv, probe, priv->dev,
@@ -1721,11 +1721,11 @@ static int __init_dma_rx_desc_rings(stru @@ -1723,11 +1723,11 @@ static int __init_dma_rx_desc_rings(stru
if (priv->extend_desc) if (priv->extend_desc)
stmmac_mode_init(priv, rx_q->dma_erx, stmmac_mode_init(priv, rx_q->dma_erx,
rx_q->dma_rx_phy, rx_q->dma_rx_phy,
@@ -375,7 +375,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
return 0; return 0;
@@ -1752,7 +1752,7 @@ static int init_dma_rx_desc_rings(struct @@ -1754,7 +1754,7 @@ static int init_dma_rx_desc_rings(struct
err_init_rx_buffers: err_init_rx_buffers:
while (queue >= 0) { while (queue >= 0) {
@@ -384,7 +384,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (rx_q->xsk_pool) if (rx_q->xsk_pool)
dma_free_rx_xskbufs(priv, queue); dma_free_rx_xskbufs(priv, queue);
@@ -1781,7 +1781,7 @@ err_init_rx_buffers: @@ -1783,7 +1783,7 @@ err_init_rx_buffers:
*/ */
static int __init_dma_tx_desc_rings(struct stmmac_priv *priv, u32 queue) static int __init_dma_tx_desc_rings(struct stmmac_priv *priv, u32 queue)
{ {
@@ -393,7 +393,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
int i; int i;
netif_dbg(priv, probe, priv->dev, netif_dbg(priv, probe, priv->dev,
@@ -1793,16 +1793,16 @@ static int __init_dma_tx_desc_rings(stru @@ -1795,16 +1795,16 @@ static int __init_dma_tx_desc_rings(stru
if (priv->extend_desc) if (priv->extend_desc)
stmmac_mode_init(priv, tx_q->dma_etx, stmmac_mode_init(priv, tx_q->dma_etx,
tx_q->dma_tx_phy, tx_q->dma_tx_phy,
@@ -413,7 +413,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct dma_desc *p; struct dma_desc *p;
if (priv->extend_desc) if (priv->extend_desc)
@@ -1872,12 +1872,12 @@ static int init_dma_desc_rings(struct ne @@ -1874,12 +1874,12 @@ static int init_dma_desc_rings(struct ne
*/ */
static void dma_free_tx_skbufs(struct stmmac_priv *priv, u32 queue) static void dma_free_tx_skbufs(struct stmmac_priv *priv, u32 queue)
{ {
@@ -428,7 +428,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_free_tx_buffer(priv, queue, i); stmmac_free_tx_buffer(priv, queue, i);
if (tx_q->xsk_pool && tx_q->xsk_frames_done) { if (tx_q->xsk_pool && tx_q->xsk_frames_done) {
@@ -1907,7 +1907,7 @@ static void stmmac_free_tx_skbufs(struct @@ -1909,7 +1909,7 @@ static void stmmac_free_tx_skbufs(struct
*/ */
static void __free_dma_rx_desc_resources(struct stmmac_priv *priv, u32 queue) static void __free_dma_rx_desc_resources(struct stmmac_priv *priv, u32 queue)
{ {
@@ -437,7 +437,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Release the DMA RX socket buffers */ /* Release the DMA RX socket buffers */
if (rx_q->xsk_pool) if (rx_q->xsk_pool)
@@ -1920,11 +1920,11 @@ static void __free_dma_rx_desc_resources @@ -1922,11 +1922,11 @@ static void __free_dma_rx_desc_resources
/* Free DMA regions of consistent memory previously allocated */ /* Free DMA regions of consistent memory previously allocated */
if (!priv->extend_desc) if (!priv->extend_desc)
@@ -451,7 +451,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
sizeof(struct dma_extended_desc), sizeof(struct dma_extended_desc),
rx_q->dma_erx, rx_q->dma_rx_phy); rx_q->dma_erx, rx_q->dma_rx_phy);
@@ -1953,7 +1953,7 @@ static void free_dma_rx_desc_resources(s @@ -1955,7 +1955,7 @@ static void free_dma_rx_desc_resources(s
*/ */
static void __free_dma_tx_desc_resources(struct stmmac_priv *priv, u32 queue) static void __free_dma_tx_desc_resources(struct stmmac_priv *priv, u32 queue)
{ {
@@ -460,7 +460,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
size_t size; size_t size;
void *addr; void *addr;
@@ -1971,7 +1971,7 @@ static void __free_dma_tx_desc_resources @@ -1973,7 +1973,7 @@ static void __free_dma_tx_desc_resources
addr = tx_q->dma_tx; addr = tx_q->dma_tx;
} }
@@ -469,7 +469,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
dma_free_coherent(priv->device, size, addr, tx_q->dma_tx_phy); dma_free_coherent(priv->device, size, addr, tx_q->dma_tx_phy);
@@ -2000,7 +2000,7 @@ static void free_dma_tx_desc_resources(s @@ -2002,7 +2002,7 @@ static void free_dma_tx_desc_resources(s
*/ */
static int __alloc_dma_rx_desc_resources(struct stmmac_priv *priv, u32 queue) static int __alloc_dma_rx_desc_resources(struct stmmac_priv *priv, u32 queue)
{ {
@@ -478,7 +478,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct stmmac_channel *ch = &priv->channel[queue]; struct stmmac_channel *ch = &priv->channel[queue];
bool xdp_prog = stmmac_xdp_is_enabled(priv); bool xdp_prog = stmmac_xdp_is_enabled(priv);
struct page_pool_params pp_params = { 0 }; struct page_pool_params pp_params = { 0 };
@@ -2012,8 +2012,8 @@ static int __alloc_dma_rx_desc_resources @@ -2014,8 +2014,8 @@ static int __alloc_dma_rx_desc_resources
rx_q->priv_data = priv; rx_q->priv_data = priv;
pp_params.flags = PP_FLAG_DMA_MAP | PP_FLAG_DMA_SYNC_DEV; pp_params.flags = PP_FLAG_DMA_MAP | PP_FLAG_DMA_SYNC_DEV;
@@ -489,7 +489,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
pp_params.order = ilog2(num_pages); pp_params.order = ilog2(num_pages);
pp_params.nid = dev_to_node(priv->device); pp_params.nid = dev_to_node(priv->device);
pp_params.dev = priv->device; pp_params.dev = priv->device;
@@ -2028,7 +2028,7 @@ static int __alloc_dma_rx_desc_resources @@ -2030,7 +2030,7 @@ static int __alloc_dma_rx_desc_resources
return ret; return ret;
} }
@@ -498,7 +498,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
sizeof(*rx_q->buf_pool), sizeof(*rx_q->buf_pool),
GFP_KERNEL); GFP_KERNEL);
if (!rx_q->buf_pool) if (!rx_q->buf_pool)
@@ -2036,7 +2036,7 @@ static int __alloc_dma_rx_desc_resources @@ -2038,7 +2038,7 @@ static int __alloc_dma_rx_desc_resources
if (priv->extend_desc) { if (priv->extend_desc) {
rx_q->dma_erx = dma_alloc_coherent(priv->device, rx_q->dma_erx = dma_alloc_coherent(priv->device,
@@ -507,7 +507,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
sizeof(struct dma_extended_desc), sizeof(struct dma_extended_desc),
&rx_q->dma_rx_phy, &rx_q->dma_rx_phy,
GFP_KERNEL); GFP_KERNEL);
@@ -2045,7 +2045,7 @@ static int __alloc_dma_rx_desc_resources @@ -2047,7 +2047,7 @@ static int __alloc_dma_rx_desc_resources
} else { } else {
rx_q->dma_rx = dma_alloc_coherent(priv->device, rx_q->dma_rx = dma_alloc_coherent(priv->device,
@@ -516,7 +516,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
sizeof(struct dma_desc), sizeof(struct dma_desc),
&rx_q->dma_rx_phy, &rx_q->dma_rx_phy,
GFP_KERNEL); GFP_KERNEL);
@@ -2102,20 +2102,20 @@ err_dma: @@ -2104,20 +2104,20 @@ err_dma:
*/ */
static int __alloc_dma_tx_desc_resources(struct stmmac_priv *priv, u32 queue) static int __alloc_dma_tx_desc_resources(struct stmmac_priv *priv, u32 queue)
{ {
@@ -540,7 +540,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
sizeof(struct sk_buff *), sizeof(struct sk_buff *),
GFP_KERNEL); GFP_KERNEL);
if (!tx_q->tx_skbuff) if (!tx_q->tx_skbuff)
@@ -2128,7 +2128,7 @@ static int __alloc_dma_tx_desc_resources @@ -2130,7 +2130,7 @@ static int __alloc_dma_tx_desc_resources
else else
size = sizeof(struct dma_desc); size = sizeof(struct dma_desc);
@@ -549,7 +549,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
addr = dma_alloc_coherent(priv->device, size, addr = dma_alloc_coherent(priv->device, size,
&tx_q->dma_tx_phy, GFP_KERNEL); &tx_q->dma_tx_phy, GFP_KERNEL);
@@ -2372,7 +2372,7 @@ static void stmmac_dma_operation_mode(st @@ -2374,7 +2374,7 @@ static void stmmac_dma_operation_mode(st
/* configure all channels */ /* configure all channels */
for (chan = 0; chan < rx_channels_count; chan++) { for (chan = 0; chan < rx_channels_count; chan++) {
@@ -558,7 +558,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
u32 buf_size; u32 buf_size;
qmode = priv->plat->rx_queues_cfg[chan].mode_to_use; qmode = priv->plat->rx_queues_cfg[chan].mode_to_use;
@@ -2387,7 +2387,7 @@ static void stmmac_dma_operation_mode(st @@ -2389,7 +2389,7 @@ static void stmmac_dma_operation_mode(st
chan); chan);
} else { } else {
stmmac_set_dma_bfsize(priv, priv->ioaddr, stmmac_set_dma_bfsize(priv, priv->ioaddr,
@@ -567,7 +567,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
chan); chan);
} }
} }
@@ -2403,7 +2403,7 @@ static void stmmac_dma_operation_mode(st @@ -2405,7 +2405,7 @@ static void stmmac_dma_operation_mode(st
static bool stmmac_xdp_xmit_zc(struct stmmac_priv *priv, u32 queue, u32 budget) static bool stmmac_xdp_xmit_zc(struct stmmac_priv *priv, u32 queue, u32 budget)
{ {
struct netdev_queue *nq = netdev_get_tx_queue(priv->dev, queue); struct netdev_queue *nq = netdev_get_tx_queue(priv->dev, queue);
@@ -576,7 +576,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct xsk_buff_pool *pool = tx_q->xsk_pool; struct xsk_buff_pool *pool = tx_q->xsk_pool;
unsigned int entry = tx_q->cur_tx; unsigned int entry = tx_q->cur_tx;
struct dma_desc *tx_desc = NULL; struct dma_desc *tx_desc = NULL;
@@ -2478,7 +2478,7 @@ static bool stmmac_xdp_xmit_zc(struct st @@ -2480,7 +2480,7 @@ static bool stmmac_xdp_xmit_zc(struct st
stmmac_enable_dma_transmission(priv, priv->ioaddr); stmmac_enable_dma_transmission(priv, priv->ioaddr);
@@ -585,7 +585,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
entry = tx_q->cur_tx; entry = tx_q->cur_tx;
} }
@@ -2504,7 +2504,7 @@ static bool stmmac_xdp_xmit_zc(struct st @@ -2506,7 +2506,7 @@ static bool stmmac_xdp_xmit_zc(struct st
*/ */
static int stmmac_tx_clean(struct stmmac_priv *priv, int budget, u32 queue) static int stmmac_tx_clean(struct stmmac_priv *priv, int budget, u32 queue)
{ {
@@ -594,7 +594,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
unsigned int bytes_compl = 0, pkts_compl = 0; unsigned int bytes_compl = 0, pkts_compl = 0;
unsigned int entry, xmits = 0, count = 0; unsigned int entry, xmits = 0, count = 0;
@@ -2517,7 +2517,7 @@ static int stmmac_tx_clean(struct stmmac @@ -2519,7 +2519,7 @@ static int stmmac_tx_clean(struct stmmac
entry = tx_q->dirty_tx; entry = tx_q->dirty_tx;
/* Try to clean all TX complete frame in 1 shot */ /* Try to clean all TX complete frame in 1 shot */
@@ -603,7 +603,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct xdp_frame *xdpf; struct xdp_frame *xdpf;
struct sk_buff *skb; struct sk_buff *skb;
struct dma_desc *p; struct dma_desc *p;
@@ -2617,7 +2617,7 @@ static int stmmac_tx_clean(struct stmmac @@ -2619,7 +2619,7 @@ static int stmmac_tx_clean(struct stmmac
stmmac_release_tx_desc(priv, p, priv->mode); stmmac_release_tx_desc(priv, p, priv->mode);
@@ -612,7 +612,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
tx_q->dirty_tx = entry; tx_q->dirty_tx = entry;
@@ -2682,7 +2682,7 @@ static int stmmac_tx_clean(struct stmmac @@ -2684,7 +2684,7 @@ static int stmmac_tx_clean(struct stmmac
*/ */
static void stmmac_tx_err(struct stmmac_priv *priv, u32 chan) static void stmmac_tx_err(struct stmmac_priv *priv, u32 chan)
{ {
@@ -621,7 +621,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
netif_tx_stop_queue(netdev_get_tx_queue(priv->dev, chan)); netif_tx_stop_queue(netdev_get_tx_queue(priv->dev, chan));
@@ -2749,8 +2749,8 @@ static int stmmac_napi_check(struct stmm @@ -2751,8 +2751,8 @@ static int stmmac_napi_check(struct stmm
{ {
int status = stmmac_dma_interrupt_status(priv, priv->ioaddr, int status = stmmac_dma_interrupt_status(priv, priv->ioaddr,
&priv->xstats, chan, dir); &priv->xstats, chan, dir);
@@ -632,7 +632,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct stmmac_channel *ch = &priv->channel[chan]; struct stmmac_channel *ch = &priv->channel[chan];
struct napi_struct *rx_napi; struct napi_struct *rx_napi;
struct napi_struct *tx_napi; struct napi_struct *tx_napi;
@@ -2926,7 +2926,7 @@ static int stmmac_init_dma_engine(struct @@ -2928,7 +2928,7 @@ static int stmmac_init_dma_engine(struct
/* DMA RX Channel Configuration */ /* DMA RX Channel Configuration */
for (chan = 0; chan < rx_channels_count; chan++) { for (chan = 0; chan < rx_channels_count; chan++) {
@@ -641,7 +641,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
rx_q->dma_rx_phy, chan); rx_q->dma_rx_phy, chan);
@@ -2940,7 +2940,7 @@ static int stmmac_init_dma_engine(struct @@ -2942,7 +2942,7 @@ static int stmmac_init_dma_engine(struct
/* DMA TX Channel Configuration */ /* DMA TX Channel Configuration */
for (chan = 0; chan < tx_channels_count; chan++) { for (chan = 0; chan < tx_channels_count; chan++) {
@@ -650,7 +650,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
tx_q->dma_tx_phy, chan); tx_q->dma_tx_phy, chan);
@@ -2955,7 +2955,7 @@ static int stmmac_init_dma_engine(struct @@ -2957,7 +2957,7 @@ static int stmmac_init_dma_engine(struct
static void stmmac_tx_timer_arm(struct stmmac_priv *priv, u32 queue) static void stmmac_tx_timer_arm(struct stmmac_priv *priv, u32 queue)
{ {
@@ -659,7 +659,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
hrtimer_start(&tx_q->txtimer, hrtimer_start(&tx_q->txtimer,
STMMAC_COAL_TIMER(priv->tx_coal_timer[queue]), STMMAC_COAL_TIMER(priv->tx_coal_timer[queue]),
@@ -3005,7 +3005,7 @@ static void stmmac_init_coalesce(struct @@ -3007,7 +3007,7 @@ static void stmmac_init_coalesce(struct
u32 chan; u32 chan;
for (chan = 0; chan < tx_channel_count; chan++) { for (chan = 0; chan < tx_channel_count; chan++) {
@@ -668,7 +668,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
priv->tx_coal_frames[chan] = STMMAC_TX_FRAMES; priv->tx_coal_frames[chan] = STMMAC_TX_FRAMES;
priv->tx_coal_timer[chan] = STMMAC_COAL_TX_TIMER; priv->tx_coal_timer[chan] = STMMAC_COAL_TX_TIMER;
@@ -3027,12 +3027,12 @@ static void stmmac_set_rings_length(stru @@ -3029,12 +3029,12 @@ static void stmmac_set_rings_length(stru
/* set TX ring length */ /* set TX ring length */
for (chan = 0; chan < tx_channels_count; chan++) for (chan = 0; chan < tx_channels_count; chan++)
stmmac_set_tx_ring_len(priv, priv->ioaddr, stmmac_set_tx_ring_len(priv, priv->ioaddr,
@@ -683,7 +683,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
/** /**
@@ -3367,7 +3367,7 @@ static int stmmac_hw_setup(struct net_de @@ -3369,7 +3369,7 @@ static int stmmac_hw_setup(struct net_de
/* Enable TSO */ /* Enable TSO */
if (priv->tso) { if (priv->tso) {
for (chan = 0; chan < tx_cnt; chan++) { for (chan = 0; chan < tx_cnt; chan++) {
@@ -692,7 +692,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* TSO and TBS cannot co-exist */ /* TSO and TBS cannot co-exist */
if (tx_q->tbs & STMMAC_TBS_AVAIL) if (tx_q->tbs & STMMAC_TBS_AVAIL)
@@ -3389,7 +3389,7 @@ static int stmmac_hw_setup(struct net_de @@ -3391,7 +3391,7 @@ static int stmmac_hw_setup(struct net_de
/* TBS */ /* TBS */
for (chan = 0; chan < tx_cnt; chan++) { for (chan = 0; chan < tx_cnt; chan++) {
@@ -701,7 +701,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
int enable = tx_q->tbs & STMMAC_TBS_AVAIL; int enable = tx_q->tbs & STMMAC_TBS_AVAIL;
stmmac_enable_tbs(priv, priv->ioaddr, enable, chan); stmmac_enable_tbs(priv, priv->ioaddr, enable, chan);
@@ -3433,7 +3433,7 @@ static void stmmac_free_irq(struct net_d @@ -3435,7 +3435,7 @@ static void stmmac_free_irq(struct net_d
for (j = irq_idx - 1; j >= 0; j--) { for (j = irq_idx - 1; j >= 0; j--) {
if (priv->tx_irq[j] > 0) { if (priv->tx_irq[j] > 0) {
irq_set_affinity_hint(priv->tx_irq[j], NULL); irq_set_affinity_hint(priv->tx_irq[j], NULL);
@@ -710,7 +710,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
} }
irq_idx = priv->plat->rx_queues_to_use; irq_idx = priv->plat->rx_queues_to_use;
@@ -3442,7 +3442,7 @@ static void stmmac_free_irq(struct net_d @@ -3444,7 +3444,7 @@ static void stmmac_free_irq(struct net_d
for (j = irq_idx - 1; j >= 0; j--) { for (j = irq_idx - 1; j >= 0; j--) {
if (priv->rx_irq[j] > 0) { if (priv->rx_irq[j] > 0) {
irq_set_affinity_hint(priv->rx_irq[j], NULL); irq_set_affinity_hint(priv->rx_irq[j], NULL);
@@ -719,7 +719,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
} }
@@ -3576,7 +3576,7 @@ static int stmmac_request_irq_multi_msi( @@ -3578,7 +3578,7 @@ static int stmmac_request_irq_multi_msi(
sprintf(int_name, "%s:%s-%d", dev->name, "rx", i); sprintf(int_name, "%s:%s-%d", dev->name, "rx", i);
ret = request_irq(priv->rx_irq[i], ret = request_irq(priv->rx_irq[i],
stmmac_msi_intr_rx, stmmac_msi_intr_rx,
@@ -728,7 +728,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (unlikely(ret < 0)) { if (unlikely(ret < 0)) {
netdev_err(priv->dev, netdev_err(priv->dev,
"%s: alloc rx-%d MSI %d (error: %d)\n", "%s: alloc rx-%d MSI %d (error: %d)\n",
@@ -3599,7 +3599,7 @@ static int stmmac_request_irq_multi_msi( @@ -3601,7 +3601,7 @@ static int stmmac_request_irq_multi_msi(
sprintf(int_name, "%s:%s-%d", dev->name, "tx", i); sprintf(int_name, "%s:%s-%d", dev->name, "tx", i);
ret = request_irq(priv->tx_irq[i], ret = request_irq(priv->tx_irq[i],
stmmac_msi_intr_tx, stmmac_msi_intr_tx,
@@ -737,7 +737,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (unlikely(ret < 0)) { if (unlikely(ret < 0)) {
netdev_err(priv->dev, netdev_err(priv->dev,
"%s: alloc tx-%d MSI %d (error: %d)\n", "%s: alloc tx-%d MSI %d (error: %d)\n",
@@ -3730,21 +3730,21 @@ static int stmmac_open(struct net_device @@ -3732,21 +3732,21 @@ static int stmmac_open(struct net_device
bfsize = 0; bfsize = 0;
if (bfsize < BUF_SIZE_16KiB) if (bfsize < BUF_SIZE_16KiB)
@@ -766,7 +766,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
int tbs_en = priv->plat->tx_queues_cfg[chan].tbs_en; int tbs_en = priv->plat->tx_queues_cfg[chan].tbs_en;
/* Setup per-TXQ tbs flag before TX descriptor alloc */ /* Setup per-TXQ tbs flag before TX descriptor alloc */
@@ -3802,7 +3802,7 @@ irq_error: @@ -3804,7 +3804,7 @@ irq_error:
phylink_stop(priv->phylink); phylink_stop(priv->phylink);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@@ -775,7 +775,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_hw_teardown(dev); stmmac_hw_teardown(dev);
init_error: init_error:
@@ -3846,7 +3846,7 @@ static int stmmac_release(struct net_dev @@ -3848,7 +3848,7 @@ static int stmmac_release(struct net_dev
stmmac_disable_all_queues(priv); stmmac_disable_all_queues(priv);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@@ -784,7 +784,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
netif_tx_disable(dev); netif_tx_disable(dev);
@@ -3910,7 +3910,7 @@ static bool stmmac_vlan_insert(struct st @@ -3912,7 +3912,7 @@ static bool stmmac_vlan_insert(struct st
return false; return false;
stmmac_set_tx_owner(priv, p); stmmac_set_tx_owner(priv, p);
@@ -793,7 +793,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
return true; return true;
} }
@@ -3928,7 +3928,7 @@ static bool stmmac_vlan_insert(struct st @@ -3930,7 +3930,7 @@ static bool stmmac_vlan_insert(struct st
static void stmmac_tso_allocator(struct stmmac_priv *priv, dma_addr_t des, static void stmmac_tso_allocator(struct stmmac_priv *priv, dma_addr_t des,
int total_len, bool last_segment, u32 queue) int total_len, bool last_segment, u32 queue)
{ {
@@ -802,7 +802,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct dma_desc *desc; struct dma_desc *desc;
u32 buff_size; u32 buff_size;
int tmp_len; int tmp_len;
@@ -3939,7 +3939,7 @@ static void stmmac_tso_allocator(struct @@ -3941,7 +3941,7 @@ static void stmmac_tso_allocator(struct
dma_addr_t curr_addr; dma_addr_t curr_addr;
tx_q->cur_tx = STMMAC_GET_ENTRY(tx_q->cur_tx, tx_q->cur_tx = STMMAC_GET_ENTRY(tx_q->cur_tx,
@@ -811,7 +811,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
WARN_ON(tx_q->tx_skbuff[tx_q->cur_tx]); WARN_ON(tx_q->tx_skbuff[tx_q->cur_tx]);
if (tx_q->tbs & STMMAC_TBS_AVAIL) if (tx_q->tbs & STMMAC_TBS_AVAIL)
@@ -3967,7 +3967,7 @@ static void stmmac_tso_allocator(struct @@ -3969,7 +3969,7 @@ static void stmmac_tso_allocator(struct
static void stmmac_flush_tx_descriptors(struct stmmac_priv *priv, int queue) static void stmmac_flush_tx_descriptors(struct stmmac_priv *priv, int queue)
{ {
@@ -820,7 +820,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
int desc_size; int desc_size;
if (likely(priv->extend_desc)) if (likely(priv->extend_desc))
@@ -4029,7 +4029,7 @@ static netdev_tx_t stmmac_tso_xmit(struc @@ -4031,7 +4031,7 @@ static netdev_tx_t stmmac_tso_xmit(struc
dma_addr_t des; dma_addr_t des;
int i; int i;
@@ -829,7 +829,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
first_tx = tx_q->cur_tx; first_tx = tx_q->cur_tx;
/* Compute header lengths */ /* Compute header lengths */
@@ -4069,7 +4069,7 @@ static netdev_tx_t stmmac_tso_xmit(struc @@ -4071,7 +4071,7 @@ static netdev_tx_t stmmac_tso_xmit(struc
stmmac_set_mss(priv, mss_desc, mss); stmmac_set_mss(priv, mss_desc, mss);
tx_q->mss = mss; tx_q->mss = mss;
tx_q->cur_tx = STMMAC_GET_ENTRY(tx_q->cur_tx, tx_q->cur_tx = STMMAC_GET_ENTRY(tx_q->cur_tx,
@@ -838,7 +838,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
WARN_ON(tx_q->tx_skbuff[tx_q->cur_tx]); WARN_ON(tx_q->tx_skbuff[tx_q->cur_tx]);
} }
@@ -4181,7 +4181,7 @@ static netdev_tx_t stmmac_tso_xmit(struc @@ -4183,7 +4183,7 @@ static netdev_tx_t stmmac_tso_xmit(struc
* ndo_start_xmit will fill this descriptor the next time it's * ndo_start_xmit will fill this descriptor the next time it's
* called and stmmac_tx_clean may clean up to this descriptor. * called and stmmac_tx_clean may clean up to this descriptor.
*/ */
@@ -847,7 +847,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (unlikely(stmmac_tx_avail(priv, queue) <= (MAX_SKB_FRAGS + 1))) { if (unlikely(stmmac_tx_avail(priv, queue) <= (MAX_SKB_FRAGS + 1))) {
netif_dbg(priv, hw, priv->dev, "%s: stop transmitted packets\n", netif_dbg(priv, hw, priv->dev, "%s: stop transmitted packets\n",
@@ -4269,7 +4269,7 @@ static netdev_tx_t stmmac_xmit(struct sk @@ -4271,7 +4271,7 @@ static netdev_tx_t stmmac_xmit(struct sk
int entry, first_tx; int entry, first_tx;
dma_addr_t des; dma_addr_t des;
@@ -856,7 +856,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
first_tx = tx_q->cur_tx; first_tx = tx_q->cur_tx;
if (priv->tx_path_in_lpi_mode && priv->eee_sw_timer_en) if (priv->tx_path_in_lpi_mode && priv->eee_sw_timer_en)
@@ -4332,7 +4332,7 @@ static netdev_tx_t stmmac_xmit(struct sk @@ -4334,7 +4334,7 @@ static netdev_tx_t stmmac_xmit(struct sk
int len = skb_frag_size(frag); int len = skb_frag_size(frag);
bool last_segment = (i == (nfrags - 1)); bool last_segment = (i == (nfrags - 1));
@@ -865,7 +865,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
WARN_ON(tx_q->tx_skbuff[entry]); WARN_ON(tx_q->tx_skbuff[entry]);
if (likely(priv->extend_desc)) if (likely(priv->extend_desc))
@@ -4403,7 +4403,7 @@ static netdev_tx_t stmmac_xmit(struct sk @@ -4405,7 +4405,7 @@ static netdev_tx_t stmmac_xmit(struct sk
* ndo_start_xmit will fill this descriptor the next time it's * ndo_start_xmit will fill this descriptor the next time it's
* called and stmmac_tx_clean may clean up to this descriptor. * called and stmmac_tx_clean may clean up to this descriptor.
*/ */
@@ -874,7 +874,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tx_q->cur_tx = entry; tx_q->cur_tx = entry;
if (netif_msg_pktdata(priv)) { if (netif_msg_pktdata(priv)) {
@@ -4515,7 +4515,7 @@ static void stmmac_rx_vlan(struct net_de @@ -4517,7 +4517,7 @@ static void stmmac_rx_vlan(struct net_de
*/ */
static inline void stmmac_rx_refill(struct stmmac_priv *priv, u32 queue) static inline void stmmac_rx_refill(struct stmmac_priv *priv, u32 queue)
{ {
@@ -883,7 +883,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
int dirty = stmmac_rx_dirty(priv, queue); int dirty = stmmac_rx_dirty(priv, queue);
unsigned int entry = rx_q->dirty_rx; unsigned int entry = rx_q->dirty_rx;
@@ -4565,7 +4565,7 @@ static inline void stmmac_rx_refill(stru @@ -4567,7 +4567,7 @@ static inline void stmmac_rx_refill(stru
dma_wmb(); dma_wmb();
stmmac_set_rx_owner(priv, p, use_rx_wd); stmmac_set_rx_owner(priv, p, use_rx_wd);
@@ -892,7 +892,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
rx_q->dirty_rx = entry; rx_q->dirty_rx = entry;
rx_q->rx_tail_addr = rx_q->dma_rx_phy + rx_q->rx_tail_addr = rx_q->dma_rx_phy +
@@ -4593,12 +4593,12 @@ static unsigned int stmmac_rx_buf1_len(s @@ -4595,12 +4595,12 @@ static unsigned int stmmac_rx_buf1_len(s
/* First descriptor, not last descriptor and not split header */ /* First descriptor, not last descriptor and not split header */
if (status & rx_not_ls) if (status & rx_not_ls)
@@ -907,7 +907,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
static unsigned int stmmac_rx_buf2_len(struct stmmac_priv *priv, static unsigned int stmmac_rx_buf2_len(struct stmmac_priv *priv,
@@ -4614,7 +4614,7 @@ static unsigned int stmmac_rx_buf2_len(s @@ -4616,7 +4616,7 @@ static unsigned int stmmac_rx_buf2_len(s
/* Not last descriptor */ /* Not last descriptor */
if (status & rx_not_ls) if (status & rx_not_ls)
@@ -916,7 +916,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
plen = stmmac_get_rx_frame_len(priv, p, coe); plen = stmmac_get_rx_frame_len(priv, p, coe);
@@ -4625,7 +4625,7 @@ static unsigned int stmmac_rx_buf2_len(s @@ -4627,7 +4627,7 @@ static unsigned int stmmac_rx_buf2_len(s
static int stmmac_xdp_xmit_xdpf(struct stmmac_priv *priv, int queue, static int stmmac_xdp_xmit_xdpf(struct stmmac_priv *priv, int queue,
struct xdp_frame *xdpf, bool dma_map) struct xdp_frame *xdpf, bool dma_map)
{ {
@@ -925,7 +925,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
unsigned int entry = tx_q->cur_tx; unsigned int entry = tx_q->cur_tx;
struct dma_desc *tx_desc; struct dma_desc *tx_desc;
dma_addr_t dma_addr; dma_addr_t dma_addr;
@@ -4688,7 +4688,7 @@ static int stmmac_xdp_xmit_xdpf(struct s @@ -4690,7 +4690,7 @@ static int stmmac_xdp_xmit_xdpf(struct s
stmmac_enable_dma_transmission(priv, priv->ioaddr); stmmac_enable_dma_transmission(priv, priv->ioaddr);
@@ -934,7 +934,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tx_q->cur_tx = entry; tx_q->cur_tx = entry;
return STMMAC_XDP_TX; return STMMAC_XDP_TX;
@@ -4862,7 +4862,7 @@ static void stmmac_dispatch_skb_zc(struc @@ -4864,7 +4864,7 @@ static void stmmac_dispatch_skb_zc(struc
static bool stmmac_rx_refill_zc(struct stmmac_priv *priv, u32 queue, u32 budget) static bool stmmac_rx_refill_zc(struct stmmac_priv *priv, u32 queue, u32 budget)
{ {
@@ -943,7 +943,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
unsigned int entry = rx_q->dirty_rx; unsigned int entry = rx_q->dirty_rx;
struct dma_desc *rx_desc = NULL; struct dma_desc *rx_desc = NULL;
bool ret = true; bool ret = true;
@@ -4905,7 +4905,7 @@ static bool stmmac_rx_refill_zc(struct s @@ -4907,7 +4907,7 @@ static bool stmmac_rx_refill_zc(struct s
dma_wmb(); dma_wmb();
stmmac_set_rx_owner(priv, rx_desc, use_rx_wd); stmmac_set_rx_owner(priv, rx_desc, use_rx_wd);
@@ -952,7 +952,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
if (rx_desc) { if (rx_desc) {
@@ -4920,7 +4920,7 @@ static bool stmmac_rx_refill_zc(struct s @@ -4922,7 +4922,7 @@ static bool stmmac_rx_refill_zc(struct s
static int stmmac_rx_zc(struct stmmac_priv *priv, int limit, u32 queue) static int stmmac_rx_zc(struct stmmac_priv *priv, int limit, u32 queue)
{ {
@@ -961,7 +961,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
unsigned int count = 0, error = 0, len = 0; unsigned int count = 0, error = 0, len = 0;
int dirty = stmmac_rx_dirty(priv, queue); int dirty = stmmac_rx_dirty(priv, queue);
unsigned int next_entry = rx_q->cur_rx; unsigned int next_entry = rx_q->cur_rx;
@@ -4942,7 +4942,7 @@ static int stmmac_rx_zc(struct stmmac_pr @@ -4944,7 +4944,7 @@ static int stmmac_rx_zc(struct stmmac_pr
desc_size = sizeof(struct dma_desc); desc_size = sizeof(struct dma_desc);
} }
@@ -970,7 +970,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
rx_q->dma_rx_phy, desc_size); rx_q->dma_rx_phy, desc_size);
} }
while (count < limit) { while (count < limit) {
@@ -4989,7 +4989,7 @@ read_again: @@ -4991,7 +4991,7 @@ read_again:
/* Prefetch the next RX descriptor */ /* Prefetch the next RX descriptor */
rx_q->cur_rx = STMMAC_GET_ENTRY(rx_q->cur_rx, rx_q->cur_rx = STMMAC_GET_ENTRY(rx_q->cur_rx,
@@ -979,7 +979,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
next_entry = rx_q->cur_rx; next_entry = rx_q->cur_rx;
if (priv->extend_desc) if (priv->extend_desc)
@@ -5110,7 +5110,7 @@ read_again: @@ -5112,7 +5112,7 @@ read_again:
*/ */
static int stmmac_rx(struct stmmac_priv *priv, int limit, u32 queue) static int stmmac_rx(struct stmmac_priv *priv, int limit, u32 queue)
{ {
@@ -988,7 +988,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct stmmac_channel *ch = &priv->channel[queue]; struct stmmac_channel *ch = &priv->channel[queue];
unsigned int count = 0, error = 0, len = 0; unsigned int count = 0, error = 0, len = 0;
int status = 0, coe = priv->hw->rx_csum; int status = 0, coe = priv->hw->rx_csum;
@@ -5123,7 +5123,7 @@ static int stmmac_rx(struct stmmac_priv @@ -5125,7 +5125,7 @@ static int stmmac_rx(struct stmmac_priv
int buf_sz; int buf_sz;
dma_dir = page_pool_get_dma_dir(rx_q->page_pool); dma_dir = page_pool_get_dma_dir(rx_q->page_pool);
@@ -997,7 +997,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (netif_msg_rx_status(priv)) { if (netif_msg_rx_status(priv)) {
void *rx_head; void *rx_head;
@@ -5137,7 +5137,7 @@ static int stmmac_rx(struct stmmac_priv @@ -5139,7 +5139,7 @@ static int stmmac_rx(struct stmmac_priv
desc_size = sizeof(struct dma_desc); desc_size = sizeof(struct dma_desc);
} }
@@ -1006,7 +1006,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
rx_q->dma_rx_phy, desc_size); rx_q->dma_rx_phy, desc_size);
} }
while (count < limit) { while (count < limit) {
@@ -5181,7 +5181,7 @@ read_again: @@ -5183,7 +5183,7 @@ read_again:
break; break;
rx_q->cur_rx = STMMAC_GET_ENTRY(rx_q->cur_rx, rx_q->cur_rx = STMMAC_GET_ENTRY(rx_q->cur_rx,
@@ -1015,7 +1015,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
next_entry = rx_q->cur_rx; next_entry = rx_q->cur_rx;
if (priv->extend_desc) if (priv->extend_desc)
@@ -5315,7 +5315,7 @@ read_again: @@ -5317,7 +5317,7 @@ read_again:
buf1_len, dma_dir); buf1_len, dma_dir);
skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags,
buf->page, buf->page_offset, buf1_len, buf->page, buf->page_offset, buf1_len,
@@ -1024,7 +1024,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Data payload appended into SKB */ /* Data payload appended into SKB */
page_pool_release_page(rx_q->page_pool, buf->page); page_pool_release_page(rx_q->page_pool, buf->page);
@@ -5327,7 +5327,7 @@ read_again: @@ -5329,7 +5329,7 @@ read_again:
buf2_len, dma_dir); buf2_len, dma_dir);
skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags,
buf->sec_page, 0, buf2_len, buf->sec_page, 0, buf2_len,
@@ -1033,7 +1033,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Data payload appended into SKB */ /* Data payload appended into SKB */
page_pool_release_page(rx_q->page_pool, buf->sec_page); page_pool_release_page(rx_q->page_pool, buf->sec_page);
@@ -5760,11 +5760,13 @@ static irqreturn_t stmmac_safety_interru @@ -5762,11 +5762,13 @@ static irqreturn_t stmmac_safety_interru
static irqreturn_t stmmac_msi_intr_tx(int irq, void *data) static irqreturn_t stmmac_msi_intr_tx(int irq, void *data)
{ {
struct stmmac_tx_queue *tx_q = (struct stmmac_tx_queue *)data; struct stmmac_tx_queue *tx_q = (struct stmmac_tx_queue *)data;
@@ -1048,7 +1048,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Check if adapter is up */ /* Check if adapter is up */
if (test_bit(STMMAC_DOWN, &priv->state)) if (test_bit(STMMAC_DOWN, &priv->state))
@@ -5799,10 +5801,12 @@ static irqreturn_t stmmac_msi_intr_tx(in @@ -5801,10 +5803,12 @@ static irqreturn_t stmmac_msi_intr_tx(in
static irqreturn_t stmmac_msi_intr_rx(int irq, void *data) static irqreturn_t stmmac_msi_intr_rx(int irq, void *data)
{ {
struct stmmac_rx_queue *rx_q = (struct stmmac_rx_queue *)data; struct stmmac_rx_queue *rx_q = (struct stmmac_rx_queue *)data;
@@ -1062,7 +1062,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Check if adapter is up */ /* Check if adapter is up */
if (test_bit(STMMAC_DOWN, &priv->state)) if (test_bit(STMMAC_DOWN, &priv->state))
@@ -5828,10 +5832,10 @@ static void stmmac_poll_controller(struc @@ -5830,10 +5834,10 @@ static void stmmac_poll_controller(struc
if (priv->plat->multi_msi_en) { if (priv->plat->multi_msi_en) {
for (i = 0; i < priv->plat->rx_queues_to_use; i++) for (i = 0; i < priv->plat->rx_queues_to_use; i++)
@@ -1075,7 +1075,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} else { } else {
disable_irq(dev->irq); disable_irq(dev->irq);
stmmac_interrupt(dev->irq, dev); stmmac_interrupt(dev->irq, dev);
@@ -6012,34 +6016,34 @@ static int stmmac_rings_status_show(stru @@ -6014,34 +6018,34 @@ static int stmmac_rings_status_show(stru
return 0; return 0;
for (queue = 0; queue < rx_count; queue++) { for (queue = 0; queue < rx_count; queue++) {
@@ -1116,7 +1116,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
} }
@@ -6386,7 +6390,7 @@ void stmmac_disable_rx_queue(struct stmm @@ -6388,7 +6392,7 @@ void stmmac_disable_rx_queue(struct stmm
void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue) void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue)
{ {
@@ -1125,7 +1125,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct stmmac_channel *ch = &priv->channel[queue]; struct stmmac_channel *ch = &priv->channel[queue];
unsigned long flags; unsigned long flags;
u32 buf_size; u32 buf_size;
@@ -6423,7 +6427,7 @@ void stmmac_enable_rx_queue(struct stmma @@ -6425,7 +6429,7 @@ void stmmac_enable_rx_queue(struct stmma
rx_q->queue_index); rx_q->queue_index);
} else { } else {
stmmac_set_dma_bfsize(priv, priv->ioaddr, stmmac_set_dma_bfsize(priv, priv->ioaddr,
@@ -1134,7 +1134,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
rx_q->queue_index); rx_q->queue_index);
} }
@@ -6449,7 +6453,7 @@ void stmmac_disable_tx_queue(struct stmm @@ -6451,7 +6455,7 @@ void stmmac_disable_tx_queue(struct stmm
void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue) void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue)
{ {
@@ -1143,7 +1143,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct stmmac_channel *ch = &priv->channel[queue]; struct stmmac_channel *ch = &priv->channel[queue];
unsigned long flags; unsigned long flags;
int ret; int ret;
@@ -6499,7 +6503,7 @@ void stmmac_xdp_release(struct net_devic @@ -6501,7 +6505,7 @@ void stmmac_xdp_release(struct net_devic
stmmac_disable_all_queues(priv); stmmac_disable_all_queues(priv);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@@ -1152,7 +1152,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Free the IRQ lines */ /* Free the IRQ lines */
stmmac_free_irq(dev, REQ_IRQ_ERR_ALL, 0); stmmac_free_irq(dev, REQ_IRQ_ERR_ALL, 0);
@@ -6558,7 +6562,7 @@ int stmmac_xdp_open(struct net_device *d @@ -6560,7 +6564,7 @@ int stmmac_xdp_open(struct net_device *d
/* DMA RX Channel Configuration */ /* DMA RX Channel Configuration */
for (chan = 0; chan < rx_cnt; chan++) { for (chan = 0; chan < rx_cnt; chan++) {
@@ -1161,7 +1161,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
rx_q->dma_rx_phy, chan); rx_q->dma_rx_phy, chan);
@@ -6576,7 +6580,7 @@ int stmmac_xdp_open(struct net_device *d @@ -6578,7 +6582,7 @@ int stmmac_xdp_open(struct net_device *d
rx_q->queue_index); rx_q->queue_index);
} else { } else {
stmmac_set_dma_bfsize(priv, priv->ioaddr, stmmac_set_dma_bfsize(priv, priv->ioaddr,
@@ -1170,7 +1170,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
rx_q->queue_index); rx_q->queue_index);
} }
@@ -6585,7 +6589,7 @@ int stmmac_xdp_open(struct net_device *d @@ -6587,7 +6591,7 @@ int stmmac_xdp_open(struct net_device *d
/* DMA TX Channel Configuration */ /* DMA TX Channel Configuration */
for (chan = 0; chan < tx_cnt; chan++) { for (chan = 0; chan < tx_cnt; chan++) {
@@ -1179,7 +1179,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
tx_q->dma_tx_phy, chan); tx_q->dma_tx_phy, chan);
@@ -6618,7 +6622,7 @@ int stmmac_xdp_open(struct net_device *d @@ -6620,7 +6624,7 @@ int stmmac_xdp_open(struct net_device *d
irq_error: irq_error:
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@@ -1188,7 +1188,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_hw_teardown(dev); stmmac_hw_teardown(dev);
init_error: init_error:
@@ -6645,8 +6649,8 @@ int stmmac_xsk_wakeup(struct net_device @@ -6647,8 +6651,8 @@ int stmmac_xsk_wakeup(struct net_device
queue >= priv->plat->tx_queues_to_use) queue >= priv->plat->tx_queues_to_use)
return -EINVAL; return -EINVAL;
@@ -1199,7 +1199,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
ch = &priv->channel[queue]; ch = &priv->channel[queue];
if (!rx_q->xsk_pool && !tx_q->xsk_pool) if (!rx_q->xsk_pool && !tx_q->xsk_pool)
@@ -6906,8 +6910,8 @@ int stmmac_reinit_ringparam(struct net_d @@ -6908,8 +6912,8 @@ int stmmac_reinit_ringparam(struct net_d
if (netif_running(dev)) if (netif_running(dev))
stmmac_release(dev); stmmac_release(dev);
@@ -1210,7 +1210,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (netif_running(dev)) if (netif_running(dev))
ret = stmmac_open(dev); ret = stmmac_open(dev);
@@ -7345,7 +7349,7 @@ int stmmac_suspend(struct device *dev) @@ -7347,7 +7351,7 @@ int stmmac_suspend(struct device *dev)
stmmac_disable_all_queues(priv); stmmac_disable_all_queues(priv);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@@ -1219,7 +1219,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (priv->eee_enabled) { if (priv->eee_enabled) {
priv->tx_path_in_lpi_mode = false; priv->tx_path_in_lpi_mode = false;
@@ -7397,7 +7401,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend); @@ -7399,7 +7403,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend);
static void stmmac_reset_rx_queue(struct stmmac_priv *priv, u32 queue) static void stmmac_reset_rx_queue(struct stmmac_priv *priv, u32 queue)
{ {
@@ -1228,7 +1228,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
rx_q->cur_rx = 0; rx_q->cur_rx = 0;
rx_q->dirty_rx = 0; rx_q->dirty_rx = 0;
@@ -7405,7 +7409,7 @@ static void stmmac_reset_rx_queue(struct @@ -7407,7 +7411,7 @@ static void stmmac_reset_rx_queue(struct
static void stmmac_reset_tx_queue(struct stmmac_priv *priv, u32 queue) static void stmmac_reset_tx_queue(struct stmmac_priv *priv, u32 queue)
{ {

View File

@@ -17,7 +17,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- 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
@@ -1301,7 +1301,8 @@ static int stmmac_phy_setup(struct stmma @@ -1303,7 +1303,8 @@ static int stmmac_phy_setup(struct stmma
return 0; return 0;
} }
@@ -27,7 +27,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
{ {
u32 rx_cnt = priv->plat->rx_queues_to_use; u32 rx_cnt = priv->plat->rx_queues_to_use;
unsigned int desc_size; unsigned int desc_size;
@@ -1310,7 +1311,7 @@ static void stmmac_display_rx_rings(stru @@ -1312,7 +1313,7 @@ static void stmmac_display_rx_rings(stru
/* Display RX rings */ /* Display RX rings */
for (queue = 0; queue < rx_cnt; queue++) { for (queue = 0; queue < rx_cnt; queue++) {
@@ -36,7 +36,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
pr_info("\tRX Queue %u rings\n", queue); pr_info("\tRX Queue %u rings\n", queue);
@@ -1323,12 +1324,13 @@ static void stmmac_display_rx_rings(stru @@ -1325,12 +1326,13 @@ static void stmmac_display_rx_rings(stru
} }
/* Display RX ring */ /* Display RX ring */
@@ -52,7 +52,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
{ {
u32 tx_cnt = priv->plat->tx_queues_to_use; u32 tx_cnt = priv->plat->tx_queues_to_use;
unsigned int desc_size; unsigned int desc_size;
@@ -1337,7 +1339,7 @@ static void stmmac_display_tx_rings(stru @@ -1339,7 +1341,7 @@ static void stmmac_display_tx_rings(stru
/* Display TX rings */ /* Display TX rings */
for (queue = 0; queue < tx_cnt; queue++) { for (queue = 0; queue < tx_cnt; queue++) {
@@ -61,7 +61,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
pr_info("\tTX Queue %d rings\n", queue); pr_info("\tTX Queue %d rings\n", queue);
@@ -1352,18 +1354,19 @@ static void stmmac_display_tx_rings(stru @@ -1354,18 +1356,19 @@ static void stmmac_display_tx_rings(stru
desc_size = sizeof(struct dma_desc); desc_size = sizeof(struct dma_desc);
} }
@@ -85,7 +85,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
static int stmmac_set_bfsize(int mtu, int bufsize) static int stmmac_set_bfsize(int mtu, int bufsize)
@@ -1387,44 +1390,50 @@ static int stmmac_set_bfsize(int mtu, in @@ -1389,44 +1392,50 @@ static int stmmac_set_bfsize(int mtu, in
/** /**
* stmmac_clear_rx_descriptors - clear RX descriptors * stmmac_clear_rx_descriptors - clear RX descriptors
* @priv: driver private structure * @priv: driver private structure
@@ -147,7 +147,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct dma_desc *p; struct dma_desc *p;
if (priv->extend_desc) if (priv->extend_desc)
@@ -1441,10 +1450,12 @@ static void stmmac_clear_tx_descriptors( @@ -1443,10 +1452,12 @@ static void stmmac_clear_tx_descriptors(
/** /**
* stmmac_clear_descriptors - clear descriptors * stmmac_clear_descriptors - clear descriptors
* @priv: driver private structure * @priv: driver private structure
@@ -161,7 +161,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
{ {
u32 rx_queue_cnt = priv->plat->rx_queues_to_use; u32 rx_queue_cnt = priv->plat->rx_queues_to_use;
u32 tx_queue_cnt = priv->plat->tx_queues_to_use; u32 tx_queue_cnt = priv->plat->tx_queues_to_use;
@@ -1452,16 +1463,17 @@ static void stmmac_clear_descriptors(str @@ -1454,16 +1465,17 @@ static void stmmac_clear_descriptors(str
/* Clear the RX descriptors */ /* Clear the RX descriptors */
for (queue = 0; queue < rx_queue_cnt; queue++) for (queue = 0; queue < rx_queue_cnt; queue++)
@@ -181,7 +181,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
* @p: descriptor pointer * @p: descriptor pointer
* @i: descriptor index * @i: descriptor index
* @flags: gfp flag * @flags: gfp flag
@@ -1469,10 +1481,12 @@ static void stmmac_clear_descriptors(str @@ -1471,10 +1483,12 @@ static void stmmac_clear_descriptors(str
* Description: this function is called to allocate a receive buffer, perform * Description: this function is called to allocate a receive buffer, perform
* the DMA mapping and init the descriptor. * the DMA mapping and init the descriptor.
*/ */
@@ -196,7 +196,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i]; struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i];
if (!buf->page) { if (!buf->page) {
@@ -1497,7 +1511,7 @@ static int stmmac_init_rx_buffers(struct @@ -1499,7 +1513,7 @@ static int stmmac_init_rx_buffers(struct
buf->addr = page_pool_get_dma_addr(buf->page) + buf->page_offset; buf->addr = page_pool_get_dma_addr(buf->page) + buf->page_offset;
stmmac_set_desc_addr(priv, p, buf->addr); stmmac_set_desc_addr(priv, p, buf->addr);
@@ -205,7 +205,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_init_desc3(priv, p); stmmac_init_desc3(priv, p);
return 0; return 0;
@@ -1506,12 +1520,13 @@ static int stmmac_init_rx_buffers(struct @@ -1508,12 +1522,13 @@ static int stmmac_init_rx_buffers(struct
/** /**
* stmmac_free_rx_buffer - free RX dma buffers * stmmac_free_rx_buffer - free RX dma buffers
* @priv: private structure * @priv: private structure
@@ -222,7 +222,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i]; struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i];
if (buf->page) if (buf->page)
@@ -1526,12 +1541,15 @@ static void stmmac_free_rx_buffer(struct @@ -1528,12 +1543,15 @@ static void stmmac_free_rx_buffer(struct
/** /**
* stmmac_free_tx_buffer - free RX dma buffers * stmmac_free_tx_buffer - free RX dma buffers
* @priv: private structure * @priv: private structure
@@ -240,7 +240,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (tx_q->tx_skbuff_dma[i].buf && if (tx_q->tx_skbuff_dma[i].buf &&
tx_q->tx_skbuff_dma[i].buf_type != STMMAC_TXBUF_T_XDP_TX) { tx_q->tx_skbuff_dma[i].buf_type != STMMAC_TXBUF_T_XDP_TX) {
@@ -1570,23 +1588,28 @@ static void stmmac_free_tx_buffer(struct @@ -1572,23 +1590,28 @@ static void stmmac_free_tx_buffer(struct
/** /**
* dma_free_rx_skbufs - free RX dma buffers * dma_free_rx_skbufs - free RX dma buffers
* @priv: private structure * @priv: private structure
@@ -276,7 +276,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct dma_desc *p; struct dma_desc *p;
int ret; int ret;
@@ -1595,7 +1618,7 @@ static int stmmac_alloc_rx_buffers(struc @@ -1597,7 +1620,7 @@ static int stmmac_alloc_rx_buffers(struc
else else
p = rx_q->dma_rx + i; p = rx_q->dma_rx + i;
@@ -285,7 +285,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
queue); queue);
if (ret) if (ret)
return ret; return ret;
@@ -1609,14 +1632,17 @@ static int stmmac_alloc_rx_buffers(struc @@ -1611,14 +1634,17 @@ static int stmmac_alloc_rx_buffers(struc
/** /**
* dma_free_rx_xskbufs - free RX dma buffers from XSK pool * dma_free_rx_xskbufs - free RX dma buffers from XSK pool
* @priv: private structure * @priv: private structure
@@ -306,7 +306,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i]; struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i];
if (!buf->xdp) if (!buf->xdp)
@@ -1627,12 +1653,14 @@ static void dma_free_rx_xskbufs(struct s @@ -1629,12 +1655,14 @@ static void dma_free_rx_xskbufs(struct s
} }
} }
@@ -324,7 +324,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct stmmac_rx_buffer *buf; struct stmmac_rx_buffer *buf;
dma_addr_t dma_addr; dma_addr_t dma_addr;
struct dma_desc *p; struct dma_desc *p;
@@ -1667,22 +1695,25 @@ static struct xsk_buff_pool *stmmac_get_ @@ -1669,22 +1697,25 @@ static struct xsk_buff_pool *stmmac_get_
/** /**
* __init_dma_rx_desc_rings - init the RX descriptor ring (per queue) * __init_dma_rx_desc_rings - init the RX descriptor ring (per queue)
* @priv: driver private structure * @priv: driver private structure
@@ -353,7 +353,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
xdp_rxq_info_unreg_mem_model(&rx_q->xdp_rxq); xdp_rxq_info_unreg_mem_model(&rx_q->xdp_rxq);
@@ -1709,9 +1740,9 @@ static int __init_dma_rx_desc_rings(stru @@ -1711,9 +1742,9 @@ static int __init_dma_rx_desc_rings(stru
/* RX XDP ZC buffer pool may not be populated, e.g. /* RX XDP ZC buffer pool may not be populated, e.g.
* xdpsock TX-only. * xdpsock TX-only.
*/ */
@@ -365,7 +365,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (ret < 0) if (ret < 0)
return -ENOMEM; return -ENOMEM;
} }
@@ -1721,17 +1752,19 @@ static int __init_dma_rx_desc_rings(stru @@ -1723,17 +1754,19 @@ static int __init_dma_rx_desc_rings(stru
if (priv->extend_desc) if (priv->extend_desc)
stmmac_mode_init(priv, rx_q->dma_erx, stmmac_mode_init(priv, rx_q->dma_erx,
rx_q->dma_rx_phy, rx_q->dma_rx_phy,
@@ -388,7 +388,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
{ {
struct stmmac_priv *priv = netdev_priv(dev); struct stmmac_priv *priv = netdev_priv(dev);
u32 rx_count = priv->plat->rx_queues_to_use; u32 rx_count = priv->plat->rx_queues_to_use;
@@ -1743,7 +1776,7 @@ static int init_dma_rx_desc_rings(struct @@ -1745,7 +1778,7 @@ static int init_dma_rx_desc_rings(struct
"SKB addresses:\nskb\t\tskb data\tdma data\n"); "SKB addresses:\nskb\t\tskb data\tdma data\n");
for (queue = 0; queue < rx_count; queue++) { for (queue = 0; queue < rx_count; queue++) {
@@ -397,7 +397,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (ret) if (ret)
goto err_init_rx_buffers; goto err_init_rx_buffers;
} }
@@ -1752,12 +1785,12 @@ static int init_dma_rx_desc_rings(struct @@ -1754,12 +1787,12 @@ static int init_dma_rx_desc_rings(struct
err_init_rx_buffers: err_init_rx_buffers:
while (queue >= 0) { while (queue >= 0) {
@@ -413,7 +413,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
rx_q->buf_alloc_num = 0; rx_q->buf_alloc_num = 0;
rx_q->xsk_pool = NULL; rx_q->xsk_pool = NULL;
@@ -1774,14 +1807,17 @@ err_init_rx_buffers: @@ -1776,14 +1809,17 @@ err_init_rx_buffers:
/** /**
* __init_dma_tx_desc_rings - init the TX descriptor ring (per queue) * __init_dma_tx_desc_rings - init the TX descriptor ring (per queue)
* @priv: driver private structure * @priv: driver private structure
@@ -434,7 +434,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
int i; int i;
netif_dbg(priv, probe, priv->dev, netif_dbg(priv, probe, priv->dev,
@@ -1793,16 +1829,16 @@ static int __init_dma_tx_desc_rings(stru @@ -1795,16 +1831,16 @@ static int __init_dma_tx_desc_rings(stru
if (priv->extend_desc) if (priv->extend_desc)
stmmac_mode_init(priv, tx_q->dma_etx, stmmac_mode_init(priv, tx_q->dma_etx,
tx_q->dma_tx_phy, tx_q->dma_tx_phy,
@@ -454,7 +454,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct dma_desc *p; struct dma_desc *p;
if (priv->extend_desc) if (priv->extend_desc)
@@ -1824,7 +1860,8 @@ static int __init_dma_tx_desc_rings(stru @@ -1826,7 +1862,8 @@ static int __init_dma_tx_desc_rings(stru
return 0; return 0;
} }
@@ -464,7 +464,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
{ {
struct stmmac_priv *priv = netdev_priv(dev); struct stmmac_priv *priv = netdev_priv(dev);
u32 tx_queue_cnt; u32 tx_queue_cnt;
@@ -1833,7 +1870,7 @@ static int init_dma_tx_desc_rings(struct @@ -1835,7 +1872,7 @@ static int init_dma_tx_desc_rings(struct
tx_queue_cnt = priv->plat->tx_queues_to_use; tx_queue_cnt = priv->plat->tx_queues_to_use;
for (queue = 0; queue < tx_queue_cnt; queue++) for (queue = 0; queue < tx_queue_cnt; queue++)
@@ -473,7 +473,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
return 0; return 0;
} }
@@ -1841,26 +1878,29 @@ static int init_dma_tx_desc_rings(struct @@ -1843,26 +1880,29 @@ static int init_dma_tx_desc_rings(struct
/** /**
* init_dma_desc_rings - init the RX/TX descriptor rings * init_dma_desc_rings - init the RX/TX descriptor rings
* @dev: net device structure * @dev: net device structure
@@ -508,7 +508,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
return ret; return ret;
} }
@@ -1868,17 +1908,20 @@ static int init_dma_desc_rings(struct ne @@ -1870,17 +1910,20 @@ static int init_dma_desc_rings(struct ne
/** /**
* dma_free_tx_skbufs - free TX dma buffers * dma_free_tx_skbufs - free TX dma buffers
* @priv: private structure * @priv: private structure
@@ -533,7 +533,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (tx_q->xsk_pool && tx_q->xsk_frames_done) { if (tx_q->xsk_pool && tx_q->xsk_frames_done) {
xsk_tx_completed(tx_q->xsk_pool, tx_q->xsk_frames_done); xsk_tx_completed(tx_q->xsk_pool, tx_q->xsk_frames_done);
@@ -1897,34 +1940,37 @@ static void stmmac_free_tx_skbufs(struct @@ -1899,34 +1942,37 @@ static void stmmac_free_tx_skbufs(struct
u32 queue; u32 queue;
for (queue = 0; queue < tx_queue_cnt; queue++) for (queue = 0; queue < tx_queue_cnt; queue++)
@@ -578,7 +578,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
sizeof(struct dma_extended_desc), sizeof(struct dma_extended_desc),
rx_q->dma_erx, rx_q->dma_rx_phy); rx_q->dma_erx, rx_q->dma_rx_phy);
@@ -1936,29 +1982,33 @@ static void __free_dma_rx_desc_resources @@ -1938,29 +1984,33 @@ static void __free_dma_rx_desc_resources
page_pool_destroy(rx_q->page_pool); page_pool_destroy(rx_q->page_pool);
} }
@@ -617,7 +617,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (priv->extend_desc) { if (priv->extend_desc) {
size = sizeof(struct dma_extended_desc); size = sizeof(struct dma_extended_desc);
@@ -1971,7 +2021,7 @@ static void __free_dma_tx_desc_resources @@ -1973,7 +2023,7 @@ static void __free_dma_tx_desc_resources
addr = tx_q->dma_tx; addr = tx_q->dma_tx;
} }
@@ -626,7 +626,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
dma_free_coherent(priv->device, size, addr, tx_q->dma_tx_phy); dma_free_coherent(priv->device, size, addr, tx_q->dma_tx_phy);
@@ -1979,28 +2029,32 @@ static void __free_dma_tx_desc_resources @@ -1981,28 +2031,32 @@ static void __free_dma_tx_desc_resources
kfree(tx_q->tx_skbuff); kfree(tx_q->tx_skbuff);
} }
@@ -663,7 +663,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct stmmac_channel *ch = &priv->channel[queue]; struct stmmac_channel *ch = &priv->channel[queue];
bool xdp_prog = stmmac_xdp_is_enabled(priv); bool xdp_prog = stmmac_xdp_is_enabled(priv);
struct page_pool_params pp_params = { 0 }; struct page_pool_params pp_params = { 0 };
@@ -2012,8 +2066,8 @@ static int __alloc_dma_rx_desc_resources @@ -2014,8 +2068,8 @@ static int __alloc_dma_rx_desc_resources
rx_q->priv_data = priv; rx_q->priv_data = priv;
pp_params.flags = PP_FLAG_DMA_MAP | PP_FLAG_DMA_SYNC_DEV; pp_params.flags = PP_FLAG_DMA_MAP | PP_FLAG_DMA_SYNC_DEV;
@@ -674,7 +674,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
pp_params.order = ilog2(num_pages); pp_params.order = ilog2(num_pages);
pp_params.nid = dev_to_node(priv->device); pp_params.nid = dev_to_node(priv->device);
pp_params.dev = priv->device; pp_params.dev = priv->device;
@@ -2028,7 +2082,7 @@ static int __alloc_dma_rx_desc_resources @@ -2030,7 +2084,7 @@ static int __alloc_dma_rx_desc_resources
return ret; return ret;
} }
@@ -683,7 +683,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
sizeof(*rx_q->buf_pool), sizeof(*rx_q->buf_pool),
GFP_KERNEL); GFP_KERNEL);
if (!rx_q->buf_pool) if (!rx_q->buf_pool)
@@ -2036,7 +2090,7 @@ static int __alloc_dma_rx_desc_resources @@ -2038,7 +2092,7 @@ static int __alloc_dma_rx_desc_resources
if (priv->extend_desc) { if (priv->extend_desc) {
rx_q->dma_erx = dma_alloc_coherent(priv->device, rx_q->dma_erx = dma_alloc_coherent(priv->device,
@@ -692,7 +692,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
sizeof(struct dma_extended_desc), sizeof(struct dma_extended_desc),
&rx_q->dma_rx_phy, &rx_q->dma_rx_phy,
GFP_KERNEL); GFP_KERNEL);
@@ -2045,7 +2099,7 @@ static int __alloc_dma_rx_desc_resources @@ -2047,7 +2101,7 @@ static int __alloc_dma_rx_desc_resources
} else { } else {
rx_q->dma_rx = dma_alloc_coherent(priv->device, rx_q->dma_rx = dma_alloc_coherent(priv->device,
@@ -701,7 +701,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
sizeof(struct dma_desc), sizeof(struct dma_desc),
&rx_q->dma_rx_phy, &rx_q->dma_rx_phy,
GFP_KERNEL); GFP_KERNEL);
@@ -2070,7 +2124,8 @@ static int __alloc_dma_rx_desc_resources @@ -2072,7 +2126,8 @@ static int __alloc_dma_rx_desc_resources
return 0; return 0;
} }
@@ -711,7 +711,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
{ {
u32 rx_count = priv->plat->rx_queues_to_use; u32 rx_count = priv->plat->rx_queues_to_use;
u32 queue; u32 queue;
@@ -2078,7 +2133,7 @@ static int alloc_dma_rx_desc_resources(s @@ -2080,7 +2135,7 @@ static int alloc_dma_rx_desc_resources(s
/* RX queues buffers and DMA */ /* RX queues buffers and DMA */
for (queue = 0; queue < rx_count; queue++) { for (queue = 0; queue < rx_count; queue++) {
@@ -720,7 +720,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (ret) if (ret)
goto err_dma; goto err_dma;
} }
@@ -2086,7 +2141,7 @@ static int alloc_dma_rx_desc_resources(s @@ -2088,7 +2143,7 @@ static int alloc_dma_rx_desc_resources(s
return 0; return 0;
err_dma: err_dma:
@@ -729,7 +729,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
return ret; return ret;
} }
@@ -2094,28 +2149,31 @@ err_dma: @@ -2096,28 +2151,31 @@ err_dma:
/** /**
* __alloc_dma_tx_desc_resources - alloc TX resources (per queue). * __alloc_dma_tx_desc_resources - alloc TX resources (per queue).
* @priv: private structure * @priv: private structure
@@ -765,7 +765,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
sizeof(struct sk_buff *), sizeof(struct sk_buff *),
GFP_KERNEL); GFP_KERNEL);
if (!tx_q->tx_skbuff) if (!tx_q->tx_skbuff)
@@ -2128,7 +2186,7 @@ static int __alloc_dma_tx_desc_resources @@ -2130,7 +2188,7 @@ static int __alloc_dma_tx_desc_resources
else else
size = sizeof(struct dma_desc); size = sizeof(struct dma_desc);
@@ -774,7 +774,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
addr = dma_alloc_coherent(priv->device, size, addr = dma_alloc_coherent(priv->device, size,
&tx_q->dma_tx_phy, GFP_KERNEL); &tx_q->dma_tx_phy, GFP_KERNEL);
@@ -2145,7 +2203,8 @@ static int __alloc_dma_tx_desc_resources @@ -2147,7 +2205,8 @@ static int __alloc_dma_tx_desc_resources
return 0; return 0;
} }
@@ -784,7 +784,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
{ {
u32 tx_count = priv->plat->tx_queues_to_use; u32 tx_count = priv->plat->tx_queues_to_use;
u32 queue; u32 queue;
@@ -2153,7 +2212,7 @@ static int alloc_dma_tx_desc_resources(s @@ -2155,7 +2214,7 @@ static int alloc_dma_tx_desc_resources(s
/* TX queues buffers and DMA */ /* TX queues buffers and DMA */
for (queue = 0; queue < tx_count; queue++) { for (queue = 0; queue < tx_count; queue++) {
@@ -793,7 +793,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (ret) if (ret)
goto err_dma; goto err_dma;
} }
@@ -2161,27 +2220,29 @@ static int alloc_dma_tx_desc_resources(s @@ -2163,27 +2222,29 @@ static int alloc_dma_tx_desc_resources(s
return 0; return 0;
err_dma: err_dma:
@@ -827,7 +827,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
return ret; return ret;
} }
@@ -2189,16 +2250,18 @@ static int alloc_dma_desc_resources(stru @@ -2191,16 +2252,18 @@ static int alloc_dma_desc_resources(stru
/** /**
* free_dma_desc_resources - free dma desc resources * free_dma_desc_resources - free dma desc resources
* @priv: private structure * @priv: private structure
@@ -849,7 +849,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
/** /**
@@ -2687,8 +2750,8 @@ static void stmmac_tx_err(struct stmmac_ @@ -2689,8 +2752,8 @@ static void stmmac_tx_err(struct stmmac_
netif_tx_stop_queue(netdev_get_tx_queue(priv->dev, chan)); netif_tx_stop_queue(netdev_get_tx_queue(priv->dev, chan));
stmmac_stop_tx_dma(priv, chan); stmmac_stop_tx_dma(priv, chan);
@@ -860,7 +860,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_reset_tx_queue(priv, chan); stmmac_reset_tx_queue(priv, chan);
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
tx_q->dma_tx_phy, chan); tx_q->dma_tx_phy, chan);
@@ -3686,19 +3749,93 @@ static int stmmac_request_irq(struct net @@ -3688,19 +3751,93 @@ static int stmmac_request_irq(struct net
} }
/** /**
@@ -957,7 +957,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
u32 chan; u32 chan;
int ret; int ret;
@@ -3725,45 +3862,10 @@ static int stmmac_open(struct net_device @@ -3727,45 +3864,10 @@ static int stmmac_open(struct net_device
memset(&priv->xstats, 0, sizeof(struct stmmac_extra_stats)); memset(&priv->xstats, 0, sizeof(struct stmmac_extra_stats));
priv->xstats.threshold = tc; priv->xstats.threshold = tc;
@@ -1005,7 +1005,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (priv->plat->serdes_powerup) { if (priv->plat->serdes_powerup) {
ret = priv->plat->serdes_powerup(dev, priv->plat->bsp_priv); ret = priv->plat->serdes_powerup(dev, priv->plat->bsp_priv);
@@ -3806,14 +3908,28 @@ irq_error: @@ -3808,14 +3910,28 @@ irq_error:
stmmac_hw_teardown(dev); stmmac_hw_teardown(dev);
init_error: init_error:
@@ -1036,7 +1036,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
static void stmmac_fpe_stop_wq(struct stmmac_priv *priv) static void stmmac_fpe_stop_wq(struct stmmac_priv *priv)
{ {
set_bit(__FPE_REMOVING, &priv->fpe_task_state); set_bit(__FPE_REMOVING, &priv->fpe_task_state);
@@ -3862,7 +3978,7 @@ static int stmmac_release(struct net_dev @@ -3864,7 +3980,7 @@ static int stmmac_release(struct net_dev
stmmac_stop_all_dma(priv); stmmac_stop_all_dma(priv);
/* Release and free the Rx/Tx resources */ /* Release and free the Rx/Tx resources */
@@ -1045,7 +1045,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Disable the MAC Rx/Tx */ /* Disable the MAC Rx/Tx */
stmmac_mac_set(priv, priv->ioaddr, false); stmmac_mac_set(priv, priv->ioaddr, false);
@@ -6385,7 +6501,7 @@ void stmmac_disable_rx_queue(struct stmm @@ -6387,7 +6503,7 @@ void stmmac_disable_rx_queue(struct stmm
spin_unlock_irqrestore(&ch->lock, flags); spin_unlock_irqrestore(&ch->lock, flags);
stmmac_stop_rx_dma(priv, queue); stmmac_stop_rx_dma(priv, queue);
@@ -1054,7 +1054,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue) void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue)
@@ -6396,21 +6512,21 @@ void stmmac_enable_rx_queue(struct stmma @@ -6398,21 +6514,21 @@ void stmmac_enable_rx_queue(struct stmma
u32 buf_size; u32 buf_size;
int ret; int ret;
@@ -1080,7 +1080,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
rx_q->dma_rx_phy, rx_q->queue_index); rx_q->dma_rx_phy, rx_q->queue_index);
@@ -6448,7 +6564,7 @@ void stmmac_disable_tx_queue(struct stmm @@ -6450,7 +6566,7 @@ void stmmac_disable_tx_queue(struct stmm
spin_unlock_irqrestore(&ch->lock, flags); spin_unlock_irqrestore(&ch->lock, flags);
stmmac_stop_tx_dma(priv, queue); stmmac_stop_tx_dma(priv, queue);
@@ -1089,7 +1089,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue) void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue)
@@ -6458,21 +6574,21 @@ void stmmac_enable_tx_queue(struct stmma @@ -6460,21 +6576,21 @@ void stmmac_enable_tx_queue(struct stmma
unsigned long flags; unsigned long flags;
int ret; int ret;
@@ -1115,7 +1115,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
tx_q->dma_tx_phy, tx_q->queue_index); tx_q->dma_tx_phy, tx_q->queue_index);
@@ -6512,7 +6628,7 @@ void stmmac_xdp_release(struct net_devic @@ -6514,7 +6630,7 @@ void stmmac_xdp_release(struct net_devic
stmmac_stop_all_dma(priv); stmmac_stop_all_dma(priv);
/* Release and free the Rx/Tx resources */ /* Release and free the Rx/Tx resources */
@@ -1124,7 +1124,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Disable the MAC Rx/Tx */ /* Disable the MAC Rx/Tx */
stmmac_mac_set(priv, priv->ioaddr, false); stmmac_mac_set(priv, priv->ioaddr, false);
@@ -6537,14 +6653,14 @@ int stmmac_xdp_open(struct net_device *d @@ -6539,14 +6655,14 @@ int stmmac_xdp_open(struct net_device *d
u32 chan; u32 chan;
int ret; int ret;
@@ -1141,7 +1141,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (ret < 0) { if (ret < 0) {
netdev_err(dev, "%s: DMA descriptors initialization failed\n", netdev_err(dev, "%s: DMA descriptors initialization failed\n",
__func__); __func__);
@@ -6626,7 +6742,7 @@ irq_error: @@ -6628,7 +6744,7 @@ irq_error:
stmmac_hw_teardown(dev); stmmac_hw_teardown(dev);
init_error: init_error:
@@ -1150,7 +1150,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
dma_desc_error: dma_desc_error:
return ret; return ret;
} }
@@ -7492,7 +7608,7 @@ int stmmac_resume(struct device *dev) @@ -7494,7 +7610,7 @@ int stmmac_resume(struct device *dev)
stmmac_reset_queues_param(priv); stmmac_reset_queues_param(priv);
stmmac_free_tx_skbufs(priv); stmmac_free_tx_skbufs(priv);

View File

@@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- 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
@@ -5627,18 +5627,15 @@ static int stmmac_change_mtu(struct net_ @@ -5629,18 +5629,15 @@ static int stmmac_change_mtu(struct net_
{ {
struct stmmac_priv *priv = netdev_priv(dev); struct stmmac_priv *priv = netdev_priv(dev);
int txfifosz = priv->plat->tx_fifo_size; int txfifosz = priv->plat->tx_fifo_size;
@@ -40,7 +40,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (stmmac_xdp_is_enabled(priv) && new_mtu > ETH_DATA_LEN) { if (stmmac_xdp_is_enabled(priv) && new_mtu > ETH_DATA_LEN) {
netdev_dbg(priv->dev, "Jumbo frames not supported for XDP\n"); netdev_dbg(priv->dev, "Jumbo frames not supported for XDP\n");
return -EINVAL; return -EINVAL;
@@ -5650,8 +5647,29 @@ static int stmmac_change_mtu(struct net_ @@ -5652,8 +5649,29 @@ static int stmmac_change_mtu(struct net_
if ((txfifosz < new_mtu) || (new_mtu > BUF_SIZE_16KiB)) if ((txfifosz < new_mtu) || (new_mtu > BUF_SIZE_16KiB))
return -EINVAL; return -EINVAL;

View File

@@ -49,7 +49,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/usb/qmi_wwan.c --- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c
@@ -1317,6 +1317,7 @@ static const struct usb_device_id produc @@ -1318,6 +1318,7 @@ static const struct usb_device_id produc
{QMI_FIXED_INTF(0x19d2, 0x1426, 2)}, /* ZTE MF91 */ {QMI_FIXED_INTF(0x19d2, 0x1426, 2)}, /* ZTE MF91 */
{QMI_FIXED_INTF(0x19d2, 0x1428, 2)}, /* Telewell TW-LTE 4G v2 */ {QMI_FIXED_INTF(0x19d2, 0x1428, 2)}, /* Telewell TW-LTE 4G v2 */
{QMI_FIXED_INTF(0x19d2, 0x1432, 3)}, /* ZTE ME3620 */ {QMI_FIXED_INTF(0x19d2, 0x1432, 3)}, /* ZTE ME3620 */

View File

@@ -35,7 +35,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
int current_brightness; int current_brightness;
--- a/include/linux/leds.h --- a/include/linux/leds.h
+++ b/include/linux/leds.h +++ b/include/linux/leds.h
@@ -527,6 +527,16 @@ static inline void *led_get_trigger_data @@ -525,6 +525,16 @@ led_trigger_get_brightness(const struct
#endif /* CONFIG_LEDS_TRIGGERS */ #endif /* CONFIG_LEDS_TRIGGERS */

View File

@@ -17,7 +17,7 @@ Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
--- a/drivers/bluetooth/btusb.c --- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c
@@ -2289,6 +2289,23 @@ struct btmtk_section_map { @@ -2293,6 +2293,23 @@ struct btmtk_section_map {
}; };
} __packed; } __packed;
@@ -41,7 +41,7 @@ Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
static void btusb_mtk_wmt_recv(struct urb *urb) static void btusb_mtk_wmt_recv(struct urb *urb)
{ {
struct hci_dev *hdev = urb->context; struct hci_dev *hdev = urb->context;
@@ -3943,6 +3960,7 @@ static int btusb_probe(struct usb_interf @@ -3947,6 +3964,7 @@ static int btusb_probe(struct usb_interf
hdev->shutdown = btusb_mtk_shutdown; hdev->shutdown = btusb_mtk_shutdown;
hdev->manufacturer = 70; hdev->manufacturer = 70;
hdev->cmd_timeout = btusb_mtk_cmd_timeout; hdev->cmd_timeout = btusb_mtk_cmd_timeout;

View File

@@ -18,7 +18,7 @@ Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
--- a/drivers/bluetooth/btusb.c --- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c
@@ -2294,7 +2294,7 @@ static int btusb_set_bdaddr_mtk(struct h @@ -2298,7 +2298,7 @@ static int btusb_set_bdaddr_mtk(struct h
struct sk_buff *skb; struct sk_buff *skb;
long ret; long ret;

View File

@@ -336,6 +336,7 @@ CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
# CONFIG_ARM64_ERRATUM_2067961 is not set # CONFIG_ARM64_ERRATUM_2067961 is not set
# CONFIG_ARM64_ERRATUM_2441007 is not set # CONFIG_ARM64_ERRATUM_2441007 is not set
# CONFIG_ARM64_ERRATUM_2441009 is not set # CONFIG_ARM64_ERRATUM_2441009 is not set
# CONFIG_ARM64_ERRATUM_3194386 is not set
# CONFIG_ARM64_ERRATUM_819472 is not set # CONFIG_ARM64_ERRATUM_819472 is not set
# CONFIG_ARM64_ERRATUM_824069 is not set # CONFIG_ARM64_ERRATUM_824069 is not set
# CONFIG_ARM64_ERRATUM_826319 is not set # CONFIG_ARM64_ERRATUM_826319 is not set

View File

@@ -85,7 +85,7 @@ swconfig_trig_update_port_mask(struct led_trigger *trigger)
sw_trig = (void *) trigger; sw_trig = (void *) trigger;
port_mask = 0; port_mask = 0;
read_lock(&trigger->leddev_list_lock); spin_lock(&trigger->leddev_list_lock);
list_for_each(entry, &trigger->led_cdevs) { list_for_each(entry, &trigger->led_cdevs) {
struct led_classdev *led_cdev; struct led_classdev *led_cdev;
struct swconfig_trig_data *trig_data; struct swconfig_trig_data *trig_data;
@@ -98,7 +98,7 @@ swconfig_trig_update_port_mask(struct led_trigger *trigger)
read_unlock(&trig_data->lock); read_unlock(&trig_data->lock);
} }
} }
read_unlock(&trigger->leddev_list_lock); spin_unlock(&trigger->leddev_list_lock);
sw_trig->port_mask = port_mask; sw_trig->port_mask = port_mask;
@@ -418,14 +418,14 @@ swconfig_trig_update_leds(struct switch_led_trigger *sw_trig)
struct led_trigger *trigger; struct led_trigger *trigger;
trigger = &sw_trig->trig; trigger = &sw_trig->trig;
read_lock(&trigger->leddev_list_lock); spin_lock(&trigger->leddev_list_lock);
list_for_each(entry, &trigger->led_cdevs) { list_for_each(entry, &trigger->led_cdevs) {
struct led_classdev *led_cdev; struct led_classdev *led_cdev;
led_cdev = list_entry(entry, struct led_classdev, trig_list); led_cdev = list_entry(entry, struct led_classdev, trig_list);
swconfig_trig_led_event(sw_trig, led_cdev); swconfig_trig_led_event(sw_trig, led_cdev);
} }
read_unlock(&trigger->leddev_list_lock); spin_unlock(&trigger->leddev_list_lock);
} }
static void static void

View File

@@ -10,7 +10,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
--- a/drivers/net/usb/qmi_wwan.c --- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c
@@ -1080,12 +1080,18 @@ static const struct usb_device_id produc @@ -1081,12 +1081,18 @@ static const struct usb_device_id produc
USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x581d, USB_CLASS_VENDOR_SPEC, 1, 7), USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x581d, USB_CLASS_VENDOR_SPEC, 1, 7),
.driver_info = (unsigned long)&qmi_wwan_info, .driver_info = (unsigned long)&qmi_wwan_info,
}, },

View File

@@ -72,7 +72,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
--- a/kernel/sched/core.c --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -4220,6 +4220,7 @@ int wake_up_state(struct task_struct *p, @@ -4217,6 +4217,7 @@ int wake_up_state(struct task_struct *p,
{ {
return try_to_wake_up(p, state, 0); return try_to_wake_up(p, state, 0);
} }

View File

@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#endif /* _KOBJECT_H_ */ #endif /* _KOBJECT_H_ */
--- a/lib/kobject_uevent.c --- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c +++ b/lib/kobject_uevent.c
@@ -691,6 +691,43 @@ int add_uevent_var(struct kobj_uevent_en @@ -706,6 +706,43 @@ int add_uevent_var(struct kobj_uevent_en
EXPORT_SYMBOL_GPL(add_uevent_var); EXPORT_SYMBOL_GPL(add_uevent_var);
#if defined(CONFIG_NET) #if defined(CONFIG_NET)

View File

@@ -19,7 +19,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
--- a/drivers/base/core.c --- a/drivers/base/core.c
+++ b/drivers/base/core.c +++ b/drivers/base/core.c
@@ -1577,7 +1577,7 @@ static void device_links_purge(struct de @@ -1578,7 +1578,7 @@ static void device_links_purge(struct de
#define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \ #define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \
DL_FLAG_PM_RUNTIME) DL_FLAG_PM_RUNTIME)

View File

@@ -1,32 +0,0 @@
From f7982c726e02001afc19052fe48f642dfcbc00b2 Mon Sep 17 00:00:00 2001
From: Vincent Tremblay <vincent@vtremblay.dev>
Date: Mon, 26 Dec 2022 21:10:37 -0500
Subject: [PATCH 1/2] spidev: Add Silicon Labs EM3581 device compatible
Add compatible string for Silicon Labs EM3581 device.
Note: This patch is adapted from a patch submitted to the for-next branch (v6.3).
Signed-off-by: Vincent Tremblay <vincent@vtremblay.dev>
---
drivers/spi/spidev.c | 2 ++
1 file changed, 2 insertions(+)
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
@@ -691,6 +691,7 @@ static const struct spi_device_id spidev
{ .name = "m53cpld" },
{ .name = "spi-petra" },
{ .name = "spi-authenta" },
+ { .name = "em3581" },
{},
};
MODULE_DEVICE_TABLE(spi, spidev_spi_ids);
@@ -705,6 +706,7 @@ static const struct of_device_id spidev_
{ .compatible = "menlo,m53cpld" },
{ .compatible = "cisco,spi-petra" },
{ .compatible = "micron,spi-authenta" },
+ { .compatible = "silabs,em3581" },
{},
};
MODULE_DEVICE_TABLE(of, spidev_dt_ids);

View File

@@ -22,11 +22,11 @@ Signed-off-by: Vincent Tremblay <vincent@vtremblay.dev>
{}, {},
}; };
MODULE_DEVICE_TABLE(spi, spidev_spi_ids); MODULE_DEVICE_TABLE(spi, spidev_spi_ids);
@@ -707,6 +708,7 @@ static const struct of_device_id spidev_ @@ -720,6 +721,7 @@ static const struct of_device_id spidev_
{ .compatible = "cisco,spi-petra" }, { .compatible = "rohm,dh2228fv", .data = &spidev_of_check },
{ .compatible = "micron,spi-authenta" }, { .compatible = "semtech,sx1301", .data = &spidev_of_check },
{ .compatible = "silabs,em3581" }, { .compatible = "silabs,em3581", .data = &spidev_of_check },
+ { .compatible = "silabs,si3210" }, + { .compatible = "silabs,si3210", .data = &spidev_of_check },
{}, {},
}; };
MODULE_DEVICE_TABLE(of, spidev_dt_ids); MODULE_DEVICE_TABLE(of, spidev_dt_ids);

View File

@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#define PACKET_FANOUT_LB 1 #define PACKET_FANOUT_LB 1
--- a/net/packet/af_packet.c --- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c +++ b/net/packet/af_packet.c
@@ -1830,6 +1830,7 @@ static int packet_rcv_spkt(struct sk_buf @@ -1891,6 +1891,7 @@ static int packet_rcv_spkt(struct sk_buf
{ {
struct sock *sk; struct sock *sk;
struct sockaddr_pkt *spkt; struct sockaddr_pkt *spkt;
@@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* /*
* When we registered the protocol we saved the socket in the data * When we registered the protocol we saved the socket in the data
@@ -1837,6 +1838,7 @@ static int packet_rcv_spkt(struct sk_buf @@ -1898,6 +1899,7 @@ static int packet_rcv_spkt(struct sk_buf
*/ */
sk = pt->af_packet_priv; sk = pt->af_packet_priv;
@@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* /*
* Yank back the headers [hope the device set this * Yank back the headers [hope the device set this
@@ -1849,7 +1851,7 @@ static int packet_rcv_spkt(struct sk_buf @@ -1910,7 +1912,7 @@ static int packet_rcv_spkt(struct sk_buf
* so that this procedure is noop. * so that this procedure is noop.
*/ */
@@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
goto out; goto out;
if (!net_eq(dev_net(dev), sock_net(sk))) if (!net_eq(dev_net(dev), sock_net(sk)))
@@ -2095,12 +2097,12 @@ static int packet_rcv(struct sk_buff *sk @@ -2156,12 +2158,12 @@ static int packet_rcv(struct sk_buff *sk
unsigned int snaplen, res; unsigned int snaplen, res;
bool is_drop_n_account = false; bool is_drop_n_account = false;
@@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk))) if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop; goto drop;
@@ -2226,12 +2228,12 @@ static int tpacket_rcv(struct sk_buff *s @@ -2287,12 +2289,12 @@ static int tpacket_rcv(struct sk_buff *s
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32); BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48); BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
@@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk))) if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop; goto drop;
@@ -3343,6 +3345,7 @@ static int packet_create(struct net *net @@ -3409,6 +3411,7 @@ static int packet_create(struct net *net
mutex_init(&po->pg_vec_lock); mutex_init(&po->pg_vec_lock);
po->rollover = NULL; po->rollover = NULL;
po->prot_hook.func = packet_rcv; po->prot_hook.func = packet_rcv;
@@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (sock->type == SOCK_PACKET) if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt; po->prot_hook.func = packet_rcv_spkt;
@@ -3980,6 +3983,16 @@ packet_setsockopt(struct socket *sock, i @@ -4062,6 +4065,16 @@ packet_setsockopt(struct socket *sock, i
WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit); WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit);
return 0; return 0;
} }
@@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
default: default:
return -ENOPROTOOPT; return -ENOPROTOOPT;
} }
@@ -4036,6 +4049,13 @@ static int packet_getsockopt(struct sock @@ -4118,6 +4131,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR: case PACKET_VNET_HDR:
val = po->has_vnet_hdr; val = po->has_vnet_hdr;
break; break;

View File

@@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- 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
@@ -7810,7 +7810,7 @@ static int nft_register_flowtable_net_ho @@ -7827,7 +7827,7 @@ static int nft_register_flowtable_net_ho
err = flowtable->data.type->setup(&flowtable->data, err = flowtable->data.type->setup(&flowtable->data,
hook->ops.dev, hook->ops.dev,
FLOW_BLOCK_BIND); FLOW_BLOCK_BIND);

View File

@@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct rtnl_link { struct rtnl_link {
rtnl_doit_func doit; rtnl_doit_func doit;
@@ -4739,7 +4739,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu @@ -4728,7 +4728,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
brport_nla_put_flag(skb, flags, mask, brport_nla_put_flag(skb, flags, mask,
IFLA_BRPORT_MCAST_FLOOD, BR_MCAST_FLOOD) || IFLA_BRPORT_MCAST_FLOOD, BR_MCAST_FLOOD) ||
brport_nla_put_flag(skb, flags, mask, brport_nla_put_flag(skb, flags, mask,

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
@@ -6385,6 +6385,7 @@ static int mv88e6xxx_register_switch(str @@ -6386,6 +6386,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

@@ -100,7 +100,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
--- a/drivers/net/dsa/b53/b53_common.c --- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c
@@ -2461,6 +2461,19 @@ static const struct b53_chip_data b53_sw @@ -2464,6 +2464,19 @@ static const struct b53_chip_data b53_sw
.jumbo_size_reg = B53_JUMBO_MAX_SIZE_63XX, .jumbo_size_reg = B53_JUMBO_MAX_SIZE_63XX,
}, },
{ {

View File

@@ -100,7 +100,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
--- a/drivers/net/dsa/b53/b53_common.c --- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c
@@ -2609,6 +2609,20 @@ static const struct b53_chip_data b53_sw @@ -2612,6 +2612,20 @@ static const struct b53_chip_data b53_sw
.jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
.jumbo_size_reg = B53_JUMBO_MAX_SIZE, .jumbo_size_reg = B53_JUMBO_MAX_SIZE,
}, },
@@ -121,7 +121,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
}; };
static int b53_switch_init(struct b53_device *dev) static int b53_switch_init(struct b53_device *dev)
@@ -2785,6 +2799,7 @@ int b53_switch_detect(struct b53_device @@ -2788,6 +2802,7 @@ int b53_switch_detect(struct b53_device
case BCM53012_DEVICE_ID: case BCM53012_DEVICE_ID:
case BCM53018_DEVICE_ID: case BCM53018_DEVICE_ID:
case BCM53019_DEVICE_ID: case BCM53019_DEVICE_ID:

View File

@@ -45,7 +45,7 @@ Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
int stmmac_bus_clks_config(struct stmmac_priv *priv, bool enabled) int stmmac_bus_clks_config(struct stmmac_priv *priv, bool enabled)
{ {
@@ -2726,9 +2726,7 @@ static int stmmac_tx_clean(struct stmmac @@ -2728,9 +2728,7 @@ static int stmmac_tx_clean(struct stmmac
/* We still have pending packets, let's call for a new scheduling */ /* We still have pending packets, let's call for a new scheduling */
if (tx_q->dirty_tx != tx_q->cur_tx) if (tx_q->dirty_tx != tx_q->cur_tx)
@@ -56,7 +56,7 @@ Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
__netif_tx_unlock_bh(netdev_get_tx_queue(priv->dev, queue)); __netif_tx_unlock_bh(netdev_get_tx_queue(priv->dev, queue));
@@ -3020,9 +3018,7 @@ static void stmmac_tx_timer_arm(struct s @@ -3022,9 +3020,7 @@ static void stmmac_tx_timer_arm(struct s
{ {
struct stmmac_tx_queue *tx_q = &priv->dma_conf.tx_queue[queue]; struct stmmac_tx_queue *tx_q = &priv->dma_conf.tx_queue[queue];
@@ -67,7 +67,7 @@ Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
} }
/** /**
@@ -3031,9 +3027,9 @@ static void stmmac_tx_timer_arm(struct s @@ -3033,9 +3029,9 @@ static void stmmac_tx_timer_arm(struct s
* Description: * Description:
* This is the timer handler to directly invoke the stmmac_tx_clean. * This is the timer handler to directly invoke the stmmac_tx_clean.
*/ */
@@ -79,7 +79,7 @@ Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
struct stmmac_priv *priv = tx_q->priv_data; struct stmmac_priv *priv = tx_q->priv_data;
struct stmmac_channel *ch; struct stmmac_channel *ch;
struct napi_struct *napi; struct napi_struct *napi;
@@ -3049,8 +3045,6 @@ static enum hrtimer_restart stmmac_tx_ti @@ -3051,8 +3047,6 @@ static enum hrtimer_restart stmmac_tx_ti
spin_unlock_irqrestore(&ch->lock, flags); spin_unlock_irqrestore(&ch->lock, flags);
__napi_schedule(napi); __napi_schedule(napi);
} }
@@ -88,7 +88,7 @@ Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
} }
/** /**
@@ -3073,8 +3067,7 @@ static void stmmac_init_coalesce(struct @@ -3075,8 +3069,7 @@ static void stmmac_init_coalesce(struct
priv->tx_coal_frames[chan] = STMMAC_TX_FRAMES; priv->tx_coal_frames[chan] = STMMAC_TX_FRAMES;
priv->tx_coal_timer[chan] = STMMAC_COAL_TX_TIMER; priv->tx_coal_timer[chan] = STMMAC_COAL_TX_TIMER;
@@ -98,7 +98,7 @@ Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
} }
for (chan = 0; chan < rx_channel_count; chan++) for (chan = 0; chan < rx_channel_count; chan++)
@@ -3904,7 +3897,7 @@ irq_error: @@ -3906,7 +3899,7 @@ irq_error:
phylink_stop(priv->phylink); phylink_stop(priv->phylink);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@@ -107,7 +107,7 @@ Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
stmmac_hw_teardown(dev); stmmac_hw_teardown(dev);
init_error: init_error:
@@ -3962,7 +3955,7 @@ static int stmmac_release(struct net_dev @@ -3964,7 +3957,7 @@ static int stmmac_release(struct net_dev
stmmac_disable_all_queues(priv); stmmac_disable_all_queues(priv);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@@ -116,7 +116,7 @@ Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
netif_tx_disable(dev); netif_tx_disable(dev);
@@ -6637,7 +6630,7 @@ void stmmac_xdp_release(struct net_devic @@ -6639,7 +6632,7 @@ void stmmac_xdp_release(struct net_devic
stmmac_disable_all_queues(priv); stmmac_disable_all_queues(priv);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@@ -125,7 +125,7 @@ Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
/* Free the IRQ lines */ /* Free the IRQ lines */
stmmac_free_irq(dev, REQ_IRQ_ERR_ALL, 0); stmmac_free_irq(dev, REQ_IRQ_ERR_ALL, 0);
@@ -6732,8 +6725,7 @@ int stmmac_xdp_open(struct net_device *d @@ -6734,8 +6727,7 @@ int stmmac_xdp_open(struct net_device *d
stmmac_set_tx_tail_ptr(priv, priv->ioaddr, stmmac_set_tx_tail_ptr(priv, priv->ioaddr,
tx_q->tx_tail_addr, chan); tx_q->tx_tail_addr, chan);
@@ -135,7 +135,7 @@ Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
} }
/* Enable the MAC Rx/Tx */ /* Enable the MAC Rx/Tx */
@@ -6756,7 +6748,7 @@ int stmmac_xdp_open(struct net_device *d @@ -6758,7 +6750,7 @@ int stmmac_xdp_open(struct net_device *d
irq_error: irq_error:
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@@ -144,7 +144,7 @@ Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
stmmac_hw_teardown(dev); stmmac_hw_teardown(dev);
init_error: init_error:
@@ -7483,7 +7475,7 @@ int stmmac_suspend(struct device *dev) @@ -7485,7 +7477,7 @@ int stmmac_suspend(struct device *dev)
stmmac_disable_all_queues(priv); stmmac_disable_all_queues(priv);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)

View File

@@ -1,53 +0,0 @@
From 1a82d7080001d395563ad8266d120d4cf63ad0a5 Mon Sep 17 00:00:00 2001
From: Shawn Guo <shawn.guo@linaro.org>
Date: Wed, 29 Sep 2021 11:42:46 +0800
Subject: [PATCH] arm64: dts: qcom: msm8996: Move '#clock-cells' to QMP PHY
child node
'#clock-cells' is a required property of QMP PHY child node, not itself.
Move it to fix the dtbs_check warnings.
There are only '#clock-cells' removal from SM8350 QMP PHY nodes, because
child nodes already have the property.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20210929034253.24570-4-shawn.guo@linaro.org
---
arch/arm64/boot/dts/qcom/ipq8074.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -91,7 +91,6 @@
ssphy_1: phy@58000 {
compatible = "qcom,ipq8074-qmp-usb3-phy";
reg = <0x00058000 0x1c4>;
- #clock-cells = <1>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -112,6 +111,7 @@
<0x00058800 0x1f8>, /* PCS */
<0x00058600 0x044>; /* PCS misc*/
#phy-cells = <0>;
+ #clock-cells = <1>;
clocks = <&gcc GCC_USB1_PIPE_CLK>;
clock-names = "pipe0";
clock-output-names = "usb3phy_1_cc_pipe_clk";
@@ -134,7 +134,6 @@
ssphy_0: phy@78000 {
compatible = "qcom,ipq8074-qmp-usb3-phy";
reg = <0x00078000 0x1c4>;
- #clock-cells = <1>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
@@ -155,6 +154,7 @@
<0x00078800 0x1f8>, /* PCS */
<0x00078600 0x044>; /* PCS misc*/
#phy-cells = <0>;
+ #clock-cells = <1>;
clocks = <&gcc GCC_USB0_PIPE_CLK>;
clock-names = "pipe0";
clock-output-names = "usb3phy_0_cc_pipe_clk";

View File

@@ -15,7 +15,7 @@ Link: https://lore.kernel.org/r/1644334525-11577-2-git-send-email-quic_kathirav@
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -635,9 +635,18 @@ @@ -637,9 +637,18 @@
intc: interrupt-controller@b000000 { intc: interrupt-controller@b000000 {
compatible = "qcom,msm-qgic2"; compatible = "qcom,msm-qgic2";

View File

@@ -15,7 +15,7 @@ Link: https://lore.kernel.org/r/1643819709-5410-2-git-send-email-quic_kathirav@q
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -671,7 +671,6 @@ @@ -673,7 +673,6 @@
ranges; ranges;
compatible = "arm,armv7-timer-mem"; compatible = "arm,armv7-timer-mem";
reg = <0x0b120000 0x1000>; reg = <0x0b120000 0x1000>;

View File

@@ -25,7 +25,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
compatible = "snps,dwc3"; compatible = "snps,dwc3";
reg = <0x8a00000 0xcd00>; reg = <0x8a00000 0xcd00>;
interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
@@ -619,7 +619,7 @@ @@ -620,7 +620,7 @@
resets = <&gcc GCC_USB1_BCR>; resets = <&gcc GCC_USB1_BCR>;
status = "disabled"; status = "disabled";

View File

@@ -25,7 +25,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
reg = <0x08af8800 0x400>; reg = <0x08af8800 0x400>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
@@ -594,7 +594,7 @@ @@ -595,7 +595,7 @@
}; };
usb_1: usb@8cf8800 { usb_1: usb@8cf8800 {

View File

@@ -26,7 +26,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
"sleep", "sleep",
"mock_utmi"; "mock_utmi";
@@ -604,8 +604,8 @@ @@ -605,8 +605,8 @@
<&gcc GCC_USB1_MASTER_CLK>, <&gcc GCC_USB1_MASTER_CLK>,
<&gcc GCC_USB1_SLEEP_CLK>, <&gcc GCC_USB1_SLEEP_CLK>,
<&gcc GCC_USB1_MOCK_UTMI_CLK>; <&gcc GCC_USB1_MOCK_UTMI_CLK>;

View File

@@ -32,7 +32,7 @@ Link: https://lore.kernel.org/r/20220515210048.483898-11-robimarko@gmail.com
resets = <&gcc GCC_USB0_BCR>; resets = <&gcc GCC_USB0_BCR>;
status = "disabled"; status = "disabled";
@@ -616,6 +619,8 @@ @@ -617,6 +620,8 @@
<133330000>, <133330000>,
<19200000>; <19200000>;

View File

@@ -20,7 +20,7 @@ Link: https://lore.kernel.org/r/20220704113318.623102-1-robimarko@gmail.com
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -654,14 +654,6 @@ @@ -656,14 +656,6 @@
}; };
}; };
@@ -35,7 +35,7 @@ Link: https://lore.kernel.org/r/20220704113318.623102-1-robimarko@gmail.com
watchdog: watchdog@b017000 { watchdog: watchdog@b017000 {
compatible = "qcom,kpss-wdt"; compatible = "qcom,kpss-wdt";
reg = <0xb017000 0x1000>; reg = <0xb017000 0x1000>;
@@ -853,4 +845,12 @@ @@ -855,4 +847,12 @@
status = "disabled"; status = "disabled";
}; };
}; };

View File

@@ -20,7 +20,7 @@ Link: https://lore.kernel.org/r/20220707173733.404947-4-robimarko@gmail.com
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -663,6 +663,14 @@ @@ -665,6 +665,14 @@
timeout-sec = <30>; timeout-sec = <30>;
}; };

View File

@@ -15,7 +15,7 @@ Link: https://lore.kernel.org/r/20220818220628.339366-9-robimarko@gmail.com
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -675,6 +675,14 @@ @@ -677,6 +677,14 @@
#mbox-cells = <1>; #mbox-cells = <1>;
}; };

View File

@@ -21,7 +21,7 @@ Link: https://lore.kernel.org/r/20220818220628.339366-8-robimarko@gmail.com
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -669,7 +669,7 @@ @@ -671,7 +671,7 @@
apcs_glb: mailbox@b111000 { apcs_glb: mailbox@b111000 {
compatible = "qcom,ipq8074-apcs-apps-global"; compatible = "qcom,ipq8074-apcs-apps-global";

View File

@@ -37,7 +37,7 @@ Link: https://lore.kernel.org/r/20220818220245.338396-5-robimarko@gmail.com
cryptobam: dma-controller@704000 { cryptobam: dma-controller@704000 {
compatible = "qcom,bam-v1.7.0"; compatible = "qcom,bam-v1.7.0";
reg = <0x00704000 0x20000>; reg = <0x00704000 0x20000>;
@@ -874,4 +884,90 @@ @@ -876,4 +886,90 @@
<GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
}; };

View File

@@ -18,7 +18,7 @@ Link: https://lore.kernel.org/r/20220818220849.339732-4-robimarko@gmail.com
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -680,6 +680,8 @@ @@ -682,6 +682,8 @@
apcs_glb: mailbox@b111000 { apcs_glb: mailbox@b111000 {
compatible = "qcom,ipq8074-apcs-apps-global"; compatible = "qcom,ipq8074-apcs-apps-global";
reg = <0x0b111000 0x1000>; reg = <0x0b111000 0x1000>;

View File

@@ -14,7 +14,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -801,6 +801,7 @@ @@ -803,6 +803,7 @@
linux,pci-domain = <1>; linux,pci-domain = <1>;
bus-range = <0x00 0xff>; bus-range = <0x00 0xff>;
num-lanes = <1>; num-lanes = <1>;

View File

@@ -12,7 +12,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -699,7 +699,7 @@ @@ -701,7 +701,7 @@
reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>; reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>;
ranges = <0 0xb00a000 0xffd>; ranges = <0 0xb00a000 0xffd>;
@@ -21,7 +21,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
compatible = "arm,gic-v2m-frame"; compatible = "arm,gic-v2m-frame";
msi-controller; msi-controller;
reg = <0x0 0xffd>; reg = <0x0 0xffd>;
@@ -811,8 +811,7 @@ @@ -813,8 +813,7 @@
ranges = <0x81000000 0x0 0x00000000 0x10200000 0x0 0x10000>, /* I/O */ ranges = <0x81000000 0x0 0x00000000 0x10200000 0x0 0x10000>, /* I/O */
<0x82000000 0x0 0x10220000 0x10220000 0x0 0xfde0000>; /* MEM */ <0x82000000 0x0 0x10220000 0x10220000 0x0 0xfde0000>; /* MEM */
@@ -31,7 +31,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
#interrupt-cells = <1>; #interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0x7>; interrupt-map-mask = <0 0 0 0x7>;
interrupt-map = <0 0 0 1 &intc 0 142 interrupt-map = <0 0 0 1 &intc 0 142
@@ -873,8 +872,7 @@ @@ -875,8 +874,7 @@
ranges = <0x81000000 0x0 0x00000000 0x20200000 0x0 0x10000>, /* I/O */ ranges = <0x81000000 0x0 0x00000000 0x20200000 0x0 0x10000>, /* I/O */
<0x82000000 0x0 0x20220000 0x20220000 0x0 0xfde0000>; /* MEM */ <0x82000000 0x0 0x20220000 0x20220000 0x0 0xfde0000>; /* MEM */

View File

@@ -61,7 +61,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
spmi_bus: spmi@200f000 { spmi_bus: spmi@200f000 {
compatible = "qcom,spmi-pmic-arb"; compatible = "qcom,spmi-pmic-arb";
reg = <0x0200f000 0x001000>, reg = <0x0200f000 0x001000>,
@@ -913,6 +944,56 @@ @@ -915,6 +946,56 @@
"axi_s_sticky"; "axi_s_sticky";
status = "disabled"; status = "disabled";
}; };

View File

@@ -15,7 +15,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -994,6 +994,117 @@ @@ -996,6 +996,117 @@
}; };
}; };
}; };

View File

@@ -1251,7 +1251,7 @@ Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
+MODULE_LICENSE("Dual MIT/GPL"); +MODULE_LICENSE("Dual MIT/GPL");
--- a/drivers/mtd/nand/raw/Kconfig --- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig +++ b/drivers/mtd/nand/raw/Kconfig
@@ -360,6 +360,7 @@ config MTD_NAND_QCOM @@ -359,6 +359,7 @@ config MTD_NAND_QCOM
config MTD_NAND_MTK config MTD_NAND_MTK
tristate "MTK NAND controller" tristate "MTK NAND controller"

View File

@@ -37,7 +37,7 @@
* managed to set the command line, unless CONFIG_CMDLINE_FORCE * managed to set the command line, unless CONFIG_CMDLINE_FORCE
--- a/arch/arm64/Kconfig --- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig
@@ -2059,6 +2059,14 @@ config CMDLINE_FORCE @@ -2097,6 +2097,14 @@ config CMDLINE_FORCE
endchoice endchoice

View File

@@ -20,7 +20,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
--- a/drivers/mtd/nand/raw/Kconfig --- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig +++ b/drivers/mtd/nand/raw/Kconfig
@@ -358,6 +358,14 @@ config MTD_NAND_QCOM @@ -357,6 +357,14 @@ config MTD_NAND_QCOM
Enables support for NAND flash chips on SoCs containing the EBI2 NAND Enables support for NAND flash chips on SoCs containing the EBI2 NAND
controller. This controller is found on IPQ806x SoC. controller. This controller is found on IPQ806x SoC.

View File

@@ -64,7 +64,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#include <media/v4l2-common.h> #include <media/v4l2-common.h>
@@ -1214,9 +1219,149 @@ static void uvc_video_decode_data(struct @@ -1243,9 +1248,149 @@ static void uvc_video_decode_data(struct
uvc_urb->async_operations++; uvc_urb->async_operations++;
} }
@@ -214,7 +214,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
/* Mark the buffer as done if the EOF marker is set. */ /* Mark the buffer as done if the EOF marker is set. */
if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) { if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) {
uvc_dbg(stream->dev, FRAME, "Frame complete (EOF found)\n"); uvc_dbg(stream->dev, FRAME, "Frame complete (EOF found)\n");
@@ -1801,6 +1946,8 @@ static int uvc_init_video_isoc(struct uv @@ -1830,6 +1975,8 @@ static int uvc_init_video_isoc(struct uv
if (npackets == 0) if (npackets == 0)
return -ENOMEM; return -ENOMEM;