kernel: bump 5.15 to 5.15.148
Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.148 Removed upstreamed: generic/hack-5.15/321-powerpc_crtsavres_prereq.patch[1] Manually rebased: target/linux/octeontx/patches-5.15/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch[2] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.148&id=0b11a145eb00d51f7ef18cfcae587b93f9adb1e9 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit?h=v5.15.148&id=b67064bd372300a75293efbbc70624996dccffd4 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
						
							2c363a070e
						
					
				
				
					commit
					99c9d8abd6
				
			| @@ -1,2 +1,2 @@ | |||||||
| LINUX_VERSION-5.15 = .147 | LINUX_VERSION-5.15 = .148 | ||||||
| LINUX_KERNEL_HASH-5.15.147 = 56c1e65625d201db431efda7a3816e7b424071e7cb0245b2ba594d15b1fdfcd4 | LINUX_KERNEL_HASH-5.15.148 = c48575c97fd9f4767cbe50a13b1b2b40ee42830aba3182fabd35a03259a6e5d8 | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ Signed-off-by: John Crispin <john@phrozen.org> | |||||||
|  |  | ||||||
| --- a/drivers/leds/Kconfig | --- a/drivers/leds/Kconfig | ||||||
| +++ b/drivers/leds/Kconfig | +++ b/drivers/leds/Kconfig | ||||||
| @@ -877,6 +877,17 @@ source "drivers/leds/blink/Kconfig" | @@ -878,6 +878,17 @@ source "drivers/leds/blink/Kconfig" | ||||||
|  comment "Flash and Torch LED drivers" |  comment "Flash and Torch LED drivers" | ||||||
|  source "drivers/leds/flash/Kconfig" |  source "drivers/leds/flash/Kconfig" | ||||||
|   |   | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> | |||||||
|  |  | ||||||
| --- a/drivers/mfd/syscon.c | --- a/drivers/mfd/syscon.c | ||||||
| +++ b/drivers/mfd/syscon.c | +++ b/drivers/mfd/syscon.c | ||||||
| @@ -205,6 +205,27 @@ struct regmap *syscon_regmap_lookup_by_c | @@ -209,6 +209,27 @@ struct regmap *syscon_regmap_lookup_by_c | ||||||
|  } |  } | ||||||
|  EXPORT_SYMBOL_GPL(syscon_regmap_lookup_by_compatible); |  EXPORT_SYMBOL_GPL(syscon_regmap_lookup_by_compatible); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -66,7 +66,7 @@ Link: https://lore.kernel.org/r/20211103085102.1656081-2-horatiu.vultur@microchi | |||||||
| +EXPORT_SYMBOL_GPL(__devm_clk_hw_register_gate); | +EXPORT_SYMBOL_GPL(__devm_clk_hw_register_gate); | ||||||
| --- a/include/linux/clk-provider.h | --- a/include/linux/clk-provider.h | ||||||
| +++ b/include/linux/clk-provider.h | +++ b/include/linux/clk-provider.h | ||||||
| @@ -490,6 +490,13 @@ struct clk_hw *__clk_hw_register_gate(st | @@ -517,6 +517,13 @@ struct clk_hw *__clk_hw_register_gate(st | ||||||
|  		unsigned long flags, |  		unsigned long flags, | ||||||
|  		void __iomem *reg, u8 bit_idx, |  		void __iomem *reg, u8 bit_idx, | ||||||
|  		u8 clk_gate_flags, spinlock_t *lock); |  		u8 clk_gate_flags, spinlock_t *lock); | ||||||
| @@ -80,7 +80,7 @@ Link: https://lore.kernel.org/r/20211103085102.1656081-2-horatiu.vultur@microchi | |||||||
|  struct clk *clk_register_gate(struct device *dev, const char *name, |  struct clk *clk_register_gate(struct device *dev, const char *name, | ||||||
|  		const char *parent_name, unsigned long flags, |  		const char *parent_name, unsigned long flags, | ||||||
|  		void __iomem *reg, u8 bit_idx, |  		void __iomem *reg, u8 bit_idx, | ||||||
| @@ -544,6 +551,22 @@ struct clk *clk_register_gate(struct dev | @@ -571,6 +578,22 @@ struct clk *clk_register_gate(struct dev | ||||||
|  	__clk_hw_register_gate((dev), NULL, (name), NULL, NULL, (parent_data), \ |  	__clk_hw_register_gate((dev), NULL, (name), NULL, NULL, (parent_data), \ | ||||||
|  			       (flags), (reg), (bit_idx),		      \ |  			       (flags), (reg), (bit_idx),		      \ | ||||||
|  			       (clk_gate_flags), (lock)) |  			       (clk_gate_flags), (lock)) | ||||||
|   | |||||||
| @@ -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); | ||||||
| @@ -3782,6 +3773,8 @@ static int stmmac_open(struct net_device | @@ -3783,6 +3774,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__); | ||||||
| @@ -6429,6 +6422,7 @@ void stmmac_enable_rx_queue(struct stmma | @@ -6430,6 +6423,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, | ||||||
| @@ -6490,6 +6484,7 @@ void stmmac_enable_tx_queue(struct stmma | @@ -6491,6 +6485,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, | ||||||
| @@ -7414,6 +7409,25 @@ int stmmac_suspend(struct device *dev) | @@ -7415,6 +7410,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 | ||||||
| @@ -7424,22 +7438,11 @@ static void stmmac_reset_queues_param(st | @@ -7425,22 +7439,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; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -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 | ||||||
| @@ -3834,8 +3834,6 @@ static int stmmac_release(struct net_dev | @@ -3835,8 +3835,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 */ | ||||||
| @@ -3847,6 +3845,8 @@ static int stmmac_release(struct net_dev | @@ -3848,6 +3846,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); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -719,7 +719,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  			} |  			} | ||||||
|  		} |  		} | ||||||
|   |   | ||||||
| @@ -3575,7 +3575,7 @@ static int stmmac_request_irq_multi_msi( | @@ -3576,7 +3576,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", | ||||||
| @@ -3598,7 +3598,7 @@ static int stmmac_request_irq_multi_msi( | @@ -3599,7 +3599,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", | ||||||
| @@ -3729,21 +3729,21 @@ static int stmmac_open(struct net_device | @@ -3730,21 +3730,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 */ | ||||||
| @@ -3801,7 +3801,7 @@ irq_error: | @@ -3802,7 +3802,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: | ||||||
| @@ -3843,7 +3843,7 @@ static int stmmac_release(struct net_dev | @@ -3844,7 +3844,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); | ||||||
|   |   | ||||||
| @@ -3907,7 +3907,7 @@ static bool stmmac_vlan_insert(struct st | @@ -3908,7 +3908,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; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -3925,7 +3925,7 @@ static bool stmmac_vlan_insert(struct st | @@ -3926,7 +3926,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; | ||||||
| @@ -3936,7 +3936,7 @@ static void stmmac_tso_allocator(struct | @@ -3937,7 +3937,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) | ||||||
| @@ -3964,7 +3964,7 @@ static void stmmac_tso_allocator(struct | @@ -3965,7 +3965,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)) | ||||||
| @@ -4026,7 +4026,7 @@ static netdev_tx_t stmmac_tso_xmit(struc | @@ -4027,7 +4027,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 */ | ||||||
| @@ -4066,7 +4066,7 @@ static netdev_tx_t stmmac_tso_xmit(struc | @@ -4067,7 +4067,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]); | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -4178,7 +4178,7 @@ static netdev_tx_t stmmac_tso_xmit(struc | @@ -4179,7 +4179,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", | ||||||
| @@ -4266,7 +4266,7 @@ static netdev_tx_t stmmac_xmit(struct sk | @@ -4267,7 +4267,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) | ||||||
| @@ -4329,7 +4329,7 @@ static netdev_tx_t stmmac_xmit(struct sk | @@ -4330,7 +4330,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)) | ||||||
| @@ -4400,7 +4400,7 @@ static netdev_tx_t stmmac_xmit(struct sk | @@ -4401,7 +4401,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)) { | ||||||
| @@ -4512,7 +4512,7 @@ static void stmmac_rx_vlan(struct net_de | @@ -4513,7 +4513,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; | ||||||
|   |   | ||||||
| @@ -4562,7 +4562,7 @@ static inline void stmmac_rx_refill(stru | @@ -4563,7 +4563,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 + | ||||||
| @@ -4590,12 +4590,12 @@ static unsigned int stmmac_rx_buf1_len(s | @@ -4591,12 +4591,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, | ||||||
| @@ -4611,7 +4611,7 @@ static unsigned int stmmac_rx_buf2_len(s | @@ -4612,7 +4612,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); | ||||||
|   |   | ||||||
| @@ -4622,7 +4622,7 @@ static unsigned int stmmac_rx_buf2_len(s | @@ -4623,7 +4623,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; | ||||||
| @@ -4685,7 +4685,7 @@ static int stmmac_xdp_xmit_xdpf(struct s | @@ -4686,7 +4686,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; | ||||||
| @@ -4859,7 +4859,7 @@ static void stmmac_dispatch_skb_zc(struc | @@ -4860,7 +4860,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; | ||||||
| @@ -4902,7 +4902,7 @@ static bool stmmac_rx_refill_zc(struct s | @@ -4903,7 +4903,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) { | ||||||
| @@ -4917,7 +4917,7 @@ static bool stmmac_rx_refill_zc(struct s | @@ -4918,7 +4918,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; | ||||||
| @@ -4939,7 +4939,7 @@ static int stmmac_rx_zc(struct stmmac_pr | @@ -4940,7 +4940,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) { | ||||||
| @@ -4986,7 +4986,7 @@ read_again: | @@ -4987,7 +4987,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) | ||||||
| @@ -5107,7 +5107,7 @@ read_again: | @@ -5108,7 +5108,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; | ||||||
| @@ -5120,7 +5120,7 @@ static int stmmac_rx(struct stmmac_priv | @@ -5121,7 +5121,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; | ||||||
| @@ -5134,7 +5134,7 @@ static int stmmac_rx(struct stmmac_priv | @@ -5135,7 +5135,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) { | ||||||
| @@ -5178,7 +5178,7 @@ read_again: | @@ -5179,7 +5179,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) | ||||||
| @@ -5312,7 +5312,7 @@ read_again: | @@ -5313,7 +5313,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); | ||||||
| @@ -5324,7 +5324,7 @@ read_again: | @@ -5325,7 +5325,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); | ||||||
| @@ -5767,11 +5767,13 @@ static irqreturn_t stmmac_safety_interru | @@ -5768,11 +5768,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> | |||||||
|   |   | ||||||
|  	if (unlikely(!data)) { |  	if (unlikely(!data)) { | ||||||
|  		netdev_err(priv->dev, "%s: invalid dev pointer\n", __func__); |  		netdev_err(priv->dev, "%s: invalid dev pointer\n", __func__); | ||||||
| @@ -5811,10 +5813,12 @@ static irqreturn_t stmmac_msi_intr_tx(in | @@ -5812,10 +5814,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> | |||||||
|   |   | ||||||
|  	if (unlikely(!data)) { |  	if (unlikely(!data)) { | ||||||
|  		netdev_err(priv->dev, "%s: invalid dev pointer\n", __func__); |  		netdev_err(priv->dev, "%s: invalid dev pointer\n", __func__); | ||||||
| @@ -5845,10 +5849,10 @@ static void stmmac_poll_controller(struc | @@ -5846,10 +5850,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); | ||||||
| @@ -6029,34 +6033,34 @@ static int stmmac_rings_status_show(stru | @@ -6030,34 +6034,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> | |||||||
|  		} |  		} | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -6403,7 +6407,7 @@ void stmmac_disable_rx_queue(struct stmm | @@ -6404,7 +6408,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; | ||||||
| @@ -6440,7 +6444,7 @@ void stmmac_enable_rx_queue(struct stmma | @@ -6441,7 +6445,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); | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -6466,7 +6470,7 @@ void stmmac_disable_tx_queue(struct stmm | @@ -6467,7 +6471,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; | ||||||
| @@ -6516,7 +6520,7 @@ void stmmac_xdp_release(struct net_devic | @@ -6517,7 +6521,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); | ||||||
| @@ -6575,7 +6579,7 @@ int stmmac_xdp_open(struct net_device *d | @@ -6576,7 +6580,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); | ||||||
| @@ -6593,7 +6597,7 @@ int stmmac_xdp_open(struct net_device *d | @@ -6594,7 +6598,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); | ||||||
|  		} |  		} | ||||||
|   |   | ||||||
| @@ -6602,7 +6606,7 @@ int stmmac_xdp_open(struct net_device *d | @@ -6603,7 +6607,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); | ||||||
| @@ -6635,7 +6639,7 @@ int stmmac_xdp_open(struct net_device *d | @@ -6636,7 +6640,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: | ||||||
| @@ -6662,8 +6666,8 @@ int stmmac_xsk_wakeup(struct net_device | @@ -6663,8 +6667,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) | ||||||
| @@ -6923,8 +6927,8 @@ int stmmac_reinit_ringparam(struct net_d | @@ -6924,8 +6928,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); | ||||||
| @@ -7359,7 +7363,7 @@ int stmmac_suspend(struct device *dev) | @@ -7360,7 +7364,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; | ||||||
| @@ -7411,7 +7415,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend); | @@ -7412,7 +7416,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; | ||||||
| @@ -7419,7 +7423,7 @@ static void stmmac_reset_rx_queue(struct | @@ -7420,7 +7424,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) | ||||||
|  { |  { | ||||||
|   | |||||||
| @@ -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); | ||||||
| @@ -3685,19 +3748,93 @@ static int stmmac_request_irq(struct net | @@ -3686,19 +3749,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; | ||||||
|   |   | ||||||
| @@ -3724,45 +3861,10 @@ static int stmmac_open(struct net_device | @@ -3725,45 +3862,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); | ||||||
| @@ -3805,14 +3907,28 @@ irq_error: | @@ -3806,14 +3908,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); | ||||||
| @@ -3859,7 +3975,7 @@ static int stmmac_release(struct net_dev | @@ -3860,7 +3976,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); | ||||||
| @@ -6402,7 +6518,7 @@ void stmmac_disable_rx_queue(struct stmm | @@ -6403,7 +6519,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) | ||||||
| @@ -6413,21 +6529,21 @@ void stmmac_enable_rx_queue(struct stmma | @@ -6414,21 +6530,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); | ||||||
| @@ -6465,7 +6581,7 @@ void stmmac_disable_tx_queue(struct stmm | @@ -6466,7 +6582,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) | ||||||
| @@ -6475,21 +6591,21 @@ void stmmac_enable_tx_queue(struct stmma | @@ -6476,21 +6592,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); | ||||||
| @@ -6529,7 +6645,7 @@ void stmmac_xdp_release(struct net_devic | @@ -6530,7 +6646,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); | ||||||
| @@ -6554,14 +6670,14 @@ int stmmac_xdp_open(struct net_device *d | @@ -6555,14 +6671,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__); | ||||||
| @@ -6643,7 +6759,7 @@ irq_error: | @@ -6644,7 +6760,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; | ||||||
|  } |  } | ||||||
| @@ -7506,7 +7622,7 @@ int stmmac_resume(struct device *dev) | @@ -7507,7 +7623,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); | ||||||
|   | |||||||
| @@ -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 | ||||||
| @@ -5624,18 +5624,15 @@ static int stmmac_change_mtu(struct net_ | @@ -5625,18 +5625,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; | ||||||
| @@ -5647,8 +5644,29 @@ static int stmmac_change_mtu(struct net_ | @@ -5648,8 +5645,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; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -128,7 +128,7 @@ Link: https://lore.kernel.org/r/20220118173504.2867523-2-michael@walle.cc | |||||||
|   |   | ||||||
|  /** |  /** | ||||||
|   * of_parse_phandle_with_args_map() - Find a node pointed by phandle in a list and remap it |   * of_parse_phandle_with_args_map() - Find a node pointed by phandle in a list and remap it | ||||||
| @@ -1684,47 +1612,6 @@ free: | @@ -1685,47 +1613,6 @@ free: | ||||||
|  EXPORT_SYMBOL(of_parse_phandle_with_args_map); |  EXPORT_SYMBOL(of_parse_phandle_with_args_map); | ||||||
|   |   | ||||||
|  /** |  /** | ||||||
| @@ -200,7 +200,7 @@ Link: https://lore.kernel.org/r/20220118173504.2867523-2-michael@walle.cc | |||||||
|  extern int of_count_phandle_with_args(const struct device_node *np, |  extern int of_count_phandle_with_args(const struct device_node *np, | ||||||
|  	const char *list_name, const char *cells_name); |  	const char *list_name, const char *cells_name); | ||||||
|   |   | ||||||
| @@ -864,18 +858,12 @@ static inline int of_property_read_strin | @@ -714,18 +708,12 @@ static inline int of_property_read_strin | ||||||
|  	return -ENOSYS; |  	return -ENOSYS; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -225,7 +225,7 @@ Link: https://lore.kernel.org/r/20220118173504.2867523-2-michael@walle.cc | |||||||
|  { |  { | ||||||
|  	return -ENOSYS; |  	return -ENOSYS; | ||||||
|  } |  } | ||||||
| @@ -889,13 +877,6 @@ static inline int of_parse_phandle_with_ | @@ -739,13 +727,6 @@ static inline int of_parse_phandle_with_ | ||||||
|  	return -ENOSYS; |  	return -ENOSYS; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -239,7 +239,7 @@ Link: https://lore.kernel.org/r/20220118173504.2867523-2-michael@walle.cc | |||||||
|  static inline int of_count_phandle_with_args(const struct device_node *np, |  static inline int of_count_phandle_with_args(const struct device_node *np, | ||||||
|  					     const char *list_name, |  					     const char *list_name, | ||||||
|  					     const char *cells_name) |  					     const char *cells_name) | ||||||
| @@ -1077,6 +1058,117 @@ static inline bool of_node_is_type(const | @@ -927,6 +908,117 @@ static inline bool of_node_is_type(const | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  /** |  /** | ||||||
|   | |||||||
| @@ -24,7 +24,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |||||||
|  |  | ||||||
| --- a/include/linux/of.h | --- a/include/linux/of.h | ||||||
| +++ b/include/linux/of.h | +++ b/include/linux/of.h | ||||||
| @@ -1169,6 +1169,31 @@ static inline int of_parse_phandle_with_ | @@ -1019,6 +1019,31 @@ static inline int of_parse_phandle_with_ | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  /** |  /** | ||||||
|   | |||||||
| @@ -145,7 +145,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |||||||
|  /* phandle iterator functions */ |  /* phandle iterator functions */ | ||||||
|  extern int of_phandle_iterator_init(struct of_phandle_iterator *it, |  extern int of_phandle_iterator_init(struct of_phandle_iterator *it, | ||||||
|  				    const struct device_node *np, |  				    const struct device_node *np, | ||||||
| @@ -885,6 +888,12 @@ static inline int of_count_phandle_with_ | @@ -735,6 +738,12 @@ static inline int of_count_phandle_with_ | ||||||
|  	return -ENOSYS; |  	return -ENOSYS; | ||||||
|  } |  } | ||||||
|   |   | ||||||
|   | |||||||
| @@ -117,7 +117,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |||||||
|   |   | ||||||
|  /* phandle iterator functions */ |  /* phandle iterator functions */ | ||||||
|  extern int of_phandle_iterator_init(struct of_phandle_iterator *it, |  extern int of_phandle_iterator_init(struct of_phandle_iterator *it, | ||||||
| @@ -893,6 +894,11 @@ static inline ssize_t of_modalias(const | @@ -743,6 +744,11 @@ static inline ssize_t of_modalias(const | ||||||
|  { |  { | ||||||
|  	return -ENODEV; |  	return -ENODEV; | ||||||
|  } |  } | ||||||
|   | |||||||
| @@ -48,7 +48,7 @@ Signed-off-by: Lee Jones <lee@kernel.org> | |||||||
|  |  | ||||||
| --- a/drivers/leds/Kconfig | --- a/drivers/leds/Kconfig | ||||||
| +++ b/drivers/leds/Kconfig | +++ b/drivers/leds/Kconfig | ||||||
| @@ -163,6 +163,7 @@ config LEDS_TURRIS_OMNIA | @@ -164,6 +164,7 @@ config LEDS_TURRIS_OMNIA | ||||||
|  	depends on I2C |  	depends on I2C | ||||||
|  	depends on MACH_ARMADA_38X || COMPILE_TEST |  	depends on MACH_ARMADA_38X || COMPILE_TEST | ||||||
|  	depends on OF |  	depends on OF | ||||||
|   | |||||||
| @@ -1,38 +0,0 @@ | |||||||
| From 107c0964cb8db7ca28ac5199426414fdab3c274d Mon Sep 17 00:00:00 2001 |  | ||||||
| From: "Alexandros C. Couloumbis" <alex@ozo.com> |  | ||||||
| Date: Fri, 7 Jul 2017 17:14:51 +0200 |  | ||||||
| Subject: hack: arch: powerpc: drop register save/restore library from modules |  | ||||||
|  |  | ||||||
| Upstream GCC uses a libgcc function for saving/restoring registers. This |  | ||||||
| makes the code bigger, and upstream kernels need to carry that function |  | ||||||
| for every single kernel module. Our GCC is patched to avoid those |  | ||||||
| references, so we can drop the extra bloat for modules. |  | ||||||
|  |  | ||||||
| lede-commit: e8e1084654f50904e6bf77b70b2de3f137d7b3ec |  | ||||||
| Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com> |  | ||||||
| --- |  | ||||||
|  arch/powerpc/Makefile | 1 - |  | ||||||
|  1 file changed, 1 deletion(-) |  | ||||||
|  |  | ||||||
| --- a/arch/powerpc/Makefile |  | ||||||
| +++ b/arch/powerpc/Makefile |  | ||||||
| @@ -44,19 +44,6 @@ machine-$(CONFIG_PPC64) += 64 |  | ||||||
|  machine-$(CONFIG_CPU_LITTLE_ENDIAN) += le |  | ||||||
|  UTS_MACHINE := $(subst $(space),,$(machine-y)) |  | ||||||
|   |  | ||||||
| -# XXX This needs to be before we override LD below |  | ||||||
| -ifdef CONFIG_PPC32 |  | ||||||
| -KBUILD_LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o |  | ||||||
| -else |  | ||||||
| -ifeq ($(call ld-ifversion, -ge, 22500, y),y) |  | ||||||
| -# Have the linker provide sfpr if possible. |  | ||||||
| -# There is a corresponding test in arch/powerpc/lib/Makefile |  | ||||||
| -KBUILD_LDFLAGS_MODULE += --save-restore-funcs |  | ||||||
| -else |  | ||||||
| -KBUILD_LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o |  | ||||||
| -endif |  | ||||||
| -endif |  | ||||||
| - |  | ||||||
|  ifdef CONFIG_CPU_LITTLE_ENDIAN |  | ||||||
|  KBUILD_CFLAGS	+= -mlittle-endian |  | ||||||
|  KBUILD_LDFLAGS	+= -EL |  | ||||||
| @@ -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 | ||||||
| @@ -7736,7 +7736,7 @@ static int nft_register_flowtable_net_ho | @@ -7752,7 +7752,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); | ||||||
|   | |||||||
| @@ -18,7 +18,7 @@ Acked-by: Pali Rohár <pali@kernel.org> | |||||||
|  |  | ||||||
| --- a/drivers/pci/controller/pcie-mediatek.c | --- a/drivers/pci/controller/pcie-mediatek.c | ||||||
| +++ b/drivers/pci/controller/pcie-mediatek.c | +++ b/drivers/pci/controller/pcie-mediatek.c | ||||||
| @@ -702,6 +702,13 @@ static int mtk_pcie_startup_port_v2(stru | @@ -708,6 +708,13 @@ static int mtk_pcie_startup_port_v2(stru | ||||||
|  	 */ |  	 */ | ||||||
|  	writel(PCIE_LINKDOWN_RST_EN, port->base + PCIE_RST_CTRL); |  	writel(PCIE_LINKDOWN_RST_EN, port->base + PCIE_RST_CTRL); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -52,7 +52,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  struct mtk_pcie_port; |  struct mtk_pcie_port; | ||||||
|   |   | ||||||
|  /** |  /** | ||||||
| @@ -1054,6 +1060,27 @@ static int mtk_pcie_setup(struct mtk_pci | @@ -1060,6 +1066,27 @@ static int mtk_pcie_setup(struct mtk_pci | ||||||
|  	struct mtk_pcie_port *port, *tmp; |  	struct mtk_pcie_port *port, *tmp; | ||||||
|  	int err, slot; |  	int err, slot; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -458,7 +458,7 @@ Signed-off-by: Wolfram Sang <wsa@kernel.org> | |||||||
|  	adap->dev.parent = &pdev->dev; |  	adap->dev.parent = &pdev->dev; | ||||||
| --- a/drivers/i2c/busses/i2c-rk3x.c | --- a/drivers/i2c/busses/i2c-rk3x.c | ||||||
| +++ b/drivers/i2c/busses/i2c-rk3x.c | +++ b/drivers/i2c/busses/i2c-rk3x.c | ||||||
| @@ -1240,7 +1240,7 @@ static int rk3x_i2c_probe(struct platfor | @@ -1247,7 +1247,7 @@ static int rk3x_i2c_probe(struct platfor | ||||||
|  	/* use common interface to get I2C timing properties */ |  	/* use common interface to get I2C timing properties */ | ||||||
|  	i2c_parse_fw_timings(&pdev->dev, &i2c->t, true); |  	i2c_parse_fw_timings(&pdev->dev, &i2c->t, true); | ||||||
|   |   | ||||||
| @@ -469,7 +469,7 @@ Signed-off-by: Wolfram Sang <wsa@kernel.org> | |||||||
|  	i2c->adap.retries = 3; |  	i2c->adap.retries = 3; | ||||||
| --- a/drivers/i2c/busses/i2c-s3c2410.c | --- a/drivers/i2c/busses/i2c-s3c2410.c | ||||||
| +++ b/drivers/i2c/busses/i2c-s3c2410.c | +++ b/drivers/i2c/busses/i2c-s3c2410.c | ||||||
| @@ -1076,7 +1076,7 @@ static int s3c24xx_i2c_probe(struct plat | @@ -1078,7 +1078,7 @@ static int s3c24xx_i2c_probe(struct plat | ||||||
|  	else |  	else | ||||||
|  		s3c24xx_i2c_parse_dt(pdev->dev.of_node, i2c); |  		s3c24xx_i2c_parse_dt(pdev->dev.of_node, i2c); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -5,7 +5,7 @@ | |||||||
|  |  | ||||||
| --- a/drivers/leds/Kconfig | --- a/drivers/leds/Kconfig | ||||||
| +++ b/drivers/leds/Kconfig | +++ b/drivers/leds/Kconfig | ||||||
| @@ -877,6 +877,16 @@ source "drivers/leds/blink/Kconfig" | @@ -878,6 +878,16 @@ source "drivers/leds/blink/Kconfig" | ||||||
|  comment "Flash and Torch LED drivers" |  comment "Flash and Torch LED drivers" | ||||||
|  source "drivers/leds/flash/Kconfig" |  source "drivers/leds/flash/Kconfig" | ||||||
|   |   | ||||||
|   | |||||||
| @@ -30,7 +30,7 @@ Cc: Robert Marko <robert.marko@sartura.hr> | |||||||
|  |  | ||||||
| --- a/drivers/leds/Kconfig | --- a/drivers/leds/Kconfig | ||||||
| +++ b/drivers/leds/Kconfig | +++ b/drivers/leds/Kconfig | ||||||
| @@ -306,6 +306,14 @@ config LEDS_IPAQ_MICRO | @@ -307,6 +307,14 @@ config LEDS_IPAQ_MICRO | ||||||
|  	  Choose this option if you want to use the notification LED on |  	  Choose this option if you want to use the notification LED on | ||||||
|  	  Compaq/HP iPAQ h3100 and h3600. |  	  Compaq/HP iPAQ h3100 and h3600. | ||||||
|   |   | ||||||
|   | |||||||
| @@ -22,7 +22,7 @@ Signed-off-by: Tim Harvey <tharvey@gateworks.com> | |||||||
|  #include <linux/platform_data/x86/apple.h> |  #include <linux/platform_data/x86/apple.h> | ||||||
|  #include <linux/pm_runtime.h> |  #include <linux/pm_runtime.h> | ||||||
|  #include <linux/suspend.h> |  #include <linux/suspend.h> | ||||||
| @@ -5879,3 +5880,34 @@ static void nvidia_ion_ahci_fixup(struct | @@ -5883,3 +5884,34 @@ static void nvidia_ion_ahci_fixup(struct | ||||||
|  	pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING; |  	pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING; | ||||||
|  } |  } | ||||||
|  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup); |  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup); | ||||||
|   | |||||||
| @@ -25,7 +25,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org> | |||||||
|  |  | ||||||
| --- a/drivers/mmc/host/Kconfig | --- a/drivers/mmc/host/Kconfig | ||||||
| +++ b/drivers/mmc/host/Kconfig | +++ b/drivers/mmc/host/Kconfig | ||||||
| @@ -1093,3 +1093,5 @@ config MMC_OWL | @@ -1095,3 +1095,5 @@ config MMC_OWL | ||||||
|   |   | ||||||
|  config MMC_SDHCI_EXTERNAL_DMA |  config MMC_SDHCI_EXTERNAL_DMA | ||||||
|  	bool |  	bool | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user