kernel: bump 5.15 to 5.15.117
Manually rebased:
	generic/backport-5.15/346-v5.18-01-Revert-ata-ahci-mvebu-Make-SATA-PHY-optional-for-Arm.patch
Removed upstreamed:
	generic/backport-5.15/830-v6.2-ata-ahci-fix-enum-constants-for-gcc-13.patch
All other patches automatically rebased.
Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3
Signed-off-by: John Audia <therealgraysky@proton.me>
(cherry picked from commit 0e89ba8430)
			
			
This commit is contained in:
		
				
					committed by
					
						
						Hauke Mehrtens
					
				
			
			
				
	
			
			
			
						parent
						
							1de5f74062
						
					
				
				
					commit
					1b6f2af148
				
			@@ -1,2 +1,2 @@
 | 
			
		||||
LINUX_VERSION-5.15 = .116
 | 
			
		||||
LINUX_KERNEL_HASH-5.15.116 = f617c9d1bb5326cc93495938f43eb8cb9aea9d2f451e5a99bce2893f296e179a
 | 
			
		||||
LINUX_VERSION-5.15 = .117
 | 
			
		||||
LINUX_KERNEL_HASH-5.15.117 = a9a8331f3c0e004b40a41f30d688b53bf85405597ac41c2c89be7f4fbcf7239f
 | 
			
		||||
 
 | 
			
		||||
@@ -311,7 +311,7 @@ SVN-Revision: 35130
 | 
			
		||||
 		case IPV6_2292HOPOPTS:
 | 
			
		||||
--- a/net/ipv6/exthdrs.c
 | 
			
		||||
+++ b/net/ipv6/exthdrs.c
 | 
			
		||||
@@ -1009,7 +1009,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
 | 
			
		||||
@@ -1002,7 +1002,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
 | 
			
		||||
 		goto drop;
 | 
			
		||||
 	}
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -31,13 +31,13 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
 | 
			
		||||
 | 
			
		||||
--- a/drivers/ata/ahci.h
 | 
			
		||||
+++ b/drivers/ata/ahci.h
 | 
			
		||||
@@ -240,8 +240,6 @@ enum {
 | 
			
		||||
@@ -241,8 +241,6 @@ enum {
 | 
			
		||||
 						      as default lpm_policy */
 | 
			
		||||
 	AHCI_HFLAG_SUSPEND_PHYS		= (1 << 26), /* handle PHYs during
 | 
			
		||||
 	AHCI_HFLAG_SUSPEND_PHYS		= BIT(26), /* handle PHYs during
 | 
			
		||||
 						      suspend/resume */
 | 
			
		||||
-	AHCI_HFLAG_IGN_NOTSUPP_POWER_ON	= (1 << 27), /* ignore -EOPNOTSUPP
 | 
			
		||||
-	AHCI_HFLAG_IGN_NOTSUPP_POWER_ON	= BIT(27), /* ignore -EOPNOTSUPP
 | 
			
		||||
-						      from phy_power_on() */
 | 
			
		||||
 	AHCI_HFLAG_NO_SXS		= (1 << 28), /* SXS not supported */
 | 
			
		||||
 	AHCI_HFLAG_NO_SXS		= BIT(28), /* SXS not supported */
 | 
			
		||||
 
 | 
			
		||||
 	/* ap->flags bits */
 | 
			
		||||
--- a/drivers/ata/ahci_mvebu.c
 | 
			
		||||
 
 | 
			
		||||
@@ -233,7 +233,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 static inline void
 | 
			
		||||
--- a/include/linux/netdevice.h
 | 
			
		||||
+++ b/include/linux/netdevice.h
 | 
			
		||||
@@ -872,6 +872,7 @@ enum net_device_path_type {
 | 
			
		||||
@@ -875,6 +875,7 @@ enum net_device_path_type {
 | 
			
		||||
 	DEV_PATH_BRIDGE,
 | 
			
		||||
 	DEV_PATH_PPPOE,
 | 
			
		||||
 	DEV_PATH_DSA,
 | 
			
		||||
@@ -241,7 +241,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 struct net_device_path {
 | 
			
		||||
@@ -897,6 +898,12 @@ struct net_device_path {
 | 
			
		||||
@@ -900,6 +901,12 @@ struct net_device_path {
 | 
			
		||||
 			int port;
 | 
			
		||||
 			u16 proto;
 | 
			
		||||
 		} dsa;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,348 +0,0 @@
 | 
			
		||||
From f07788079f515ca4a681c5f595bdad19cfbd7b1d Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Arnd Bergmann <arnd@arndb.de>
 | 
			
		||||
Date: Sat, 3 Dec 2022 11:54:25 +0100
 | 
			
		||||
Subject: [PATCH] ata: ahci: fix enum constants for gcc-13
 | 
			
		||||
 | 
			
		||||
gcc-13 slightly changes the type of constant expressions that are defined
 | 
			
		||||
in an enum, which triggers a compile time sanity check in libata:
 | 
			
		||||
 | 
			
		||||
linux/drivers/ata/libahci.c: In function 'ahci_led_store':
 | 
			
		||||
linux/include/linux/compiler_types.h:357:45: error: call to '__compiletime_assert_302' declared with attribute error: BUILD_BUG_ON failed: sizeof(_s) > sizeof(long)
 | 
			
		||||
357 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
 | 
			
		||||
 | 
			
		||||
The new behavior is that sizeof() returns the same value for the
 | 
			
		||||
constant as it does for the enum type, which is generally more sensible
 | 
			
		||||
and consistent.
 | 
			
		||||
 | 
			
		||||
The problem in libata is that it contains a single enum definition for
 | 
			
		||||
lots of unrelated constants, some of which are large positive (unsigned)
 | 
			
		||||
integers like 0xffffffff, while others like (1<<31) are interpreted as
 | 
			
		||||
negative integers, and this forces the enum type to become 64 bit wide
 | 
			
		||||
even though most constants would still fit into a signed 32-bit 'int'.
 | 
			
		||||
 | 
			
		||||
Fix this by changing the entire enum definition to use BIT(x) in place
 | 
			
		||||
of (1<<x), which results in all values being seen as 'unsigned' and
 | 
			
		||||
fitting into an unsigned 32-bit type.
 | 
			
		||||
 | 
			
		||||
Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107917
 | 
			
		||||
Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107405
 | 
			
		||||
Reported-by: Luis Machado <luis.machado@arm.com>
 | 
			
		||||
Cc: linux-ide@vger.kernel.org
 | 
			
		||||
Cc: Damien Le Moal <damien.lemoal@opensource.wdc.com>
 | 
			
		||||
Cc: stable@vger.kernel.org
 | 
			
		||||
Cc: Randy Dunlap <rdunlap@infradead.org>
 | 
			
		||||
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
 | 
			
		||||
Tested-by: Luis Machado <luis.machado@arm.com>
 | 
			
		||||
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
 | 
			
		||||
---
 | 
			
		||||
 drivers/ata/ahci.h | 245 +++++++++++++++++++++++----------------------
 | 
			
		||||
 1 file changed, 123 insertions(+), 122 deletions(-)
 | 
			
		||||
 | 
			
		||||
--- a/drivers/ata/ahci.h
 | 
			
		||||
+++ b/drivers/ata/ahci.h
 | 
			
		||||
@@ -24,6 +24,7 @@
 | 
			
		||||
 #include <linux/libata.h>
 | 
			
		||||
 #include <linux/phy/phy.h>
 | 
			
		||||
 #include <linux/regulator/consumer.h>
 | 
			
		||||
+#include <linux/bits.h>
 | 
			
		||||
 
 | 
			
		||||
 /* Enclosure Management Control */
 | 
			
		||||
 #define EM_CTRL_MSG_TYPE              0x000f0000
 | 
			
		||||
@@ -54,12 +55,12 @@ enum {
 | 
			
		||||
 	AHCI_PORT_PRIV_FBS_DMA_SZ	= AHCI_CMD_SLOT_SZ +
 | 
			
		||||
 					  AHCI_CMD_TBL_AR_SZ +
 | 
			
		||||
 					  (AHCI_RX_FIS_SZ * 16),
 | 
			
		||||
-	AHCI_IRQ_ON_SG		= (1 << 31),
 | 
			
		||||
-	AHCI_CMD_ATAPI		= (1 << 5),
 | 
			
		||||
-	AHCI_CMD_WRITE		= (1 << 6),
 | 
			
		||||
-	AHCI_CMD_PREFETCH	= (1 << 7),
 | 
			
		||||
-	AHCI_CMD_RESET		= (1 << 8),
 | 
			
		||||
-	AHCI_CMD_CLR_BUSY	= (1 << 10),
 | 
			
		||||
+	AHCI_IRQ_ON_SG		= BIT(31),
 | 
			
		||||
+	AHCI_CMD_ATAPI		= BIT(5),
 | 
			
		||||
+	AHCI_CMD_WRITE		= BIT(6),
 | 
			
		||||
+	AHCI_CMD_PREFETCH	= BIT(7),
 | 
			
		||||
+	AHCI_CMD_RESET		= BIT(8),
 | 
			
		||||
+	AHCI_CMD_CLR_BUSY	= BIT(10),
 | 
			
		||||
 
 | 
			
		||||
 	RX_FIS_PIO_SETUP	= 0x20,	/* offset of PIO Setup FIS data */
 | 
			
		||||
 	RX_FIS_D2H_REG		= 0x40,	/* offset of D2H Register FIS data */
 | 
			
		||||
@@ -77,37 +78,37 @@ enum {
 | 
			
		||||
 	HOST_CAP2		= 0x24, /* host capabilities, extended */
 | 
			
		||||
 
 | 
			
		||||
 	/* HOST_CTL bits */
 | 
			
		||||
-	HOST_RESET		= (1 << 0),  /* reset controller; self-clear */
 | 
			
		||||
-	HOST_IRQ_EN		= (1 << 1),  /* global IRQ enable */
 | 
			
		||||
-	HOST_MRSM		= (1 << 2),  /* MSI Revert to Single Message */
 | 
			
		||||
-	HOST_AHCI_EN		= (1 << 31), /* AHCI enabled */
 | 
			
		||||
+	HOST_RESET		= BIT(0),  /* reset controller; self-clear */
 | 
			
		||||
+	HOST_IRQ_EN		= BIT(1),  /* global IRQ enable */
 | 
			
		||||
+	HOST_MRSM		= BIT(2),  /* MSI Revert to Single Message */
 | 
			
		||||
+	HOST_AHCI_EN		= BIT(31), /* AHCI enabled */
 | 
			
		||||
 
 | 
			
		||||
 	/* HOST_CAP bits */
 | 
			
		||||
-	HOST_CAP_SXS		= (1 << 5),  /* Supports External SATA */
 | 
			
		||||
-	HOST_CAP_EMS		= (1 << 6),  /* Enclosure Management support */
 | 
			
		||||
-	HOST_CAP_CCC		= (1 << 7),  /* Command Completion Coalescing */
 | 
			
		||||
-	HOST_CAP_PART		= (1 << 13), /* Partial state capable */
 | 
			
		||||
-	HOST_CAP_SSC		= (1 << 14), /* Slumber state capable */
 | 
			
		||||
-	HOST_CAP_PIO_MULTI	= (1 << 15), /* PIO multiple DRQ support */
 | 
			
		||||
-	HOST_CAP_FBS		= (1 << 16), /* FIS-based switching support */
 | 
			
		||||
-	HOST_CAP_PMP		= (1 << 17), /* Port Multiplier support */
 | 
			
		||||
-	HOST_CAP_ONLY		= (1 << 18), /* Supports AHCI mode only */
 | 
			
		||||
-	HOST_CAP_CLO		= (1 << 24), /* Command List Override support */
 | 
			
		||||
-	HOST_CAP_LED		= (1 << 25), /* Supports activity LED */
 | 
			
		||||
-	HOST_CAP_ALPM		= (1 << 26), /* Aggressive Link PM support */
 | 
			
		||||
-	HOST_CAP_SSS		= (1 << 27), /* Staggered Spin-up */
 | 
			
		||||
-	HOST_CAP_MPS		= (1 << 28), /* Mechanical presence switch */
 | 
			
		||||
-	HOST_CAP_SNTF		= (1 << 29), /* SNotification register */
 | 
			
		||||
-	HOST_CAP_NCQ		= (1 << 30), /* Native Command Queueing */
 | 
			
		||||
-	HOST_CAP_64		= (1 << 31), /* PCI DAC (64-bit DMA) support */
 | 
			
		||||
+	HOST_CAP_SXS		= BIT(5),  /* Supports External SATA */
 | 
			
		||||
+	HOST_CAP_EMS		= BIT(6),  /* Enclosure Management support */
 | 
			
		||||
+	HOST_CAP_CCC		= BIT(7),  /* Command Completion Coalescing */
 | 
			
		||||
+	HOST_CAP_PART		= BIT(13), /* Partial state capable */
 | 
			
		||||
+	HOST_CAP_SSC		= BIT(14), /* Slumber state capable */
 | 
			
		||||
+	HOST_CAP_PIO_MULTI	= BIT(15), /* PIO multiple DRQ support */
 | 
			
		||||
+	HOST_CAP_FBS		= BIT(16), /* FIS-based switching support */
 | 
			
		||||
+	HOST_CAP_PMP		= BIT(17), /* Port Multiplier support */
 | 
			
		||||
+	HOST_CAP_ONLY		= BIT(18), /* Supports AHCI mode only */
 | 
			
		||||
+	HOST_CAP_CLO		= BIT(24), /* Command List Override support */
 | 
			
		||||
+	HOST_CAP_LED		= BIT(25), /* Supports activity LED */
 | 
			
		||||
+	HOST_CAP_ALPM		= BIT(26), /* Aggressive Link PM support */
 | 
			
		||||
+	HOST_CAP_SSS		= BIT(27), /* Staggered Spin-up */
 | 
			
		||||
+	HOST_CAP_MPS		= BIT(28), /* Mechanical presence switch */
 | 
			
		||||
+	HOST_CAP_SNTF		= BIT(29), /* SNotification register */
 | 
			
		||||
+	HOST_CAP_NCQ		= BIT(30), /* Native Command Queueing */
 | 
			
		||||
+	HOST_CAP_64		= BIT(31), /* PCI DAC (64-bit DMA) support */
 | 
			
		||||
 
 | 
			
		||||
 	/* HOST_CAP2 bits */
 | 
			
		||||
-	HOST_CAP2_BOH		= (1 << 0),  /* BIOS/OS handoff supported */
 | 
			
		||||
-	HOST_CAP2_NVMHCI	= (1 << 1),  /* NVMHCI supported */
 | 
			
		||||
-	HOST_CAP2_APST		= (1 << 2),  /* Automatic partial to slumber */
 | 
			
		||||
-	HOST_CAP2_SDS		= (1 << 3),  /* Support device sleep */
 | 
			
		||||
-	HOST_CAP2_SADM		= (1 << 4),  /* Support aggressive DevSlp */
 | 
			
		||||
-	HOST_CAP2_DESO		= (1 << 5),  /* DevSlp from slumber only */
 | 
			
		||||
+	HOST_CAP2_BOH		= BIT(0),  /* BIOS/OS handoff supported */
 | 
			
		||||
+	HOST_CAP2_NVMHCI	= BIT(1),  /* NVMHCI supported */
 | 
			
		||||
+	HOST_CAP2_APST		= BIT(2),  /* Automatic partial to slumber */
 | 
			
		||||
+	HOST_CAP2_SDS		= BIT(3),  /* Support device sleep */
 | 
			
		||||
+	HOST_CAP2_SADM		= BIT(4),  /* Support aggressive DevSlp */
 | 
			
		||||
+	HOST_CAP2_DESO		= BIT(5),  /* DevSlp from slumber only */
 | 
			
		||||
 
 | 
			
		||||
 	/* registers for each SATA port */
 | 
			
		||||
 	PORT_LST_ADDR		= 0x00, /* command list DMA addr */
 | 
			
		||||
@@ -129,24 +130,24 @@ enum {
 | 
			
		||||
 	PORT_DEVSLP		= 0x44, /* device sleep */
 | 
			
		||||
 
 | 
			
		||||
 	/* PORT_IRQ_{STAT,MASK} bits */
 | 
			
		||||
-	PORT_IRQ_COLD_PRES	= (1 << 31), /* cold presence detect */
 | 
			
		||||
-	PORT_IRQ_TF_ERR		= (1 << 30), /* task file error */
 | 
			
		||||
-	PORT_IRQ_HBUS_ERR	= (1 << 29), /* host bus fatal error */
 | 
			
		||||
-	PORT_IRQ_HBUS_DATA_ERR	= (1 << 28), /* host bus data error */
 | 
			
		||||
-	PORT_IRQ_IF_ERR		= (1 << 27), /* interface fatal error */
 | 
			
		||||
-	PORT_IRQ_IF_NONFATAL	= (1 << 26), /* interface non-fatal error */
 | 
			
		||||
-	PORT_IRQ_OVERFLOW	= (1 << 24), /* xfer exhausted available S/G */
 | 
			
		||||
-	PORT_IRQ_BAD_PMP	= (1 << 23), /* incorrect port multiplier */
 | 
			
		||||
-
 | 
			
		||||
-	PORT_IRQ_PHYRDY		= (1 << 22), /* PhyRdy changed */
 | 
			
		||||
-	PORT_IRQ_DEV_ILCK	= (1 << 7), /* device interlock */
 | 
			
		||||
-	PORT_IRQ_CONNECT	= (1 << 6), /* port connect change status */
 | 
			
		||||
-	PORT_IRQ_SG_DONE	= (1 << 5), /* descriptor processed */
 | 
			
		||||
-	PORT_IRQ_UNK_FIS	= (1 << 4), /* unknown FIS rx'd */
 | 
			
		||||
-	PORT_IRQ_SDB_FIS	= (1 << 3), /* Set Device Bits FIS rx'd */
 | 
			
		||||
-	PORT_IRQ_DMAS_FIS	= (1 << 2), /* DMA Setup FIS rx'd */
 | 
			
		||||
-	PORT_IRQ_PIOS_FIS	= (1 << 1), /* PIO Setup FIS rx'd */
 | 
			
		||||
-	PORT_IRQ_D2H_REG_FIS	= (1 << 0), /* D2H Register FIS rx'd */
 | 
			
		||||
+	PORT_IRQ_COLD_PRES	= BIT(31), /* cold presence detect */
 | 
			
		||||
+	PORT_IRQ_TF_ERR		= BIT(30), /* task file error */
 | 
			
		||||
+	PORT_IRQ_HBUS_ERR	= BIT(29), /* host bus fatal error */
 | 
			
		||||
+	PORT_IRQ_HBUS_DATA_ERR	= BIT(28), /* host bus data error */
 | 
			
		||||
+	PORT_IRQ_IF_ERR		= BIT(27), /* interface fatal error */
 | 
			
		||||
+	PORT_IRQ_IF_NONFATAL	= BIT(26), /* interface non-fatal error */
 | 
			
		||||
+	PORT_IRQ_OVERFLOW	= BIT(24), /* xfer exhausted available S/G */
 | 
			
		||||
+	PORT_IRQ_BAD_PMP	= BIT(23), /* incorrect port multiplier */
 | 
			
		||||
+
 | 
			
		||||
+	PORT_IRQ_PHYRDY		= BIT(22), /* PhyRdy changed */
 | 
			
		||||
+	PORT_IRQ_DEV_ILCK	= BIT(7), /* device interlock */
 | 
			
		||||
+	PORT_IRQ_CONNECT	= BIT(6), /* port connect change status */
 | 
			
		||||
+	PORT_IRQ_SG_DONE	= BIT(5), /* descriptor processed */
 | 
			
		||||
+	PORT_IRQ_UNK_FIS	= BIT(4), /* unknown FIS rx'd */
 | 
			
		||||
+	PORT_IRQ_SDB_FIS	= BIT(3), /* Set Device Bits FIS rx'd */
 | 
			
		||||
+	PORT_IRQ_DMAS_FIS	= BIT(2), /* DMA Setup FIS rx'd */
 | 
			
		||||
+	PORT_IRQ_PIOS_FIS	= BIT(1), /* PIO Setup FIS rx'd */
 | 
			
		||||
+	PORT_IRQ_D2H_REG_FIS	= BIT(0), /* D2H Register FIS rx'd */
 | 
			
		||||
 
 | 
			
		||||
 	PORT_IRQ_FREEZE		= PORT_IRQ_HBUS_ERR |
 | 
			
		||||
 				  PORT_IRQ_IF_ERR |
 | 
			
		||||
@@ -162,34 +163,34 @@ enum {
 | 
			
		||||
 				  PORT_IRQ_PIOS_FIS | PORT_IRQ_D2H_REG_FIS,
 | 
			
		||||
 
 | 
			
		||||
 	/* PORT_CMD bits */
 | 
			
		||||
-	PORT_CMD_ASP		= (1 << 27), /* Aggressive Slumber/Partial */
 | 
			
		||||
-	PORT_CMD_ALPE		= (1 << 26), /* Aggressive Link PM enable */
 | 
			
		||||
-	PORT_CMD_ATAPI		= (1 << 24), /* Device is ATAPI */
 | 
			
		||||
-	PORT_CMD_FBSCP		= (1 << 22), /* FBS Capable Port */
 | 
			
		||||
-	PORT_CMD_ESP		= (1 << 21), /* External Sata Port */
 | 
			
		||||
-	PORT_CMD_HPCP		= (1 << 18), /* HotPlug Capable Port */
 | 
			
		||||
-	PORT_CMD_PMP		= (1 << 17), /* PMP attached */
 | 
			
		||||
-	PORT_CMD_LIST_ON	= (1 << 15), /* cmd list DMA engine running */
 | 
			
		||||
-	PORT_CMD_FIS_ON		= (1 << 14), /* FIS DMA engine running */
 | 
			
		||||
-	PORT_CMD_FIS_RX		= (1 << 4), /* Enable FIS receive DMA engine */
 | 
			
		||||
-	PORT_CMD_CLO		= (1 << 3), /* Command list override */
 | 
			
		||||
-	PORT_CMD_POWER_ON	= (1 << 2), /* Power up device */
 | 
			
		||||
-	PORT_CMD_SPIN_UP	= (1 << 1), /* Spin up device */
 | 
			
		||||
-	PORT_CMD_START		= (1 << 0), /* Enable port DMA engine */
 | 
			
		||||
-
 | 
			
		||||
-	PORT_CMD_ICC_MASK	= (0xf << 28), /* i/f ICC state mask */
 | 
			
		||||
-	PORT_CMD_ICC_ACTIVE	= (0x1 << 28), /* Put i/f in active state */
 | 
			
		||||
-	PORT_CMD_ICC_PARTIAL	= (0x2 << 28), /* Put i/f in partial state */
 | 
			
		||||
-	PORT_CMD_ICC_SLUMBER	= (0x6 << 28), /* Put i/f in slumber state */
 | 
			
		||||
+	PORT_CMD_ASP		= BIT(27), /* Aggressive Slumber/Partial */
 | 
			
		||||
+	PORT_CMD_ALPE		= BIT(26), /* Aggressive Link PM enable */
 | 
			
		||||
+	PORT_CMD_ATAPI		= BIT(24), /* Device is ATAPI */
 | 
			
		||||
+	PORT_CMD_FBSCP		= BIT(22), /* FBS Capable Port */
 | 
			
		||||
+	PORT_CMD_ESP		= BIT(21), /* External Sata Port */
 | 
			
		||||
+	PORT_CMD_HPCP		= BIT(18), /* HotPlug Capable Port */
 | 
			
		||||
+	PORT_CMD_PMP		= BIT(17), /* PMP attached */
 | 
			
		||||
+	PORT_CMD_LIST_ON	= BIT(15), /* cmd list DMA engine running */
 | 
			
		||||
+	PORT_CMD_FIS_ON		= BIT(14), /* FIS DMA engine running */
 | 
			
		||||
+	PORT_CMD_FIS_RX		= BIT(4), /* Enable FIS receive DMA engine */
 | 
			
		||||
+	PORT_CMD_CLO		= BIT(3), /* Command list override */
 | 
			
		||||
+	PORT_CMD_POWER_ON	= BIT(2), /* Power up device */
 | 
			
		||||
+	PORT_CMD_SPIN_UP	= BIT(1), /* Spin up device */
 | 
			
		||||
+	PORT_CMD_START		= BIT(0), /* Enable port DMA engine */
 | 
			
		||||
+
 | 
			
		||||
+	PORT_CMD_ICC_MASK	= (0xfu << 28), /* i/f ICC state mask */
 | 
			
		||||
+	PORT_CMD_ICC_ACTIVE	= (0x1u << 28), /* Put i/f in active state */
 | 
			
		||||
+	PORT_CMD_ICC_PARTIAL	= (0x2u << 28), /* Put i/f in partial state */
 | 
			
		||||
+	PORT_CMD_ICC_SLUMBER	= (0x6u << 28), /* Put i/f in slumber state */
 | 
			
		||||
 
 | 
			
		||||
 	/* PORT_FBS bits */
 | 
			
		||||
 	PORT_FBS_DWE_OFFSET	= 16, /* FBS device with error offset */
 | 
			
		||||
 	PORT_FBS_ADO_OFFSET	= 12, /* FBS active dev optimization offset */
 | 
			
		||||
 	PORT_FBS_DEV_OFFSET	= 8,  /* FBS device to issue offset */
 | 
			
		||||
 	PORT_FBS_DEV_MASK	= (0xf << PORT_FBS_DEV_OFFSET),  /* FBS.DEV */
 | 
			
		||||
-	PORT_FBS_SDE		= (1 << 2), /* FBS single device error */
 | 
			
		||||
-	PORT_FBS_DEC		= (1 << 1), /* FBS device error clear */
 | 
			
		||||
-	PORT_FBS_EN		= (1 << 0), /* Enable FBS */
 | 
			
		||||
+	PORT_FBS_SDE		= BIT(2), /* FBS single device error */
 | 
			
		||||
+	PORT_FBS_DEC		= BIT(1), /* FBS device error clear */
 | 
			
		||||
+	PORT_FBS_EN		= BIT(0), /* Enable FBS */
 | 
			
		||||
 
 | 
			
		||||
 	/* PORT_DEVSLP bits */
 | 
			
		||||
 	PORT_DEVSLP_DM_OFFSET	= 25,             /* DITO multiplier offset */
 | 
			
		||||
@@ -197,50 +198,50 @@ enum {
 | 
			
		||||
 	PORT_DEVSLP_DITO_OFFSET	= 15,             /* DITO offset */
 | 
			
		||||
 	PORT_DEVSLP_MDAT_OFFSET	= 10,             /* Minimum assertion time */
 | 
			
		||||
 	PORT_DEVSLP_DETO_OFFSET	= 2,              /* DevSlp exit timeout */
 | 
			
		||||
-	PORT_DEVSLP_DSP		= (1 << 1),       /* DevSlp present */
 | 
			
		||||
-	PORT_DEVSLP_ADSE	= (1 << 0),       /* Aggressive DevSlp enable */
 | 
			
		||||
+	PORT_DEVSLP_DSP		= BIT(1),       /* DevSlp present */
 | 
			
		||||
+	PORT_DEVSLP_ADSE	= BIT(0),       /* Aggressive DevSlp enable */
 | 
			
		||||
 
 | 
			
		||||
 	/* hpriv->flags bits */
 | 
			
		||||
 
 | 
			
		||||
 #define AHCI_HFLAGS(flags)		.private_data	= (void *)(flags)
 | 
			
		||||
 
 | 
			
		||||
-	AHCI_HFLAG_NO_NCQ		= (1 << 0),
 | 
			
		||||
-	AHCI_HFLAG_IGN_IRQ_IF_ERR	= (1 << 1), /* ignore IRQ_IF_ERR */
 | 
			
		||||
-	AHCI_HFLAG_IGN_SERR_INTERNAL	= (1 << 2), /* ignore SERR_INTERNAL */
 | 
			
		||||
-	AHCI_HFLAG_32BIT_ONLY		= (1 << 3), /* force 32bit */
 | 
			
		||||
-	AHCI_HFLAG_MV_PATA		= (1 << 4), /* PATA port */
 | 
			
		||||
-	AHCI_HFLAG_NO_MSI		= (1 << 5), /* no PCI MSI */
 | 
			
		||||
-	AHCI_HFLAG_NO_PMP		= (1 << 6), /* no PMP */
 | 
			
		||||
-	AHCI_HFLAG_SECT255		= (1 << 8), /* max 255 sectors */
 | 
			
		||||
-	AHCI_HFLAG_YES_NCQ		= (1 << 9), /* force NCQ cap on */
 | 
			
		||||
-	AHCI_HFLAG_NO_SUSPEND		= (1 << 10), /* don't suspend */
 | 
			
		||||
-	AHCI_HFLAG_SRST_TOUT_IS_OFFLINE	= (1 << 11), /* treat SRST timeout as
 | 
			
		||||
+	AHCI_HFLAG_NO_NCQ		= BIT(0),
 | 
			
		||||
+	AHCI_HFLAG_IGN_IRQ_IF_ERR	= BIT(1), /* ignore IRQ_IF_ERR */
 | 
			
		||||
+	AHCI_HFLAG_IGN_SERR_INTERNAL	= BIT(2), /* ignore SERR_INTERNAL */
 | 
			
		||||
+	AHCI_HFLAG_32BIT_ONLY		= BIT(3), /* force 32bit */
 | 
			
		||||
+	AHCI_HFLAG_MV_PATA		= BIT(4), /* PATA port */
 | 
			
		||||
+	AHCI_HFLAG_NO_MSI		= BIT(5), /* no PCI MSI */
 | 
			
		||||
+	AHCI_HFLAG_NO_PMP		= BIT(6), /* no PMP */
 | 
			
		||||
+	AHCI_HFLAG_SECT255		= BIT(8), /* max 255 sectors */
 | 
			
		||||
+	AHCI_HFLAG_YES_NCQ		= BIT(9), /* force NCQ cap on */
 | 
			
		||||
+	AHCI_HFLAG_NO_SUSPEND		= BIT(10), /* don't suspend */
 | 
			
		||||
+	AHCI_HFLAG_SRST_TOUT_IS_OFFLINE	= BIT(11), /* treat SRST timeout as
 | 
			
		||||
 							link offline */
 | 
			
		||||
-	AHCI_HFLAG_NO_SNTF		= (1 << 12), /* no sntf */
 | 
			
		||||
-	AHCI_HFLAG_NO_FPDMA_AA		= (1 << 13), /* no FPDMA AA */
 | 
			
		||||
-	AHCI_HFLAG_YES_FBS		= (1 << 14), /* force FBS cap on */
 | 
			
		||||
-	AHCI_HFLAG_DELAY_ENGINE		= (1 << 15), /* do not start engine on
 | 
			
		||||
+	AHCI_HFLAG_NO_SNTF		= BIT(12), /* no sntf */
 | 
			
		||||
+	AHCI_HFLAG_NO_FPDMA_AA		= BIT(13), /* no FPDMA AA */
 | 
			
		||||
+	AHCI_HFLAG_YES_FBS		= BIT(14), /* force FBS cap on */
 | 
			
		||||
+	AHCI_HFLAG_DELAY_ENGINE		= BIT(15), /* do not start engine on
 | 
			
		||||
 						        port start (wait until
 | 
			
		||||
 						        error-handling stage) */
 | 
			
		||||
-	AHCI_HFLAG_NO_DEVSLP		= (1 << 17), /* no device sleep */
 | 
			
		||||
-	AHCI_HFLAG_NO_FBS		= (1 << 18), /* no FBS */
 | 
			
		||||
+	AHCI_HFLAG_NO_DEVSLP		= BIT(17), /* no device sleep */
 | 
			
		||||
+	AHCI_HFLAG_NO_FBS		= BIT(18), /* no FBS */
 | 
			
		||||
 
 | 
			
		||||
 #ifdef CONFIG_PCI_MSI
 | 
			
		||||
-	AHCI_HFLAG_MULTI_MSI		= (1 << 20), /* per-port MSI(-X) */
 | 
			
		||||
+	AHCI_HFLAG_MULTI_MSI		= BIT(20), /* per-port MSI(-X) */
 | 
			
		||||
 #else
 | 
			
		||||
 	/* compile out MSI infrastructure */
 | 
			
		||||
 	AHCI_HFLAG_MULTI_MSI		= 0,
 | 
			
		||||
 #endif
 | 
			
		||||
-	AHCI_HFLAG_WAKE_BEFORE_STOP	= (1 << 22), /* wake before DMA stop */
 | 
			
		||||
-	AHCI_HFLAG_YES_ALPM		= (1 << 23), /* force ALPM cap on */
 | 
			
		||||
-	AHCI_HFLAG_NO_WRITE_TO_RO	= (1 << 24), /* don't write to read
 | 
			
		||||
+	AHCI_HFLAG_WAKE_BEFORE_STOP	= BIT(22), /* wake before DMA stop */
 | 
			
		||||
+	AHCI_HFLAG_YES_ALPM		= BIT(23), /* force ALPM cap on */
 | 
			
		||||
+	AHCI_HFLAG_NO_WRITE_TO_RO	= BIT(24), /* don't write to read
 | 
			
		||||
 							only registers */
 | 
			
		||||
-	AHCI_HFLAG_IS_MOBILE		= (1 << 25), /* mobile chipset, use
 | 
			
		||||
+	AHCI_HFLAG_IS_MOBILE		= BIT(25), /* mobile chipset, use
 | 
			
		||||
 							SATA_MOBILE_LPM_POLICY
 | 
			
		||||
 							as default lpm_policy */
 | 
			
		||||
-	AHCI_HFLAG_SUSPEND_PHYS		= (1 << 26), /* handle PHYs during
 | 
			
		||||
+	AHCI_HFLAG_SUSPEND_PHYS		= BIT(26), /* handle PHYs during
 | 
			
		||||
 							suspend/resume */
 | 
			
		||||
-	AHCI_HFLAG_NO_SXS		= (1 << 28), /* SXS not supported */
 | 
			
		||||
+	AHCI_HFLAG_NO_SXS		= BIT(28), /* SXS not supported */
 | 
			
		||||
 
 | 
			
		||||
 	/* ap->flags bits */
 | 
			
		||||
 
 | 
			
		||||
@@ -256,22 +257,22 @@ enum {
 | 
			
		||||
 	EM_MAX_RETRY			= 5,
 | 
			
		||||
 
 | 
			
		||||
 	/* em_ctl bits */
 | 
			
		||||
-	EM_CTL_RST		= (1 << 9), /* Reset */
 | 
			
		||||
-	EM_CTL_TM		= (1 << 8), /* Transmit Message */
 | 
			
		||||
-	EM_CTL_MR		= (1 << 0), /* Message Received */
 | 
			
		||||
-	EM_CTL_ALHD		= (1 << 26), /* Activity LED */
 | 
			
		||||
-	EM_CTL_XMT		= (1 << 25), /* Transmit Only */
 | 
			
		||||
-	EM_CTL_SMB		= (1 << 24), /* Single Message Buffer */
 | 
			
		||||
-	EM_CTL_SGPIO		= (1 << 19), /* SGPIO messages supported */
 | 
			
		||||
-	EM_CTL_SES		= (1 << 18), /* SES-2 messages supported */
 | 
			
		||||
-	EM_CTL_SAFTE		= (1 << 17), /* SAF-TE messages supported */
 | 
			
		||||
-	EM_CTL_LED		= (1 << 16), /* LED messages supported */
 | 
			
		||||
+	EM_CTL_RST		= BIT(9), /* Reset */
 | 
			
		||||
+	EM_CTL_TM		= BIT(8), /* Transmit Message */
 | 
			
		||||
+	EM_CTL_MR		= BIT(0), /* Message Received */
 | 
			
		||||
+	EM_CTL_ALHD		= BIT(26), /* Activity LED */
 | 
			
		||||
+	EM_CTL_XMT		= BIT(25), /* Transmit Only */
 | 
			
		||||
+	EM_CTL_SMB		= BIT(24), /* Single Message Buffer */
 | 
			
		||||
+	EM_CTL_SGPIO		= BIT(19), /* SGPIO messages supported */
 | 
			
		||||
+	EM_CTL_SES		= BIT(18), /* SES-2 messages supported */
 | 
			
		||||
+	EM_CTL_SAFTE		= BIT(17), /* SAF-TE messages supported */
 | 
			
		||||
+	EM_CTL_LED		= BIT(16), /* LED messages supported */
 | 
			
		||||
 
 | 
			
		||||
 	/* em message type */
 | 
			
		||||
-	EM_MSG_TYPE_LED		= (1 << 0), /* LED */
 | 
			
		||||
-	EM_MSG_TYPE_SAFTE	= (1 << 1), /* SAF-TE */
 | 
			
		||||
-	EM_MSG_TYPE_SES2	= (1 << 2), /* SES-2 */
 | 
			
		||||
-	EM_MSG_TYPE_SGPIO	= (1 << 3), /* SGPIO */
 | 
			
		||||
+	EM_MSG_TYPE_LED		= BIT(0), /* LED */
 | 
			
		||||
+	EM_MSG_TYPE_SAFTE	= BIT(1), /* SAF-TE */
 | 
			
		||||
+	EM_MSG_TYPE_SES2	= BIT(2), /* SES-2 */
 | 
			
		||||
+	EM_MSG_TYPE_SGPIO	= BIT(3), /* SGPIO */
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 struct ahci_cmd_hdr {
 | 
			
		||||
@@ -14,7 +14,7 @@ Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
 | 
			
		||||
 | 
			
		||||
--- a/net/netfilter/nf_conntrack_core.c
 | 
			
		||||
+++ b/net/netfilter/nf_conntrack_core.c
 | 
			
		||||
@@ -2735,7 +2735,7 @@ int nf_conntrack_init_start(void)
 | 
			
		||||
@@ -2738,7 +2738,7 @@ int nf_conntrack_init_start(void)
 | 
			
		||||
 
 | 
			
		||||
 	if (!nf_conntrack_htable_size) {
 | 
			
		||||
 		nf_conntrack_htable_size
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 | 
			
		||||
--- a/include/linux/netdevice.h
 | 
			
		||||
+++ b/include/linux/netdevice.h
 | 
			
		||||
@@ -1679,6 +1679,10 @@ enum netdev_priv_flags {
 | 
			
		||||
@@ -1682,6 +1682,10 @@ enum netdev_priv_flags {
 | 
			
		||||
 	IFF_TX_SKB_NO_LINEAR		= BIT_ULL(31),
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 #define IFF_802_1Q_VLAN			IFF_802_1Q_VLAN
 | 
			
		||||
 #define IFF_EBRIDGE			IFF_EBRIDGE
 | 
			
		||||
 #define IFF_BONDING			IFF_BONDING
 | 
			
		||||
@@ -1711,6 +1715,7 @@ enum netdev_priv_flags {
 | 
			
		||||
@@ -1714,6 +1718,7 @@ enum netdev_priv_flags {
 | 
			
		||||
 #define IFF_L3MDEV_RX_HANDLER		IFF_L3MDEV_RX_HANDLER
 | 
			
		||||
 #define IFF_LIVE_RENAME_OK		IFF_LIVE_RENAME_OK
 | 
			
		||||
 #define IFF_TX_SKB_NO_LINEAR		IFF_TX_SKB_NO_LINEAR
 | 
			
		||||
@@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 
 | 
			
		||||
 /* Specifies the type of the struct net_device::ml_priv pointer */
 | 
			
		||||
 enum netdev_ml_priv_type {
 | 
			
		||||
@@ -2012,6 +2017,7 @@ struct net_device {
 | 
			
		||||
@@ -2015,6 +2020,7 @@ struct net_device {
 | 
			
		||||
 	/* Read-mostly cache-line for fast-path access */
 | 
			
		||||
 	unsigned int		flags;
 | 
			
		||||
 	unsigned int		priv_flags;
 | 
			
		||||
@@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 	const struct net_device_ops *netdev_ops;
 | 
			
		||||
 	int			ifindex;
 | 
			
		||||
 	unsigned short		gflags;
 | 
			
		||||
@@ -2072,6 +2078,11 @@ struct net_device {
 | 
			
		||||
@@ -2075,6 +2081,11 @@ struct net_device {
 | 
			
		||||
 	const struct tlsdev_ops *tlsdev_ops;
 | 
			
		||||
 #endif
 | 
			
		||||
 
 | 
			
		||||
@@ -58,7 +58,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 	const struct header_ops *header_ops;
 | 
			
		||||
 
 | 
			
		||||
 	unsigned char		operstate;
 | 
			
		||||
@@ -2146,6 +2157,10 @@ struct net_device {
 | 
			
		||||
@@ -2149,6 +2160,10 @@ struct net_device {
 | 
			
		||||
 	struct mctp_dev __rcu	*mctp_ptr;
 | 
			
		||||
 #endif
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 | 
			
		||||
--- a/include/linux/netdevice.h
 | 
			
		||||
+++ b/include/linux/netdevice.h
 | 
			
		||||
@@ -2098,6 +2098,8 @@ struct net_device {
 | 
			
		||||
@@ -2101,6 +2101,8 @@ struct net_device {
 | 
			
		||||
 	struct netdev_hw_addr_list	mc;
 | 
			
		||||
 	struct netdev_hw_addr_list	dev_addrs;
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 	__u8			inner_protocol_type:1;
 | 
			
		||||
--- a/net/core/dev.c
 | 
			
		||||
+++ b/net/core/dev.c
 | 
			
		||||
@@ -6067,6 +6067,9 @@ static enum gro_result dev_gro_receive(s
 | 
			
		||||
@@ -6069,6 +6069,9 @@ static enum gro_result dev_gro_receive(s
 | 
			
		||||
 	int same_flow;
 | 
			
		||||
 	int grow;
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 	if (netif_elide_gro(skb->dev))
 | 
			
		||||
 		goto normal;
 | 
			
		||||
 
 | 
			
		||||
@@ -8081,6 +8084,48 @@ static void __netdev_adjacent_dev_unlink
 | 
			
		||||
@@ -8083,6 +8086,48 @@ static void __netdev_adjacent_dev_unlink
 | 
			
		||||
 					   &upper_dev->adj_list.lower);
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 static int __netdev_upper_dev_link(struct net_device *dev,
 | 
			
		||||
 				   struct net_device *upper_dev, bool master,
 | 
			
		||||
 				   void *upper_priv, void *upper_info,
 | 
			
		||||
@@ -8132,6 +8177,7 @@ static int __netdev_upper_dev_link(struc
 | 
			
		||||
@@ -8134,6 +8179,7 @@ static int __netdev_upper_dev_link(struc
 | 
			
		||||
 	if (ret)
 | 
			
		||||
 		return ret;
 | 
			
		||||
 
 | 
			
		||||
@@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 	ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
 | 
			
		||||
 					    &changeupper_info.info);
 | 
			
		||||
 	ret = notifier_to_errno(ret);
 | 
			
		||||
@@ -8228,6 +8274,7 @@ static void __netdev_upper_dev_unlink(st
 | 
			
		||||
@@ -8230,6 +8276,7 @@ static void __netdev_upper_dev_unlink(st
 | 
			
		||||
 
 | 
			
		||||
 	__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
 | 
			
		||||
 
 | 
			
		||||
@@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 	call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
 | 
			
		||||
 				      &changeupper_info.info);
 | 
			
		||||
 
 | 
			
		||||
@@ -9047,6 +9094,7 @@ int dev_set_mac_address(struct net_devic
 | 
			
		||||
@@ -9049,6 +9096,7 @@ int dev_set_mac_address(struct net_devic
 | 
			
		||||
 	if (err)
 | 
			
		||||
 		return err;
 | 
			
		||||
 	dev->addr_assign_type = NET_ADDR_SET;
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 
 | 
			
		||||
 /**
 | 
			
		||||
  *	napi_disable - prevent NAPI from scheduling
 | 
			
		||||
@@ -3365,6 +3366,7 @@ struct softnet_data {
 | 
			
		||||
@@ -3368,6 +3369,7 @@ struct softnet_data {
 | 
			
		||||
 	unsigned int		processed;
 | 
			
		||||
 	unsigned int		time_squeeze;
 | 
			
		||||
 	unsigned int		received_rps;
 | 
			
		||||
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 #endif
 | 
			
		||||
--- a/net/core/dev.c
 | 
			
		||||
+++ b/net/core/dev.c
 | 
			
		||||
@@ -4576,7 +4576,7 @@ static int rps_ipi_queued(struct softnet
 | 
			
		||||
@@ -4578,7 +4578,7 @@ static int rps_ipi_queued(struct softnet
 | 
			
		||||
 #ifdef CONFIG_RPS
 | 
			
		||||
 	struct softnet_data *mysd = this_cpu_ptr(&softnet_data);
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 		sd->rps_ipi_next = mysd->rps_ipi_list;
 | 
			
		||||
 		mysd->rps_ipi_list = sd;
 | 
			
		||||
 
 | 
			
		||||
@@ -5757,6 +5757,8 @@ static DEFINE_PER_CPU(struct work_struct
 | 
			
		||||
@@ -5759,6 +5759,8 @@ static DEFINE_PER_CPU(struct work_struct
 | 
			
		||||
 /* Network device is going away, flush any packets still pending */
 | 
			
		||||
 static void flush_backlog(struct work_struct *work)
 | 
			
		||||
 {
 | 
			
		||||
@@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 	struct sk_buff *skb, *tmp;
 | 
			
		||||
 	struct softnet_data *sd;
 | 
			
		||||
 
 | 
			
		||||
@@ -5772,9 +5774,18 @@ static void flush_backlog(struct work_st
 | 
			
		||||
@@ -5774,9 +5776,18 @@ static void flush_backlog(struct work_st
 | 
			
		||||
 			input_queue_head_incr(sd);
 | 
			
		||||
 		}
 | 
			
		||||
 	}
 | 
			
		||||
@@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 	skb_queue_walk_safe(&sd->process_queue, skb, tmp) {
 | 
			
		||||
 		if (skb->dev->reg_state == NETREG_UNREGISTERING) {
 | 
			
		||||
 			__skb_unlink(skb, &sd->process_queue);
 | 
			
		||||
@@ -5782,7 +5793,18 @@ static void flush_backlog(struct work_st
 | 
			
		||||
@@ -5784,7 +5795,18 @@ static void flush_backlog(struct work_st
 | 
			
		||||
 			input_queue_head_incr(sd);
 | 
			
		||||
 		}
 | 
			
		||||
 	}
 | 
			
		||||
@@ -86,7 +86,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 static bool flush_required(int cpu)
 | 
			
		||||
@@ -6465,6 +6487,7 @@ static int process_backlog(struct napi_s
 | 
			
		||||
@@ -6467,6 +6489,7 @@ static int process_backlog(struct napi_s
 | 
			
		||||
 
 | 
			
		||||
 		local_irq_disable();
 | 
			
		||||
 		rps_lock(sd);
 | 
			
		||||
@@ -94,7 +94,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 		if (skb_queue_empty(&sd->input_pkt_queue)) {
 | 
			
		||||
 			/*
 | 
			
		||||
 			 * Inline a custom version of __napi_complete().
 | 
			
		||||
@@ -6474,7 +6497,8 @@ static int process_backlog(struct napi_s
 | 
			
		||||
@@ -6476,7 +6499,8 @@ static int process_backlog(struct napi_s
 | 
			
		||||
 			 * We can use a plain write instead of clear_bit(),
 | 
			
		||||
 			 * and we dont need an smp_mb() memory barrier.
 | 
			
		||||
 			 */
 | 
			
		||||
@@ -104,7 +104,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 			again = false;
 | 
			
		||||
 		} else {
 | 
			
		||||
 			skb_queue_splice_tail_init(&sd->input_pkt_queue,
 | 
			
		||||
@@ -6891,6 +6915,57 @@ int dev_set_threaded(struct net_device *
 | 
			
		||||
@@ -6893,6 +6917,57 @@ int dev_set_threaded(struct net_device *
 | 
			
		||||
 }
 | 
			
		||||
 EXPORT_SYMBOL(dev_set_threaded);
 | 
			
		||||
 
 | 
			
		||||
@@ -162,7 +162,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 void netif_napi_add(struct net_device *dev, struct napi_struct *napi,
 | 
			
		||||
 		    int (*poll)(struct napi_struct *, int), int weight)
 | 
			
		||||
 {
 | 
			
		||||
@@ -11369,6 +11444,9 @@ static int dev_cpu_dead(unsigned int old
 | 
			
		||||
@@ -11371,6 +11446,9 @@ static int dev_cpu_dead(unsigned int old
 | 
			
		||||
 	raise_softirq_irqoff(NET_TX_SOFTIRQ);
 | 
			
		||||
 	local_irq_enable();
 | 
			
		||||
 
 | 
			
		||||
@@ -172,7 +172,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 #ifdef CONFIG_RPS
 | 
			
		||||
 	remsd = oldsd->rps_ipi_list;
 | 
			
		||||
 	oldsd->rps_ipi_list = NULL;
 | 
			
		||||
@@ -11708,6 +11786,7 @@ static int __init net_dev_init(void)
 | 
			
		||||
@@ -11710,6 +11788,7 @@ static int __init net_dev_init(void)
 | 
			
		||||
 		sd->cpu = i;
 | 
			
		||||
 #endif
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -334,7 +334,7 @@ Signed-off-by: Wolfram Sang <wsa@kernel.org>
 | 
			
		||||
 
 | 
			
		||||
--- a/drivers/i2c/busses/i2c-mv64xxx.c
 | 
			
		||||
+++ b/drivers/i2c/busses/i2c-mv64xxx.c
 | 
			
		||||
@@ -989,7 +989,7 @@ mv64xxx_i2c_probe(struct platform_device
 | 
			
		||||
@@ -1000,7 +1000,7 @@ mv64xxx_i2c_probe(struct platform_device
 | 
			
		||||
 	if (IS_ERR(drv_data->reg_base))
 | 
			
		||||
 		return PTR_ERR(drv_data->reg_base);
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
 | 
			
		||||
 | 
			
		||||
--- a/arch/riscv/Kconfig
 | 
			
		||||
+++ b/arch/riscv/Kconfig
 | 
			
		||||
@@ -565,6 +565,14 @@ config BUILTIN_DTB
 | 
			
		||||
@@ -566,6 +566,14 @@ config BUILTIN_DTB
 | 
			
		||||
 	depends on OF
 | 
			
		||||
 	default y if XIP_KERNEL
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user