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>
This commit is contained in:
		 John Audia
					John Audia
				
			
				
					committed by
					
						 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
			
				
	
			
			
			 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
						parent
						
							5da5958f5a
						
					
				
				
					commit
					0e89ba8430
				
			| @@ -1,2 +1,2 @@ | |||||||
| LINUX_VERSION-5.15 = .116 | LINUX_VERSION-5.15 = .117 | ||||||
| LINUX_KERNEL_HASH-5.15.116 = f617c9d1bb5326cc93495938f43eb8cb9aea9d2f451e5a99bce2893f296e179a | LINUX_KERNEL_HASH-5.15.117 = a9a8331f3c0e004b40a41f30d688b53bf85405597ac41c2c89be7f4fbcf7239f | ||||||
|   | |||||||
| @@ -311,7 +311,7 @@ SVN-Revision: 35130 | |||||||
|  		case IPV6_2292HOPOPTS: |  		case IPV6_2292HOPOPTS: | ||||||
| --- a/net/ipv6/exthdrs.c | --- a/net/ipv6/exthdrs.c | ||||||
| +++ b/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; |  		goto drop; | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
|   | |||||||
| @@ -31,13 +31,13 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org> | |||||||
|  |  | ||||||
| --- a/drivers/ata/ahci.h | --- a/drivers/ata/ahci.h | ||||||
| +++ b/drivers/ata/ahci.h | +++ b/drivers/ata/ahci.h | ||||||
| @@ -240,8 +240,6 @@ enum { | @@ -241,8 +241,6 @@ enum { | ||||||
|  						      as default 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 */ |  						      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() */ | -						      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 */ |  	/* ap->flags bits */ | ||||||
| --- a/drivers/ata/ahci_mvebu.c | --- a/drivers/ata/ahci_mvebu.c | ||||||
|   | |||||||
| @@ -233,7 +233,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  static inline void |  static inline void | ||||||
| --- a/include/linux/netdevice.h | --- a/include/linux/netdevice.h | ||||||
| +++ b/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_BRIDGE, | ||||||
|  	DEV_PATH_PPPOE, |  	DEV_PATH_PPPOE, | ||||||
|  	DEV_PATH_DSA, |  	DEV_PATH_DSA, | ||||||
| @@ -241,7 +241,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  }; |  }; | ||||||
|   |   | ||||||
|  struct net_device_path { |  struct net_device_path { | ||||||
| @@ -897,6 +898,12 @@ struct net_device_path { | @@ -900,6 +901,12 @@ struct net_device_path { | ||||||
|  			int port; |  			int port; | ||||||
|  			u16 proto; |  			u16 proto; | ||||||
|  		} dsa; |  		} 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 | --- a/net/netfilter/nf_conntrack_core.c | ||||||
| +++ b/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) { |  	if (!nf_conntrack_htable_size) { | ||||||
|  		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 | --- a/include/linux/netdevice.h | ||||||
| +++ b/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), |  	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_802_1Q_VLAN			IFF_802_1Q_VLAN | ||||||
|  #define IFF_EBRIDGE			IFF_EBRIDGE |  #define IFF_EBRIDGE			IFF_EBRIDGE | ||||||
|  #define IFF_BONDING			IFF_BONDING |  #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_L3MDEV_RX_HANDLER		IFF_L3MDEV_RX_HANDLER | ||||||
|  #define IFF_LIVE_RENAME_OK		IFF_LIVE_RENAME_OK |  #define IFF_LIVE_RENAME_OK		IFF_LIVE_RENAME_OK | ||||||
|  #define IFF_TX_SKB_NO_LINEAR		IFF_TX_SKB_NO_LINEAR |  #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 */ |  /* Specifies the type of the struct net_device::ml_priv pointer */ | ||||||
|  enum netdev_ml_priv_type { |  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 */ |  	/* Read-mostly cache-line for fast-path access */ | ||||||
|  	unsigned int		flags; |  	unsigned int		flags; | ||||||
|  	unsigned int		priv_flags; |  	unsigned int		priv_flags; | ||||||
| @@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  	const struct net_device_ops *netdev_ops; |  	const struct net_device_ops *netdev_ops; | ||||||
|  	int			ifindex; |  	int			ifindex; | ||||||
|  	unsigned short		gflags; |  	unsigned short		gflags; | ||||||
| @@ -2072,6 +2078,11 @@ struct net_device { | @@ -2075,6 +2081,11 @@ struct net_device { | ||||||
|  	const struct tlsdev_ops *tlsdev_ops; |  	const struct tlsdev_ops *tlsdev_ops; | ||||||
|  #endif |  #endif | ||||||
|   |   | ||||||
| @@ -58,7 +58,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  	const struct header_ops *header_ops; |  	const struct header_ops *header_ops; | ||||||
|   |   | ||||||
|  	unsigned char		operstate; |  	unsigned char		operstate; | ||||||
| @@ -2146,6 +2157,10 @@ struct net_device { | @@ -2149,6 +2160,10 @@ struct net_device { | ||||||
|  	struct mctp_dev __rcu	*mctp_ptr; |  	struct mctp_dev __rcu	*mctp_ptr; | ||||||
|  #endif |  #endif | ||||||
|   |   | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  |  | ||||||
| --- a/include/linux/netdevice.h | --- a/include/linux/netdevice.h | ||||||
| +++ b/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	mc; | ||||||
|  	struct netdev_hw_addr_list	dev_addrs; |  	struct netdev_hw_addr_list	dev_addrs; | ||||||
|   |   | ||||||
| @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  	__u8			inner_protocol_type:1; |  	__u8			inner_protocol_type:1; | ||||||
| --- a/net/core/dev.c | --- a/net/core/dev.c | ||||||
| +++ b/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 same_flow; | ||||||
|  	int grow; |  	int grow; | ||||||
|   |   | ||||||
| @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  	if (netif_elide_gro(skb->dev)) |  	if (netif_elide_gro(skb->dev)) | ||||||
|  		goto normal; |  		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); |  					   &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, |  static int __netdev_upper_dev_link(struct net_device *dev, | ||||||
|  				   struct net_device *upper_dev, bool master, |  				   struct net_device *upper_dev, bool master, | ||||||
|  				   void *upper_priv, void *upper_info, |  				   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) |  	if (ret) | ||||||
|  		return ret; |  		return ret; | ||||||
|   |   | ||||||
| @@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  	ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, |  	ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, | ||||||
|  					    &changeupper_info.info); |  					    &changeupper_info.info); | ||||||
|  	ret = notifier_to_errno(ret); |  	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); |  	__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, |  	call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, | ||||||
|  				      &changeupper_info.info); |  				      &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) |  	if (err) | ||||||
|  		return err; |  		return err; | ||||||
|  	dev->addr_assign_type = NET_ADDR_SET; |  	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 |   *	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		processed; | ||||||
|  	unsigned int		time_squeeze; |  	unsigned int		time_squeeze; | ||||||
|  	unsigned int		received_rps; |  	unsigned int		received_rps; | ||||||
| @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  #endif |  #endif | ||||||
| --- a/net/core/dev.c | --- a/net/core/dev.c | ||||||
| +++ b/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 |  #ifdef CONFIG_RPS | ||||||
|  	struct softnet_data *mysd = this_cpu_ptr(&softnet_data); |  	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; |  		sd->rps_ipi_next = mysd->rps_ipi_list; | ||||||
|  		mysd->rps_ipi_list = sd; |  		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 */ |  /* Network device is going away, flush any packets still pending */ | ||||||
|  static void flush_backlog(struct work_struct *work) |  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 sk_buff *skb, *tmp; | ||||||
|  	struct softnet_data *sd; |  	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); |  			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) { |  	skb_queue_walk_safe(&sd->process_queue, skb, tmp) { | ||||||
|  		if (skb->dev->reg_state == NETREG_UNREGISTERING) { |  		if (skb->dev->reg_state == NETREG_UNREGISTERING) { | ||||||
|  			__skb_unlink(skb, &sd->process_queue); |  			__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); |  			input_queue_head_incr(sd); | ||||||
|  		} |  		} | ||||||
|  	} |  	} | ||||||
| @@ -86,7 +86,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  static bool flush_required(int cpu) |  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(); |  		local_irq_disable(); | ||||||
|  		rps_lock(sd); |  		rps_lock(sd); | ||||||
| @@ -94,7 +94,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  		if (skb_queue_empty(&sd->input_pkt_queue)) { |  		if (skb_queue_empty(&sd->input_pkt_queue)) { | ||||||
|  			/* |  			/* | ||||||
|  			 * Inline a custom version of __napi_complete(). |  			 * 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(), |  			 * We can use a plain write instead of clear_bit(), | ||||||
|  			 * and we dont need an smp_mb() memory barrier. |  			 * and we dont need an smp_mb() memory barrier. | ||||||
|  			 */ |  			 */ | ||||||
| @@ -104,7 +104,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  			again = false; |  			again = false; | ||||||
|  		} else { |  		} else { | ||||||
|  			skb_queue_splice_tail_init(&sd->input_pkt_queue, |  			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); |  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, |  void netif_napi_add(struct net_device *dev, struct napi_struct *napi, | ||||||
|  		    int (*poll)(struct napi_struct *, int), int weight) |  		    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); |  	raise_softirq_irqoff(NET_TX_SOFTIRQ); | ||||||
|  	local_irq_enable(); |  	local_irq_enable(); | ||||||
|   |   | ||||||
| @@ -172,7 +172,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  #ifdef CONFIG_RPS |  #ifdef CONFIG_RPS | ||||||
|  	remsd = oldsd->rps_ipi_list; |  	remsd = oldsd->rps_ipi_list; | ||||||
|  	oldsd->rps_ipi_list = NULL; |  	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; |  		sd->cpu = i; | ||||||
|  #endif |  #endif | ||||||
|   |   | ||||||
|   | |||||||
| @@ -334,7 +334,7 @@ Signed-off-by: Wolfram Sang <wsa@kernel.org> | |||||||
|   |   | ||||||
| --- a/drivers/i2c/busses/i2c-mv64xxx.c | --- a/drivers/i2c/busses/i2c-mv64xxx.c | ||||||
| +++ b/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)) |  	if (IS_ERR(drv_data->reg_base)) | ||||||
|  		return PTR_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 | --- a/arch/riscv/Kconfig | ||||||
| +++ b/arch/riscv/Kconfig | +++ b/arch/riscv/Kconfig | ||||||
| @@ -565,6 +565,14 @@ config BUILTIN_DTB | @@ -566,6 +566,14 @@ config BUILTIN_DTB | ||||||
|  	depends on OF |  	depends on OF | ||||||
|  	default y if XIP_KERNEL |  	default y if XIP_KERNEL | ||||||
|   |   | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user