kernel: bump 5.10 to 5.10.150
Manually rebased: bcm53xx/patches-5.10/180-usb-xhci-add-support-for-performing-fake-doorbell.patch All patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me> [Move gro_skip in 680-NET-skip-GRO-for-foreign-MAC-addresses.patch to old position] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
		 John Audia
					John Audia
				
			
				
					committed by
					
						 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
			
				
	
			
			
			 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
						parent
						
							641e4f2f04
						
					
				
				
					commit
					aa2fa2eb76
				
			| @@ -1,2 +1,2 @@ | |||||||
| LINUX_VERSION-5.10 = .149 | LINUX_VERSION-5.10 = .150 | ||||||
| LINUX_KERNEL_HASH-5.10.149 = 0f6134c537563b9cd0533924e3ce06f577cf874e7a00cf3d8e8b31222ac065d3 | LINUX_KERNEL_HASH-5.10.150 = 5813bc3c5d70b0beb26de4b627baa33554d01bed8c842a2e46072cf03d74dee1 | ||||||
|   | |||||||
| @@ -43,7 +43,7 @@ produce a noisy warning. | |||||||
|  		hcd->msi_enabled = 1; |  		hcd->msi_enabled = 1; | ||||||
| --- a/drivers/usb/host/xhci.h | --- a/drivers/usb/host/xhci.h | ||||||
| +++ b/drivers/usb/host/xhci.h | +++ b/drivers/usb/host/xhci.h | ||||||
| @@ -1895,6 +1895,7 @@ struct xhci_hcd { | @@ -1896,6 +1896,7 @@ struct xhci_hcd { | ||||||
|  	struct xhci_hub		usb2_rhub; |  	struct xhci_hub		usb2_rhub; | ||||||
|  	struct xhci_hub		usb3_rhub; |  	struct xhci_hub		usb3_rhub; | ||||||
|  	/* support xHCI 1.0 spec USB2 hardware LPM */ |  	/* support xHCI 1.0 spec USB2 hardware LPM */ | ||||||
|   | |||||||
| @@ -18,7 +18,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com> | |||||||
|  |  | ||||||
| --- a/arch/powerpc/boot/Makefile | --- a/arch/powerpc/boot/Makefile | ||||||
| +++ b/arch/powerpc/boot/Makefile | +++ b/arch/powerpc/boot/Makefile | ||||||
| @@ -250,7 +250,7 @@ compressor-$(CONFIG_KERNEL_LZO) := lzo | @@ -251,7 +251,7 @@ compressor-$(CONFIG_KERNEL_LZO) := lzo | ||||||
|   |   | ||||||
|  # args (to if_changed): 1 = (this rule), 2 = platform, 3 = dts 4=dtb 5=initrd |  # args (to if_changed): 1 = (this rule), 2 = platform, 3 = dts 4=dtb 5=initrd | ||||||
|  quiet_cmd_wrap	= WRAP    $@ |  quiet_cmd_wrap	= WRAP    $@ | ||||||
|   | |||||||
| @@ -34,7 +34,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com> | |||||||
|  	mtd->type = MTD_NORFLASH; |  	mtd->type = MTD_NORFLASH; | ||||||
| --- a/drivers/mtd/mtdcore.c | --- a/drivers/mtd/mtdcore.c | ||||||
| +++ b/drivers/mtd/mtdcore.c | +++ b/drivers/mtd/mtdcore.c | ||||||
| @@ -851,6 +851,17 @@ out_error: | @@ -843,6 +843,17 @@ out_error: | ||||||
|   */ |   */ | ||||||
|  static void mtd_set_dev_defaults(struct mtd_info *mtd) |  static void mtd_set_dev_defaults(struct mtd_info *mtd) | ||||||
|  { |  { | ||||||
|   | |||||||
| @@ -25,7 +25,7 @@ Submitted-by: Christian Lamparter <chunkeey@gmail.com> | |||||||
| +obj-$(CONFIG_MTD_PARSER_CYBERTAN)	+= parser_cybertan.o | +obj-$(CONFIG_MTD_PARSER_CYBERTAN)	+= parser_cybertan.o | ||||||
|  obj-$(CONFIG_MTD_PARSER_IMAGETAG)	+= parser_imagetag.o |  obj-$(CONFIG_MTD_PARSER_IMAGETAG)	+= parser_imagetag.o | ||||||
|  obj-$(CONFIG_MTD_AFS_PARTS)		+= afs.o |  obj-$(CONFIG_MTD_AFS_PARTS)		+= afs.o | ||||||
|  obj-$(CONFIG_MTD_PARSER_TRX)		+= parser_trx.o |  obj-$(CONFIG_MTD_PARSER_TPLINK_SAFELOADER)	+= tplink_safeloader.o | ||||||
| --- a/drivers/mtd/parsers/Kconfig | --- a/drivers/mtd/parsers/Kconfig | ||||||
| +++ b/drivers/mtd/parsers/Kconfig | +++ b/drivers/mtd/parsers/Kconfig | ||||||
| @@ -102,6 +102,14 @@ config MTD_OF_PARTS_LINKSYS_NS | @@ -102,6 +102,14 @@ config MTD_OF_PARTS_LINKSYS_NS | ||||||
|   | |||||||
| @@ -127,10 +127,10 @@ it on BCM4708 family. | |||||||
|  /* |  /* | ||||||
| --- a/drivers/usb/host/xhci.h | --- a/drivers/usb/host/xhci.h | ||||||
| +++ b/drivers/usb/host/xhci.h | +++ b/drivers/usb/host/xhci.h | ||||||
| @@ -1888,6 +1888,7 @@ struct xhci_hcd { | @@ -1889,6 +1889,7 @@ struct xhci_hcd { | ||||||
|  #define XHCI_SG_TRB_CACHE_SIZE_QUIRK	BIT_ULL(39) |  | ||||||
|  #define XHCI_NO_SOFT_RETRY	BIT_ULL(40) |  #define XHCI_NO_SOFT_RETRY	BIT_ULL(40) | ||||||
|  #define XHCI_EP_CTX_BROKEN_DCS	BIT_ULL(42) |  #define XHCI_EP_CTX_BROKEN_DCS	BIT_ULL(42) | ||||||
|  |  #define XHCI_SUSPEND_RESUME_CLKS	BIT_ULL(43) | ||||||
| +#define XHCI_FAKE_DOORBELL	BIT_ULL(44) | +#define XHCI_FAKE_DOORBELL	BIT_ULL(44) | ||||||
|   |   | ||||||
|  	unsigned int		num_active_eps; |  	unsigned int		num_active_eps; | ||||||
|   | |||||||
| @@ -89,7 +89,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  struct tally_counter { |  struct tally_counter { | ||||||
|  	__le64	tx_packets; |  	__le64	tx_packets; | ||||||
|  	__le64	rx_packets; |  	__le64	rx_packets; | ||||||
| @@ -6602,7 +6579,7 @@ static int rtl_fw_init(struct r8152 *tp) | @@ -6604,7 +6581,7 @@ static int rtl_fw_init(struct r8152 *tp) | ||||||
|  	return 0; |  	return 0; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -98,7 +98,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  { |  { | ||||||
|  	struct usb_device *udev = interface_to_usbdev(intf); |  	struct usb_device *udev = interface_to_usbdev(intf); | ||||||
|  	u32 ocp_data = 0; |  	u32 ocp_data = 0; | ||||||
| @@ -6660,12 +6637,13 @@ static u8 rtl_get_version(struct usb_int | @@ -6662,12 +6639,13 @@ static u8 rtl_get_version(struct usb_int | ||||||
|   |   | ||||||
|  	return version; |  	return version; | ||||||
|  } |  } | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  |  | ||||||
| --- a/drivers/net/usb/r8152.c | --- a/drivers/net/usb/r8152.c | ||||||
| +++ b/drivers/net/usb/r8152.c | +++ b/drivers/net/usb/r8152.c | ||||||
| @@ -2393,11 +2393,9 @@ static void tx_bottom(struct r8152 *tp) | @@ -2395,11 +2395,9 @@ static void tx_bottom(struct r8152 *tp) | ||||||
|  	} while (res == 0); |  	} while (res == 0); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -30,7 +30,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|   |   | ||||||
|  	if (test_bit(RTL8152_UNPLUG, &tp->flags)) |  	if (test_bit(RTL8152_UNPLUG, &tp->flags)) | ||||||
|  		return; |  		return; | ||||||
| @@ -6695,7 +6693,7 @@ static int rtl8152_probe(struct usb_inte | @@ -6697,7 +6695,7 @@ static int rtl8152_probe(struct usb_inte | ||||||
|  	mutex_init(&tp->control); |  	mutex_init(&tp->control); | ||||||
|  	INIT_DELAYED_WORK(&tp->schedule, rtl_work_func_t); |  	INIT_DELAYED_WORK(&tp->schedule, rtl_work_func_t); | ||||||
|  	INIT_DELAYED_WORK(&tp->hw_phy_work, rtl_hw_phy_work_func_t); |  	INIT_DELAYED_WORK(&tp->hw_phy_work, rtl_hw_phy_work_func_t); | ||||||
|   | |||||||
| @@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  |  | ||||||
| --- a/drivers/net/usb/r8152.c | --- a/drivers/net/usb/r8152.c | ||||||
| +++ b/drivers/net/usb/r8152.c | +++ b/drivers/net/usb/r8152.c | ||||||
| @@ -3443,59 +3443,76 @@ static void rtl_clear_bp(struct r8152 *t | @@ -3445,59 +3445,76 @@ static void rtl_clear_bp(struct r8152 *t | ||||||
|  	ocp_write_word(tp, type, PLA_BP_BA, 0); |  	ocp_write_word(tp, type, PLA_BP_BA, 0); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -127,7 +127,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|   |   | ||||||
|  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_OCP_GPHY_BASE, tp->ocp_base); |  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_OCP_GPHY_BASE, tp->ocp_base); | ||||||
|   |   | ||||||
| @@ -3980,7 +3997,7 @@ static void rtl8152_fw_mac_apply(struct | @@ -3982,7 +3999,7 @@ static void rtl8152_fw_mac_apply(struct | ||||||
|  	dev_dbg(&tp->intf->dev, "successfully applied %s\n", mac->info); |  	dev_dbg(&tp->intf->dev, "successfully applied %s\n", mac->info); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -136,7 +136,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  { |  { | ||||||
|  	struct rtl_fw *rtl_fw = &tp->rtl_fw; |  	struct rtl_fw *rtl_fw = &tp->rtl_fw; | ||||||
|  	const struct firmware *fw; |  	const struct firmware *fw; | ||||||
| @@ -4011,12 +4028,11 @@ static void rtl8152_apply_firmware(struc | @@ -4013,12 +4030,11 @@ static void rtl8152_apply_firmware(struc | ||||||
|  		case RTL_FW_PHY_START: |  		case RTL_FW_PHY_START: | ||||||
|  			key = (struct fw_phy_patch_key *)block; |  			key = (struct fw_phy_patch_key *)block; | ||||||
|  			key_addr = __le16_to_cpu(key->key_reg); |  			key_addr = __le16_to_cpu(key->key_reg); | ||||||
| @@ -151,7 +151,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  			break; |  			break; | ||||||
|  		case RTL_FW_PHY_NC: |  		case RTL_FW_PHY_NC: | ||||||
|  			rtl8152_fw_phy_nc_apply(tp, (struct fw_phy_nc *)block); |  			rtl8152_fw_phy_nc_apply(tp, (struct fw_phy_nc *)block); | ||||||
| @@ -4221,7 +4237,7 @@ static void rtl8152_disable(struct r8152 | @@ -4223,7 +4239,7 @@ static void rtl8152_disable(struct r8152 | ||||||
|   |   | ||||||
|  static void r8152b_hw_phy_cfg(struct r8152 *tp) |  static void r8152b_hw_phy_cfg(struct r8152 *tp) | ||||||
|  { |  { | ||||||
| @@ -160,7 +160,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  	rtl_eee_enable(tp, tp->eee_en); |  	rtl_eee_enable(tp, tp->eee_en); | ||||||
|  	r8152_aldps_en(tp, true); |  	r8152_aldps_en(tp, true); | ||||||
|  	r8152b_enable_fc(tp); |  	r8152b_enable_fc(tp); | ||||||
| @@ -4503,7 +4519,7 @@ static void r8153_hw_phy_cfg(struct r815 | @@ -4505,7 +4521,7 @@ static void r8153_hw_phy_cfg(struct r815 | ||||||
|  	/* disable EEE before updating the PHY parameters */ |  	/* disable EEE before updating the PHY parameters */ | ||||||
|  	rtl_eee_enable(tp, false); |  	rtl_eee_enable(tp, false); | ||||||
|   |   | ||||||
| @@ -169,7 +169,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|   |   | ||||||
|  	if (tp->version == RTL_VER_03) { |  	if (tp->version == RTL_VER_03) { | ||||||
|  		data = ocp_reg_read(tp, OCP_EEE_CFG); |  		data = ocp_reg_read(tp, OCP_EEE_CFG); | ||||||
| @@ -4577,7 +4593,7 @@ static void r8153b_hw_phy_cfg(struct r81 | @@ -4579,7 +4595,7 @@ static void r8153b_hw_phy_cfg(struct r81 | ||||||
|  	/* disable EEE before updating the PHY parameters */ |  	/* disable EEE before updating the PHY parameters */ | ||||||
|  	rtl_eee_enable(tp, false); |  	rtl_eee_enable(tp, false); | ||||||
|   |   | ||||||
| @@ -178,7 +178,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|   |   | ||||||
|  	r8153b_green_en(tp, test_bit(GREEN_ETHERNET, &tp->flags)); |  	r8153b_green_en(tp, test_bit(GREEN_ETHERNET, &tp->flags)); | ||||||
|   |   | ||||||
| @@ -4618,7 +4634,7 @@ static void r8153b_hw_phy_cfg(struct r81 | @@ -4620,7 +4636,7 @@ static void r8153b_hw_phy_cfg(struct r81 | ||||||
|  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_PHY_PWR, ocp_data); |  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_PHY_PWR, ocp_data); | ||||||
|   |   | ||||||
|  	/* Advnace EEE */ |  	/* Advnace EEE */ | ||||||
| @@ -187,7 +187,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  		data = ocp_reg_read(tp, OCP_POWER_CFG); |  		data = ocp_reg_read(tp, OCP_POWER_CFG); | ||||||
|  		data |= EEE_CLKDIV_EN; |  		data |= EEE_CLKDIV_EN; | ||||||
|  		ocp_reg_write(tp, OCP_POWER_CFG, data); |  		ocp_reg_write(tp, OCP_POWER_CFG, data); | ||||||
| @@ -4635,7 +4651,7 @@ static void r8153b_hw_phy_cfg(struct r81 | @@ -4637,7 +4653,7 @@ static void r8153b_hw_phy_cfg(struct r81 | ||||||
|  		ocp_reg_write(tp, OCP_SYSCLK_CFG, clk_div_expo(5)); |  		ocp_reg_write(tp, OCP_SYSCLK_CFG, clk_div_expo(5)); | ||||||
|  		tp->ups_info._250m_ckdiv = true; |  		tp->ups_info._250m_ckdiv = true; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -31,7 +31,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  static int rtl8152_set_mac_address(struct net_device *netdev, void *p) |  static int rtl8152_set_mac_address(struct net_device *netdev, void *p) | ||||||
|  { |  { | ||||||
|  	struct r8152 *tp = netdev_priv(netdev); |  	struct r8152 *tp = netdev_priv(netdev); | ||||||
| @@ -3182,8 +3186,6 @@ static void r8153b_ups_en(struct r8152 * | @@ -3184,8 +3188,6 @@ static void r8153b_ups_en(struct r8152 * | ||||||
|  		ocp_data |= BIT(0); |  		ocp_data |= BIT(0); | ||||||
|  		ocp_write_byte(tp, MCU_TYPE_USB, 0xcfff, ocp_data); |  		ocp_write_byte(tp, MCU_TYPE_USB, 0xcfff, ocp_data); | ||||||
|  	} else { |  	} else { | ||||||
| @@ -40,7 +40,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  		ocp_data &= ~(UPS_EN | USP_PREWAKE); |  		ocp_data &= ~(UPS_EN | USP_PREWAKE); | ||||||
|  		ocp_write_byte(tp, MCU_TYPE_USB, USB_POWER_CUT, ocp_data); |  		ocp_write_byte(tp, MCU_TYPE_USB, USB_POWER_CUT, ocp_data); | ||||||
|   |   | ||||||
| @@ -3191,31 +3193,20 @@ static void r8153b_ups_en(struct r8152 * | @@ -3193,31 +3195,20 @@ static void r8153b_ups_en(struct r8152 * | ||||||
|  		ocp_data &= ~BIT(0); |  		ocp_data &= ~BIT(0); | ||||||
|  		ocp_write_byte(tp, MCU_TYPE_USB, 0xcfff, ocp_data); |  		ocp_write_byte(tp, MCU_TYPE_USB, 0xcfff, ocp_data); | ||||||
|   |   | ||||||
| @@ -83,7 +83,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  		} |  		} | ||||||
|  	} |  	} | ||||||
|  } |  } | ||||||
| @@ -4587,13 +4578,37 @@ static void r8153b_hw_phy_cfg(struct r81 | @@ -4589,13 +4580,37 @@ static void r8153b_hw_phy_cfg(struct r81 | ||||||
|  	u32 ocp_data; |  	u32 ocp_data; | ||||||
|  	u16 data; |  	u16 data; | ||||||
|   |   | ||||||
| @@ -122,7 +122,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|   |   | ||||||
|  	r8153b_green_en(tp, test_bit(GREEN_ETHERNET, &tp->flags)); |  	r8153b_green_en(tp, test_bit(GREEN_ETHERNET, &tp->flags)); | ||||||
|   |   | ||||||
| @@ -5522,9 +5537,6 @@ static void r8153b_init(struct r8152 *tp | @@ -5524,9 +5539,6 @@ static void r8153b_init(struct r8152 *tp | ||||||
|  	/* MSC timer = 0xfff * 8ms = 32760 ms */ |  	/* MSC timer = 0xfff * 8ms = 32760 ms */ | ||||||
|  	ocp_write_word(tp, MCU_TYPE_USB, USB_MSC_TIMER, 0x0fff); |  	ocp_write_word(tp, MCU_TYPE_USB, USB_MSC_TIMER, 0x0fff); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  |  | ||||||
| --- a/drivers/net/usb/r8152.c | --- a/drivers/net/usb/r8152.c | ||||||
| +++ b/drivers/net/usb/r8152.c | +++ b/drivers/net/usb/r8152.c | ||||||
| @@ -3335,7 +3335,7 @@ static void rtl8153b_runtime_enable(stru | @@ -3337,7 +3337,7 @@ static void rtl8153b_runtime_enable(stru | ||||||
|  		r8153b_ups_en(tp, false); |  		r8153b_ups_en(tp, false); | ||||||
|  		r8153_queue_wake(tp, false); |  		r8153_queue_wake(tp, false); | ||||||
|  		rtl_runtime_suspend_enable(tp, false); |  		rtl_runtime_suspend_enable(tp, false); | ||||||
| @@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  			r8153b_u1u2en(tp, true); |  			r8153b_u1u2en(tp, true); | ||||||
|  	} |  	} | ||||||
|  } |  } | ||||||
| @@ -5028,7 +5028,7 @@ static void rtl8153b_up(struct r8152 *tp | @@ -5030,7 +5030,7 @@ static void rtl8153b_up(struct r8152 *tp | ||||||
|   |   | ||||||
|  	r8153_aldps_en(tp, true); |  	r8153_aldps_en(tp, true); | ||||||
|   |   | ||||||
| @@ -34,7 +34,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  		r8153b_u1u2en(tp, true); |  		r8153b_u1u2en(tp, true); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -5550,8 +5550,9 @@ static void r8153b_init(struct r8152 *tp | @@ -5552,8 +5552,9 @@ static void r8153b_init(struct r8152 *tp | ||||||
|  	ocp_data |= POLL_LINK_CHG; |  	ocp_data |= POLL_LINK_CHG; | ||||||
|  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS, ocp_data); |  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS, ocp_data); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  |  | ||||||
| --- a/drivers/net/usb/r8152.c | --- a/drivers/net/usb/r8152.c | ||||||
| +++ b/drivers/net/usb/r8152.c | +++ b/drivers/net/usb/r8152.c | ||||||
| @@ -5735,6 +5735,9 @@ static int rtl8152_runtime_suspend(struc | @@ -5737,6 +5737,9 @@ static int rtl8152_runtime_suspend(struc | ||||||
|  	struct net_device *netdev = tp->netdev; |  	struct net_device *netdev = tp->netdev; | ||||||
|  	int ret = 0; |  	int ret = 0; | ||||||
|   |   | ||||||
| @@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  	set_bit(SELECTIVE_SUSPEND, &tp->flags); |  	set_bit(SELECTIVE_SUSPEND, &tp->flags); | ||||||
|  	smp_mb__after_atomic(); |  	smp_mb__after_atomic(); | ||||||
|   |   | ||||||
| @@ -6134,6 +6137,11 @@ rtl_ethtool_get_eee(struct net_device *n | @@ -6136,6 +6139,11 @@ rtl_ethtool_get_eee(struct net_device *n | ||||||
|  	struct r8152 *tp = netdev_priv(net); |  	struct r8152 *tp = netdev_priv(net); | ||||||
|  	int ret; |  	int ret; | ||||||
|   |   | ||||||
| @@ -37,7 +37,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  	ret = usb_autopm_get_interface(tp->intf); |  	ret = usb_autopm_get_interface(tp->intf); | ||||||
|  	if (ret < 0) |  	if (ret < 0) | ||||||
|  		goto out; |  		goto out; | ||||||
| @@ -6156,6 +6164,11 @@ rtl_ethtool_set_eee(struct net_device *n | @@ -6158,6 +6166,11 @@ rtl_ethtool_set_eee(struct net_device *n | ||||||
|  	struct r8152 *tp = netdev_priv(net); |  	struct r8152 *tp = netdev_priv(net); | ||||||
|  	int ret; |  	int ret; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  |  | ||||||
| --- a/drivers/net/usb/r8152.c | --- a/drivers/net/usb/r8152.c | ||||||
| +++ b/drivers/net/usb/r8152.c | +++ b/drivers/net/usb/r8152.c | ||||||
| @@ -6571,7 +6571,7 @@ static int rtl_ops_init(struct r8152 *tp | @@ -6573,7 +6573,7 @@ static int rtl_ops_init(struct r8152 *tp | ||||||
|   |   | ||||||
|  	default: |  	default: | ||||||
|  		ret = -ENODEV; |  		ret = -ENODEV; | ||||||
| @@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  		break; |  		break; | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -6828,7 +6828,7 @@ static int rtl8152_probe(struct usb_inte | @@ -6830,7 +6830,7 @@ static int rtl8152_probe(struct usb_inte | ||||||
|   |   | ||||||
|  	ret = register_netdev(netdev); |  	ret = register_netdev(netdev); | ||||||
|  	if (ret != 0) { |  	if (ret != 0) { | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  |  | ||||||
| --- a/drivers/net/usb/r8152.c | --- a/drivers/net/usb/r8152.c | ||||||
| +++ b/drivers/net/usb/r8152.c | +++ b/drivers/net/usb/r8152.c | ||||||
| @@ -2632,21 +2632,24 @@ static inline u8 rtl8152_get_speed(struc | @@ -2634,21 +2634,24 @@ static inline u8 rtl8152_get_speed(struc | ||||||
|  	return ocp_read_byte(tp, MCU_TYPE_PLA, PLA_PHYSTATUS); |  	return ocp_read_byte(tp, MCU_TYPE_PLA, PLA_PHYSTATUS); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -50,7 +50,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  static void rxdy_gated_en(struct r8152 *tp, bool enable) |  static void rxdy_gated_en(struct r8152 *tp, bool enable) | ||||||
| @@ -3127,10 +3130,22 @@ static void r8153b_ups_flags(struct r815 | @@ -3129,10 +3132,22 @@ static void r8153b_ups_flags(struct r815 | ||||||
|  	ocp_write_dword(tp, MCU_TYPE_USB, USB_UPS_FLAGS, ups_flags); |  	ocp_write_dword(tp, MCU_TYPE_USB, USB_UPS_FLAGS, ups_flags); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -74,7 +74,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  	if (enable) { |  	if (enable) { | ||||||
|  		sram_write(tp, 0x8045, 0);	/* 10M abiq&ldvbias */ |  		sram_write(tp, 0x8045, 0);	/* 10M abiq&ldvbias */ | ||||||
|  		sram_write(tp, 0x804d, 0x1222);	/* 100M short abiq&ldvbias */ |  		sram_write(tp, 0x804d, 0x1222);	/* 100M short abiq&ldvbias */ | ||||||
| @@ -3141,11 +3156,7 @@ static void r8153b_green_en(struct r8152 | @@ -3143,11 +3158,7 @@ static void r8153b_green_en(struct r8152 | ||||||
|  		sram_write(tp, 0x805d, 0x2444);	/* 1000M short abiq&ldvbias */ |  		sram_write(tp, 0x805d, 0x2444);	/* 1000M short abiq&ldvbias */ | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
|   | |||||||
| @@ -34,7 +34,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|   |   | ||||||
|  /* PLA_MTPS */ |  /* PLA_MTPS */ | ||||||
|  #define MTPS_JUMBO		(12 * 1024 / 64) |  #define MTPS_JUMBO		(12 * 1024 / 64) | ||||||
| @@ -2747,6 +2750,29 @@ static int rtl_stop_rx(struct r8152 *tp) | @@ -2749,6 +2752,29 @@ static int rtl_stop_rx(struct r8152 *tp) | ||||||
|  	return 0; |  	return 0; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -64,7 +64,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static inline void r8153b_rx_agg_chg_indicate(struct r8152 *tp) |  static inline void r8153b_rx_agg_chg_indicate(struct r8152 *tp) | ||||||
|  { |  { | ||||||
|  	ocp_write_byte(tp, MCU_TYPE_USB, USB_UPT_RXDMA_OWN, |  	ocp_write_byte(tp, MCU_TYPE_USB, USB_UPT_RXDMA_OWN, | ||||||
| @@ -2850,6 +2876,8 @@ static int rtl8153_enable(struct r8152 * | @@ -2852,6 +2878,8 @@ static int rtl8153_enable(struct r8152 * | ||||||
|  	r8153_set_rx_early_timeout(tp); |  	r8153_set_rx_early_timeout(tp); | ||||||
|  	r8153_set_rx_early_size(tp); |  	r8153_set_rx_early_size(tp); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -30,7 +30,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  /** |  /** | ||||||
|   * struct fw_mac - a firmware block used by RTL_FW_PLA and RTL_FW_USB. |   * struct fw_mac - a firmware block used by RTL_FW_PLA and RTL_FW_USB. | ||||||
|   *	The layout of the firmware block is: |   *	The layout of the firmware block is: | ||||||
| @@ -3800,10 +3808,7 @@ static long rtl8152_check_firmware(struc | @@ -3802,10 +3810,7 @@ static long rtl8152_check_firmware(struc | ||||||
|  { |  { | ||||||
|  	const struct firmware *fw = rtl_fw->fw; |  	const struct firmware *fw = rtl_fw->fw; | ||||||
|  	struct fw_header *fw_hdr = (struct fw_header *)fw->data; |  	struct fw_header *fw_hdr = (struct fw_header *)fw->data; | ||||||
| @@ -42,7 +42,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	long ret = -EFAULT; |  	long ret = -EFAULT; | ||||||
|  	int i; |  	int i; | ||||||
|   |   | ||||||
| @@ -3832,50 +3837,52 @@ static long rtl8152_check_firmware(struc | @@ -3834,50 +3839,52 @@ static long rtl8152_check_firmware(struc | ||||||
|  				goto fail; |  				goto fail; | ||||||
|  			goto fw_end; |  			goto fw_end; | ||||||
|  		case RTL_FW_PLA: |  		case RTL_FW_PLA: | ||||||
| @@ -106,7 +106,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  				dev_err(&tp->intf->dev, |  				dev_err(&tp->intf->dev, | ||||||
|  					"Check PHY_STOP fail\n"); |  					"Check PHY_STOP fail\n"); | ||||||
|  				goto fail; |  				goto fail; | ||||||
| @@ -3886,28 +3893,28 @@ static long rtl8152_check_firmware(struc | @@ -3888,28 +3895,28 @@ static long rtl8152_check_firmware(struc | ||||||
|  					"Invalid length for PHY_STOP\n"); |  					"Invalid length for PHY_STOP\n"); | ||||||
|  				goto fail; |  				goto fail; | ||||||
|  			} |  			} | ||||||
| @@ -141,7 +141,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|   |   | ||||||
|  			break; |  			break; | ||||||
|  		default: |  		default: | ||||||
| @@ -3921,7 +3928,7 @@ static long rtl8152_check_firmware(struc | @@ -3923,7 +3930,7 @@ static long rtl8152_check_firmware(struc | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
|  fw_end: |  fw_end: | ||||||
|   | |||||||
| @@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|   |   | ||||||
|  static |  static | ||||||
|  int get_registers(struct r8152 *tp, u16 value, u16 index, u16 size, void *data) |  int get_registers(struct r8152 *tp, u16 value, u16 index, u16 size, void *data) | ||||||
| @@ -2632,10 +2630,7 @@ static void rtl8152_nic_reset(struct r81 | @@ -2634,10 +2632,7 @@ static void rtl8152_nic_reset(struct r81 | ||||||
|   |   | ||||||
|  static void set_tx_qlen(struct r8152 *tp) |  static void set_tx_qlen(struct r8152 *tp) | ||||||
|  { |  { | ||||||
| @@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  static inline u8 rtl8152_get_speed(struct r8152 *tp) |  static inline u8 rtl8152_get_speed(struct r8152 *tp) | ||||||
| @@ -4724,6 +4719,12 @@ static void r8153b_hw_phy_cfg(struct r81 | @@ -4726,6 +4721,12 @@ static void r8153b_hw_phy_cfg(struct r81 | ||||||
|  	set_bit(PHY_RESET, &tp->flags); |  	set_bit(PHY_RESET, &tp->flags); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -82,7 +82,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static void r8153_first_init(struct r8152 *tp) |  static void r8153_first_init(struct r8152 *tp) | ||||||
|  { |  { | ||||||
|  	u32 ocp_data; |  	u32 ocp_data; | ||||||
| @@ -4756,9 +4757,7 @@ static void r8153_first_init(struct r815 | @@ -4758,9 +4759,7 @@ static void r8153_first_init(struct r815 | ||||||
|   |   | ||||||
|  	rtl_rx_vlan_en(tp, tp->netdev->features & NETIF_F_HW_VLAN_CTAG_RX); |  	rtl_rx_vlan_en(tp, tp->netdev->features & NETIF_F_HW_VLAN_CTAG_RX); | ||||||
|   |   | ||||||
| @@ -93,7 +93,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|   |   | ||||||
|  	ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_TCR0); |  	ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_TCR0); | ||||||
|  	ocp_data |= TCR0_AUTO_FIFO; |  	ocp_data |= TCR0_AUTO_FIFO; | ||||||
| @@ -4793,8 +4792,7 @@ static void r8153_enter_oob(struct r8152 | @@ -4795,8 +4794,7 @@ static void r8153_enter_oob(struct r8152 | ||||||
|   |   | ||||||
|  	wait_oob_link_list_ready(tp); |  	wait_oob_link_list_ready(tp); | ||||||
|   |   | ||||||
| @@ -103,7 +103,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|   |   | ||||||
|  	switch (tp->version) { |  	switch (tp->version) { | ||||||
|  	case RTL_VER_03: |  	case RTL_VER_03: | ||||||
| @@ -6495,12 +6493,21 @@ static int rtl8152_change_mtu(struct net | @@ -6497,12 +6495,21 @@ static int rtl8152_change_mtu(struct net | ||||||
|  	dev->mtu = new_mtu; |  	dev->mtu = new_mtu; | ||||||
|   |   | ||||||
|  	if (netif_running(dev)) { |  	if (netif_running(dev)) { | ||||||
| @@ -130,7 +130,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	} |  	} | ||||||
|   |   | ||||||
|  	mutex_unlock(&tp->control); |  	mutex_unlock(&tp->control); | ||||||
| @@ -6589,6 +6596,7 @@ static int rtl_ops_init(struct r8152 *tp | @@ -6591,6 +6598,7 @@ static int rtl_ops_init(struct r8152 *tp | ||||||
|  		ops->in_nway		= rtl8153_in_nway; |  		ops->in_nway		= rtl8153_in_nway; | ||||||
|  		ops->hw_phy_cfg		= r8153_hw_phy_cfg; |  		ops->hw_phy_cfg		= r8153_hw_phy_cfg; | ||||||
|  		ops->autosuspend_en	= rtl8153_runtime_enable; |  		ops->autosuspend_en	= rtl8153_runtime_enable; | ||||||
| @@ -138,7 +138,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  		if (tp->udev->speed < USB_SPEED_SUPER) |  		if (tp->udev->speed < USB_SPEED_SUPER) | ||||||
|  			tp->rx_buf_sz	= 16 * 1024; |  			tp->rx_buf_sz	= 16 * 1024; | ||||||
|  		else |  		else | ||||||
| @@ -6610,6 +6618,7 @@ static int rtl_ops_init(struct r8152 *tp | @@ -6612,6 +6620,7 @@ static int rtl_ops_init(struct r8152 *tp | ||||||
|  		ops->in_nway		= rtl8153_in_nway; |  		ops->in_nway		= rtl8153_in_nway; | ||||||
|  		ops->hw_phy_cfg		= r8153b_hw_phy_cfg; |  		ops->hw_phy_cfg		= r8153b_hw_phy_cfg; | ||||||
|  		ops->autosuspend_en	= rtl8153b_runtime_enable; |  		ops->autosuspend_en	= rtl8153b_runtime_enable; | ||||||
| @@ -146,7 +146,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  		tp->rx_buf_sz		= 32 * 1024; |  		tp->rx_buf_sz		= 32 * 1024; | ||||||
|  		tp->eee_en		= true; |  		tp->eee_en		= true; | ||||||
|  		tp->eee_adv		= MDIO_EEE_1000T | MDIO_EEE_100TX; |  		tp->eee_adv		= MDIO_EEE_1000T | MDIO_EEE_100TX; | ||||||
| @@ -6830,7 +6839,7 @@ static int rtl8152_probe(struct usb_inte | @@ -6832,7 +6841,7 @@ static int rtl8152_probe(struct usb_inte | ||||||
|  		netdev->max_mtu = ETH_DATA_LEN; |  		netdev->max_mtu = ETH_DATA_LEN; | ||||||
|  		break; |  		break; | ||||||
|  	default: |  	default: | ||||||
|   | |||||||
| @@ -379,7 +379,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|   |   | ||||||
|  /* Maximum number of multicast addresses to filter (vs. Rx-all-multicast). |  /* Maximum number of multicast addresses to filter (vs. Rx-all-multicast). | ||||||
|   * The RTL chips use a 64 element hash table based on the Ethernet CRC. |   * The RTL chips use a 64 element hash table based on the Ethernet CRC. | ||||||
| @@ -2606,7 +2711,7 @@ static netdev_tx_t rtl8152_start_xmit(st | @@ -2608,7 +2713,7 @@ static netdev_tx_t rtl8152_start_xmit(st | ||||||
|   |   | ||||||
|  static void r8152b_reset_packet_filter(struct r8152 *tp) |  static void r8152b_reset_packet_filter(struct r8152 *tp) | ||||||
|  { |  { | ||||||
| @@ -388,7 +388,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|   |   | ||||||
|  	ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_FMC); |  	ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_FMC); | ||||||
|  	ocp_data &= ~FMC_FCR_MCU_EN; |  	ocp_data &= ~FMC_FCR_MCU_EN; | ||||||
| @@ -2617,14 +2722,47 @@ static void r8152b_reset_packet_filter(s | @@ -2619,14 +2724,47 @@ static void r8152b_reset_packet_filter(s | ||||||
|   |   | ||||||
|  static void rtl8152_nic_reset(struct r8152 *tp) |  static void rtl8152_nic_reset(struct r8152 *tp) | ||||||
|  { |  { | ||||||
| @@ -442,7 +442,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	} |  	} | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -2633,9 +2771,9 @@ static void set_tx_qlen(struct r8152 *tp | @@ -2635,9 +2773,9 @@ static void set_tx_qlen(struct r8152 *tp | ||||||
|  	tp->tx_qlen = agg_buf_sz / (mtu_to_size(tp->netdev->mtu) + sizeof(struct tx_desc)); |  	tp->tx_qlen = agg_buf_sz / (mtu_to_size(tp->netdev->mtu) + sizeof(struct tx_desc)); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -454,7 +454,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  static void rtl_eee_plus_en(struct r8152 *tp, bool enable) |  static void rtl_eee_plus_en(struct r8152 *tp, bool enable) | ||||||
| @@ -2795,6 +2933,7 @@ static int rtl_enable(struct r8152 *tp) | @@ -2797,6 +2935,7 @@ static int rtl_enable(struct r8152 *tp) | ||||||
|  	switch (tp->version) { |  	switch (tp->version) { | ||||||
|  	case RTL_VER_08: |  	case RTL_VER_08: | ||||||
|  	case RTL_VER_09: |  	case RTL_VER_09: | ||||||
| @@ -462,7 +462,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  		r8153b_rx_agg_chg_indicate(tp); |  		r8153b_rx_agg_chg_indicate(tp); | ||||||
|  		break; |  		break; | ||||||
|  	default: |  	default: | ||||||
| @@ -2832,6 +2971,7 @@ static void r8153_set_rx_early_timeout(s | @@ -2834,6 +2973,7 @@ static void r8153_set_rx_early_timeout(s | ||||||
|   |   | ||||||
|  	case RTL_VER_08: |  	case RTL_VER_08: | ||||||
|  	case RTL_VER_09: |  	case RTL_VER_09: | ||||||
| @@ -470,7 +470,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  		/* The RTL8153B uses USB_RX_EXTRA_AGGR_TMR for rx timeout |  		/* The RTL8153B uses USB_RX_EXTRA_AGGR_TMR for rx timeout | ||||||
|  		 * primarily. For USB_RX_EARLY_TIMEOUT, we fix it to 128ns. |  		 * primarily. For USB_RX_EARLY_TIMEOUT, we fix it to 128ns. | ||||||
|  		 */ |  		 */ | ||||||
| @@ -2841,6 +2981,18 @@ static void r8153_set_rx_early_timeout(s | @@ -2843,6 +2983,18 @@ static void r8153_set_rx_early_timeout(s | ||||||
|  			       ocp_data); |  			       ocp_data); | ||||||
|  		break; |  		break; | ||||||
|   |   | ||||||
| @@ -489,7 +489,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	default: |  	default: | ||||||
|  		break; |  		break; | ||||||
|  	} |  	} | ||||||
| @@ -2860,8 +3012,19 @@ static void r8153_set_rx_early_size(stru | @@ -2862,8 +3014,19 @@ static void r8153_set_rx_early_size(stru | ||||||
|  		break; |  		break; | ||||||
|  	case RTL_VER_08: |  	case RTL_VER_08: | ||||||
|  	case RTL_VER_09: |  	case RTL_VER_09: | ||||||
| @@ -509,7 +509,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  		break; |  		break; | ||||||
|  	default: |  	default: | ||||||
|  		WARN_ON_ONCE(1); |  		WARN_ON_ONCE(1); | ||||||
| @@ -2871,6 +3034,8 @@ static void r8153_set_rx_early_size(stru | @@ -2873,6 +3036,8 @@ static void r8153_set_rx_early_size(stru | ||||||
|   |   | ||||||
|  static int rtl8153_enable(struct r8152 *tp) |  static int rtl8153_enable(struct r8152 *tp) | ||||||
|  { |  { | ||||||
| @@ -518,7 +518,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	if (test_bit(RTL8152_UNPLUG, &tp->flags)) |  	if (test_bit(RTL8152_UNPLUG, &tp->flags)) | ||||||
|  		return -ENODEV; |  		return -ENODEV; | ||||||
|   |   | ||||||
| @@ -2881,15 +3046,18 @@ static int rtl8153_enable(struct r8152 * | @@ -2883,15 +3048,18 @@ static int rtl8153_enable(struct r8152 * | ||||||
|   |   | ||||||
|  	rtl_set_ifg(tp, rtl8152_get_speed(tp)); |  	rtl_set_ifg(tp, rtl8152_get_speed(tp)); | ||||||
|   |   | ||||||
| @@ -540,7 +540,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	} |  	} | ||||||
|   |   | ||||||
|  	return rtl_enable(tp); |  	return rtl_enable(tp); | ||||||
| @@ -2954,12 +3122,40 @@ static void rtl_rx_vlan_en(struct r8152 | @@ -2956,12 +3124,40 @@ static void rtl_rx_vlan_en(struct r8152 | ||||||
|  { |  { | ||||||
|  	u32 ocp_data; |  	u32 ocp_data; | ||||||
|   |   | ||||||
| @@ -587,7 +587,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  static int rtl8152_set_features(struct net_device *dev, |  static int rtl8152_set_features(struct net_device *dev, | ||||||
| @@ -3052,6 +3248,40 @@ static void __rtl_set_wol(struct r8152 * | @@ -3054,6 +3250,40 @@ static void __rtl_set_wol(struct r8152 * | ||||||
|  		device_set_wakeup_enable(&tp->udev->dev, false); |  		device_set_wakeup_enable(&tp->udev->dev, false); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -628,7 +628,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static void r8153_u1u2en(struct r8152 *tp, bool enable) |  static void r8153_u1u2en(struct r8152 *tp, bool enable) | ||||||
|  { |  { | ||||||
|  	u8 u1u2[8]; |  	u8 u1u2[8]; | ||||||
| @@ -3111,6 +3341,9 @@ static void r8153b_ups_flags(struct r815 | @@ -3113,6 +3343,9 @@ static void r8153b_ups_flags(struct r815 | ||||||
|  	if (tp->ups_info.eee_cmod_lv) |  	if (tp->ups_info.eee_cmod_lv) | ||||||
|  		ups_flags |= UPS_FLAGS_EEE_CMOD_LV_EN; |  		ups_flags |= UPS_FLAGS_EEE_CMOD_LV_EN; | ||||||
|   |   | ||||||
| @@ -638,7 +638,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	if (tp->ups_info._10m_ckdiv) |  	if (tp->ups_info._10m_ckdiv) | ||||||
|  		ups_flags |= UPS_FLAGS_EN_10M_CKDIV; |  		ups_flags |= UPS_FLAGS_EN_10M_CKDIV; | ||||||
|   |   | ||||||
| @@ -3161,6 +3394,88 @@ static void r8153b_ups_flags(struct r815 | @@ -3163,6 +3396,88 @@ static void r8153b_ups_flags(struct r815 | ||||||
|  	ocp_write_dword(tp, MCU_TYPE_USB, USB_UPS_FLAGS, ups_flags); |  	ocp_write_dword(tp, MCU_TYPE_USB, USB_UPS_FLAGS, ups_flags); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -727,7 +727,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static void rtl_green_en(struct r8152 *tp, bool enable) |  static void rtl_green_en(struct r8152 *tp, bool enable) | ||||||
|  { |  { | ||||||
|  	u16 data; |  	u16 data; | ||||||
| @@ -3224,16 +3539,16 @@ static void r8153b_ups_en(struct r8152 * | @@ -3226,16 +3541,16 @@ static void r8153b_ups_en(struct r8152 * | ||||||
|  		ocp_data |= UPS_EN | USP_PREWAKE | PHASE2_EN; |  		ocp_data |= UPS_EN | USP_PREWAKE | PHASE2_EN; | ||||||
|  		ocp_write_byte(tp, MCU_TYPE_USB, USB_POWER_CUT, ocp_data); |  		ocp_write_byte(tp, MCU_TYPE_USB, USB_POWER_CUT, ocp_data); | ||||||
|   |   | ||||||
| @@ -750,7 +750,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|   |   | ||||||
|  		if (ocp_read_word(tp, MCU_TYPE_USB, USB_MISC_0) & PCUT_STATUS) { |  		if (ocp_read_word(tp, MCU_TYPE_USB, USB_MISC_0) & PCUT_STATUS) { | ||||||
|  			int i; |  			int i; | ||||||
| @@ -3253,6 +3568,95 @@ static void r8153b_ups_en(struct r8152 * | @@ -3255,6 +3570,95 @@ static void r8153b_ups_en(struct r8152 * | ||||||
|  	} |  	} | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -846,7 +846,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static void r8153_power_cut_en(struct r8152 *tp, bool enable) |  static void r8153_power_cut_en(struct r8152 *tp, bool enable) | ||||||
|  { |  { | ||||||
|  	u32 ocp_data; |  	u32 ocp_data; | ||||||
| @@ -3382,6 +3786,38 @@ static void rtl8153b_runtime_enable(stru | @@ -3384,6 +3788,38 @@ static void rtl8153b_runtime_enable(stru | ||||||
|  	} |  	} | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -885,7 +885,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static void r8153_teredo_off(struct r8152 *tp) |  static void r8153_teredo_off(struct r8152 *tp) | ||||||
|  { |  { | ||||||
|  	u32 ocp_data; |  	u32 ocp_data; | ||||||
| @@ -3402,14 +3838,19 @@ static void r8153_teredo_off(struct r815 | @@ -3404,14 +3840,19 @@ static void r8153_teredo_off(struct r815 | ||||||
|   |   | ||||||
|  	case RTL_VER_08: |  	case RTL_VER_08: | ||||||
|  	case RTL_VER_09: |  	case RTL_VER_09: | ||||||
| @@ -908,7 +908,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	} |  	} | ||||||
|   |   | ||||||
|  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_WDT6_CTRL, WDT6_SET_MODE); |  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_WDT6_CTRL, WDT6_SET_MODE); | ||||||
| @@ -3444,6 +3885,12 @@ static void rtl_clear_bp(struct r8152 *t | @@ -3446,6 +3887,12 @@ static void rtl_clear_bp(struct r8152 *t | ||||||
|  		break; |  		break; | ||||||
|  	case RTL_VER_08: |  	case RTL_VER_08: | ||||||
|  	case RTL_VER_09: |  	case RTL_VER_09: | ||||||
| @@ -921,7 +921,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	default: |  	default: | ||||||
|  		if (type == MCU_TYPE_USB) { |  		if (type == MCU_TYPE_USB) { | ||||||
|  			ocp_write_word(tp, MCU_TYPE_USB, USB_BP2_EN, 0); |  			ocp_write_word(tp, MCU_TYPE_USB, USB_BP2_EN, 0); | ||||||
| @@ -3653,6 +4100,11 @@ static bool rtl8152_is_fw_mac_ok(struct | @@ -3655,6 +4102,11 @@ static bool rtl8152_is_fw_mac_ok(struct | ||||||
|  		case RTL_VER_06: |  		case RTL_VER_06: | ||||||
|  		case RTL_VER_08: |  		case RTL_VER_08: | ||||||
|  		case RTL_VER_09: |  		case RTL_VER_09: | ||||||
| @@ -933,7 +933,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  			fw_reg = 0xf800; |  			fw_reg = 0xf800; | ||||||
|  			bp_ba_addr = PLA_BP_BA; |  			bp_ba_addr = PLA_BP_BA; | ||||||
|  			bp_en_addr = PLA_BP_EN; |  			bp_en_addr = PLA_BP_EN; | ||||||
| @@ -3676,6 +4128,11 @@ static bool rtl8152_is_fw_mac_ok(struct | @@ -3678,6 +4130,11 @@ static bool rtl8152_is_fw_mac_ok(struct | ||||||
|  			break; |  			break; | ||||||
|  		case RTL_VER_08: |  		case RTL_VER_08: | ||||||
|  		case RTL_VER_09: |  		case RTL_VER_09: | ||||||
| @@ -945,7 +945,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  			fw_reg = 0xe600; |  			fw_reg = 0xe600; | ||||||
|  			bp_ba_addr = USB_BP_BA; |  			bp_ba_addr = USB_BP_BA; | ||||||
|  			bp_en_addr = USB_BP2_EN; |  			bp_en_addr = USB_BP2_EN; | ||||||
| @@ -4215,6 +4672,22 @@ static void r8153_eee_en(struct r8152 *t | @@ -4217,6 +4674,22 @@ static void r8153_eee_en(struct r8152 *t | ||||||
|  	tp->ups_info.eee = enable; |  	tp->ups_info.eee = enable; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -968,7 +968,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static void rtl_eee_enable(struct r8152 *tp, bool enable) |  static void rtl_eee_enable(struct r8152 *tp, bool enable) | ||||||
|  { |  { | ||||||
|  	switch (tp->version) { |  	switch (tp->version) { | ||||||
| @@ -4236,6 +4709,7 @@ static void rtl_eee_enable(struct r8152 | @@ -4238,6 +4711,7 @@ static void rtl_eee_enable(struct r8152 | ||||||
|  	case RTL_VER_06: |  	case RTL_VER_06: | ||||||
|  	case RTL_VER_08: |  	case RTL_VER_08: | ||||||
|  	case RTL_VER_09: |  	case RTL_VER_09: | ||||||
| @@ -976,7 +976,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  		if (enable) { |  		if (enable) { | ||||||
|  			r8153_eee_en(tp, true); |  			r8153_eee_en(tp, true); | ||||||
|  			ocp_reg_write(tp, OCP_EEE_ADV, tp->eee_adv); |  			ocp_reg_write(tp, OCP_EEE_ADV, tp->eee_adv); | ||||||
| @@ -4244,6 +4718,19 @@ static void rtl_eee_enable(struct r8152 | @@ -4246,6 +4720,19 @@ static void rtl_eee_enable(struct r8152 | ||||||
|  			ocp_reg_write(tp, OCP_EEE_ADV, 0); |  			ocp_reg_write(tp, OCP_EEE_ADV, 0); | ||||||
|  		} |  		} | ||||||
|  		break; |  		break; | ||||||
| @@ -996,7 +996,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	default: |  	default: | ||||||
|  		break; |  		break; | ||||||
|  	} |  	} | ||||||
| @@ -4290,6 +4777,20 @@ static void wait_oob_link_list_ready(str | @@ -4292,6 +4779,20 @@ static void wait_oob_link_list_ready(str | ||||||
|  	} |  	} | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -1017,7 +1017,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static void r8152b_exit_oob(struct r8152 *tp) |  static void r8152b_exit_oob(struct r8152 *tp) | ||||||
|  { |  { | ||||||
|  	u32 ocp_data; |  	u32 ocp_data; | ||||||
| @@ -4340,7 +4841,7 @@ static void r8152b_exit_oob(struct r8152 | @@ -4342,7 +4843,7 @@ static void r8152b_exit_oob(struct r8152 | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
|  	/* TX share fifo free credit full threshold */ |  	/* TX share fifo free credit full threshold */ | ||||||
| @@ -1026,7 +1026,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|   |   | ||||||
|  	ocp_write_byte(tp, MCU_TYPE_USB, USB_TX_AGG, TX_AGG_MAX_THRESHOLD); |  	ocp_write_byte(tp, MCU_TYPE_USB, USB_TX_AGG, TX_AGG_MAX_THRESHOLD); | ||||||
|  	ocp_write_dword(tp, MCU_TYPE_USB, USB_RX_BUF_TH, RX_THR_HIGH); |  	ocp_write_dword(tp, MCU_TYPE_USB, USB_RX_BUF_TH, RX_THR_HIGH); | ||||||
| @@ -4517,6 +5018,21 @@ static int r8153b_post_firmware_1(struct | @@ -4519,6 +5020,21 @@ static int r8153b_post_firmware_1(struct | ||||||
|  	return 0; |  	return 0; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -1048,7 +1048,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static void r8153_aldps_en(struct r8152 *tp, bool enable) |  static void r8153_aldps_en(struct r8152 *tp, bool enable) | ||||||
|  { |  { | ||||||
|  	u16 data; |  	u16 data; | ||||||
| @@ -4719,6 +5235,13 @@ static void r8153b_hw_phy_cfg(struct r81 | @@ -4721,6 +5237,13 @@ static void r8153b_hw_phy_cfg(struct r81 | ||||||
|  	set_bit(PHY_RESET, &tp->flags); |  	set_bit(PHY_RESET, &tp->flags); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -1062,7 +1062,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static void rtl8153_change_mtu(struct r8152 *tp) |  static void rtl8153_change_mtu(struct r8152 *tp) | ||||||
|  { |  { | ||||||
|  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_RMS, mtu_to_size(tp->netdev->mtu)); |  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_RMS, mtu_to_size(tp->netdev->mtu)); | ||||||
| @@ -4806,6 +5329,7 @@ static void r8153_enter_oob(struct r8152 | @@ -4808,6 +5331,7 @@ static void r8153_enter_oob(struct r8152 | ||||||
|   |   | ||||||
|  	case RTL_VER_08: |  	case RTL_VER_08: | ||||||
|  	case RTL_VER_09: |  	case RTL_VER_09: | ||||||
| @@ -1070,7 +1070,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  		/* Clear teredo wake event. bit[15:8] is the teredo wakeup |  		/* Clear teredo wake event. bit[15:8] is the teredo wakeup | ||||||
|  		 * type. Set it to zero. bits[7:0] are the W1C bits about |  		 * type. Set it to zero. bits[7:0] are the W1C bits about | ||||||
|  		 * the events. Set them to all 1 to clear them. |  		 * the events. Set them to all 1 to clear them. | ||||||
| @@ -4842,6 +5366,96 @@ static void rtl8153_disable(struct r8152 | @@ -4844,6 +5368,96 @@ static void rtl8153_disable(struct r8152 | ||||||
|  	r8153_aldps_en(tp, true); |  	r8153_aldps_en(tp, true); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -1167,7 +1167,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static int rtl8152_set_speed(struct r8152 *tp, u8 autoneg, u32 speed, u8 duplex, |  static int rtl8152_set_speed(struct r8152 *tp, u8 autoneg, u32 speed, u8 duplex, | ||||||
|  			     u32 advertising) |  			     u32 advertising) | ||||||
|  { |  { | ||||||
| @@ -4890,58 +5504,73 @@ static int rtl8152_set_speed(struct r815 | @@ -4892,58 +5506,73 @@ static int rtl8152_set_speed(struct r815 | ||||||
|   |   | ||||||
|  		tp->mii.force_media = 1; |  		tp->mii.force_media = 1; | ||||||
|  	} else { |  	} else { | ||||||
| @@ -1259,7 +1259,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  		} |  		} | ||||||
|   |   | ||||||
|  		bmcr = BMCR_ANENABLE | BMCR_ANRESTART; |  		bmcr = BMCR_ANENABLE | BMCR_ANRESTART; | ||||||
| @@ -5097,6 +5726,253 @@ static void rtl8153b_down(struct r8152 * | @@ -5099,6 +5728,253 @@ static void rtl8153b_down(struct r8152 * | ||||||
|  	r8153_aldps_en(tp, true); |  	r8153_aldps_en(tp, true); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -1513,7 +1513,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static bool rtl8152_in_nway(struct r8152 *tp) |  static bool rtl8152_in_nway(struct r8152 *tp) | ||||||
|  { |  { | ||||||
|  	u16 nway_state; |  	u16 nway_state; | ||||||
| @@ -5127,7 +6003,7 @@ static void set_carrier(struct r8152 *tp | @@ -5129,7 +6005,7 @@ static void set_carrier(struct r8152 *tp | ||||||
|  { |  { | ||||||
|  	struct net_device *netdev = tp->netdev; |  	struct net_device *netdev = tp->netdev; | ||||||
|  	struct napi_struct *napi = &tp->napi; |  	struct napi_struct *napi = &tp->napi; | ||||||
| @@ -1522,7 +1522,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|   |   | ||||||
|  	speed = rtl8152_get_speed(tp); |  	speed = rtl8152_get_speed(tp); | ||||||
|   |   | ||||||
| @@ -5140,7 +6016,7 @@ static void set_carrier(struct r8152 *tp | @@ -5142,7 +6018,7 @@ static void set_carrier(struct r8152 *tp | ||||||
|  			rtl_start_rx(tp); |  			rtl_start_rx(tp); | ||||||
|  			clear_bit(RTL8152_SET_RX_MODE, &tp->flags); |  			clear_bit(RTL8152_SET_RX_MODE, &tp->flags); | ||||||
|  			_rtl8152_set_rx_mode(netdev); |  			_rtl8152_set_rx_mode(netdev); | ||||||
| @@ -1531,7 +1531,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  			netif_wake_queue(netdev); |  			netif_wake_queue(netdev); | ||||||
|  			netif_info(tp, link, netdev, "carrier on\n"); |  			netif_info(tp, link, netdev, "carrier on\n"); | ||||||
|  		} else if (netif_queue_stopped(netdev) && |  		} else if (netif_queue_stopped(netdev) && | ||||||
| @@ -5502,14 +6378,9 @@ static void r8153_init(struct r8152 *tp) | @@ -5504,14 +6380,9 @@ static void r8153_init(struct r8152 *tp) | ||||||
|   |   | ||||||
|  	ocp_write_word(tp, MCU_TYPE_USB, USB_CONNECT_TIMER, 0x0001); |  	ocp_write_word(tp, MCU_TYPE_USB, USB_CONNECT_TIMER, 0x0001); | ||||||
|   |   | ||||||
| @@ -1547,7 +1547,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	r8153_u1u2en(tp, true); |  	r8153_u1u2en(tp, true); | ||||||
|  	usb_enable_lpm(tp->udev); |  	usb_enable_lpm(tp->udev); | ||||||
|   |   | ||||||
| @@ -5600,9 +6471,7 @@ static void r8153b_init(struct r8152 *tp | @@ -5602,9 +6473,7 @@ static void r8153b_init(struct r8152 *tp | ||||||
|  	usb_enable_lpm(tp->udev); |  	usb_enable_lpm(tp->udev); | ||||||
|   |   | ||||||
|  	/* MAC clock speed down */ |  	/* MAC clock speed down */ | ||||||
| @@ -1558,7 +1558,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|   |   | ||||||
|  	ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3); |  	ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3); | ||||||
|  	ocp_data &= ~PLA_MCU_SPDWN_EN; |  	ocp_data &= ~PLA_MCU_SPDWN_EN; | ||||||
| @@ -5629,6 +6498,1069 @@ static void r8153b_init(struct r8152 *tp | @@ -5631,6 +6500,1069 @@ static void r8153b_init(struct r8152 *tp | ||||||
|  	tp->coalesce = 15000;	/* 15 us */ |  	tp->coalesce = 15000;	/* 15 us */ | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -2628,7 +2628,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static int rtl8152_pre_reset(struct usb_interface *intf) |  static int rtl8152_pre_reset(struct usb_interface *intf) | ||||||
|  { |  { | ||||||
|  	struct r8152 *tp = usb_get_intfdata(intf); |  	struct r8152 *tp = usb_get_intfdata(intf); | ||||||
| @@ -5992,6 +7924,22 @@ int rtl8152_get_link_ksettings(struct ne | @@ -5994,6 +7926,22 @@ int rtl8152_get_link_ksettings(struct ne | ||||||
|   |   | ||||||
|  	mii_ethtool_get_link_ksettings(&tp->mii, cmd); |  	mii_ethtool_get_link_ksettings(&tp->mii, cmd); | ||||||
|   |   | ||||||
| @@ -2651,7 +2651,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	mutex_unlock(&tp->control); |  	mutex_unlock(&tp->control); | ||||||
|   |   | ||||||
|  	usb_autopm_put_interface(tp->intf); |  	usb_autopm_put_interface(tp->intf); | ||||||
| @@ -6035,6 +7983,10 @@ static int rtl8152_set_link_ksettings(st | @@ -6037,6 +7985,10 @@ static int rtl8152_set_link_ksettings(st | ||||||
|  		     cmd->link_modes.advertising)) |  		     cmd->link_modes.advertising)) | ||||||
|  		advertising |= RTL_ADVERTISED_1000_FULL; |  		advertising |= RTL_ADVERTISED_1000_FULL; | ||||||
|   |   | ||||||
| @@ -2662,7 +2662,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	mutex_lock(&tp->control); |  	mutex_lock(&tp->control); | ||||||
|   |   | ||||||
|  	ret = rtl8152_set_speed(tp, cmd->base.autoneg, cmd->base.speed, |  	ret = rtl8152_set_speed(tp, cmd->base.autoneg, cmd->base.speed, | ||||||
| @@ -6624,6 +8576,67 @@ static int rtl_ops_init(struct r8152 *tp | @@ -6626,6 +8578,67 @@ static int rtl_ops_init(struct r8152 *tp | ||||||
|  		tp->eee_adv		= MDIO_EEE_1000T | MDIO_EEE_100TX; |  		tp->eee_adv		= MDIO_EEE_1000T | MDIO_EEE_100TX; | ||||||
|  		break; |  		break; | ||||||
|   |   | ||||||
| @@ -2730,7 +2730,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	default: |  	default: | ||||||
|  		ret = -ENODEV; |  		ret = -ENODEV; | ||||||
|  		dev_err(&tp->intf->dev, "Unknown Device\n"); |  		dev_err(&tp->intf->dev, "Unknown Device\n"); | ||||||
| @@ -6637,11 +8650,13 @@ static int rtl_ops_init(struct r8152 *tp | @@ -6639,11 +8652,13 @@ static int rtl_ops_init(struct r8152 *tp | ||||||
|  #define FIRMWARE_8153A_3	"rtl_nic/rtl8153a-3.fw" |  #define FIRMWARE_8153A_3	"rtl_nic/rtl8153a-3.fw" | ||||||
|  #define FIRMWARE_8153A_4	"rtl_nic/rtl8153a-4.fw" |  #define FIRMWARE_8153A_4	"rtl_nic/rtl8153a-4.fw" | ||||||
|  #define FIRMWARE_8153B_2	"rtl_nic/rtl8153b-2.fw" |  #define FIRMWARE_8153B_2	"rtl_nic/rtl8153b-2.fw" | ||||||
| @@ -2744,7 +2744,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|   |   | ||||||
|  static int rtl_fw_init(struct r8152 *tp) |  static int rtl_fw_init(struct r8152 *tp) | ||||||
|  { |  { | ||||||
| @@ -6667,6 +8682,11 @@ static int rtl_fw_init(struct r8152 *tp) | @@ -6669,6 +8684,11 @@ static int rtl_fw_init(struct r8152 *tp) | ||||||
|  		rtl_fw->pre_fw		= r8153b_pre_firmware_1; |  		rtl_fw->pre_fw		= r8153b_pre_firmware_1; | ||||||
|  		rtl_fw->post_fw		= r8153b_post_firmware_1; |  		rtl_fw->post_fw		= r8153b_post_firmware_1; | ||||||
|  		break; |  		break; | ||||||
| @@ -2756,7 +2756,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	default: |  	default: | ||||||
|  		break; |  		break; | ||||||
|  	} |  	} | ||||||
| @@ -6722,6 +8742,27 @@ u8 rtl8152_get_version(struct usb_interf | @@ -6724,6 +8744,27 @@ u8 rtl8152_get_version(struct usb_interf | ||||||
|  	case 0x6010: |  	case 0x6010: | ||||||
|  		version = RTL_VER_09; |  		version = RTL_VER_09; | ||||||
|  		break; |  		break; | ||||||
| @@ -2784,7 +2784,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	default: |  	default: | ||||||
|  		version = RTL_VER_UNKNOWN; |  		version = RTL_VER_UNKNOWN; | ||||||
|  		dev_info(&intf->dev, "Unknown version 0x%04x\n", ocp_data); |  		dev_info(&intf->dev, "Unknown version 0x%04x\n", ocp_data); | ||||||
| @@ -6834,12 +8875,29 @@ static int rtl8152_probe(struct usb_inte | @@ -6836,12 +8877,29 @@ static int rtl8152_probe(struct usb_inte | ||||||
|  	/* MTU range: 68 - 1500 or 9194 */ |  	/* MTU range: 68 - 1500 or 9194 */ | ||||||
|  	netdev->min_mtu = ETH_MIN_MTU; |  	netdev->min_mtu = ETH_MIN_MTU; | ||||||
|  	switch (tp->version) { |  	switch (tp->version) { | ||||||
| @@ -2817,7 +2817,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  		break; |  		break; | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -6855,7 +8913,13 @@ static int rtl8152_probe(struct usb_inte | @@ -6857,7 +8915,13 @@ static int rtl8152_probe(struct usb_inte | ||||||
|  	tp->advertising = RTL_ADVERTISED_10_HALF | RTL_ADVERTISED_10_FULL | |  	tp->advertising = RTL_ADVERTISED_10_HALF | RTL_ADVERTISED_10_FULL | | ||||||
|  			  RTL_ADVERTISED_100_HALF | RTL_ADVERTISED_100_FULL; |  			  RTL_ADVERTISED_100_HALF | RTL_ADVERTISED_100_FULL; | ||||||
|  	if (tp->mii.supports_gmii) { |  	if (tp->mii.supports_gmii) { | ||||||
| @@ -2832,7 +2832,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  		tp->advertising |= RTL_ADVERTISED_1000_FULL; |  		tp->advertising |= RTL_ADVERTISED_1000_FULL; | ||||||
|  	} |  	} | ||||||
|  	tp->duplex = DUPLEX_FULL; |  	tp->duplex = DUPLEX_FULL; | ||||||
| @@ -6879,7 +8943,11 @@ static int rtl8152_probe(struct usb_inte | @@ -6881,7 +8945,11 @@ static int rtl8152_probe(struct usb_inte | ||||||
|  	set_ethernet_addr(tp); |  	set_ethernet_addr(tp); | ||||||
|   |   | ||||||
|  	usb_set_intfdata(intf, tp); |  	usb_set_intfdata(intf, tp); | ||||||
| @@ -2845,7 +2845,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|   |   | ||||||
|  	ret = register_netdev(netdev); |  	ret = register_netdev(netdev); | ||||||
|  	if (ret != 0) { |  	if (ret != 0) { | ||||||
| @@ -6915,7 +8983,8 @@ static void rtl8152_disconnect(struct us | @@ -6917,7 +8985,8 @@ static void rtl8152_disconnect(struct us | ||||||
|  		unregister_netdev(tp->netdev); |  		unregister_netdev(tp->netdev); | ||||||
|  		tasklet_kill(&tp->tx_tl); |  		tasklet_kill(&tp->tx_tl); | ||||||
|  		cancel_delayed_work_sync(&tp->hw_phy_work); |  		cancel_delayed_work_sync(&tp->hw_phy_work); | ||||||
| @@ -2855,7 +2855,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  		rtl8152_release_firmware(tp); |  		rtl8152_release_firmware(tp); | ||||||
|  		free_netdev(tp->netdev); |  		free_netdev(tp->netdev); | ||||||
|  	} |  	} | ||||||
| @@ -6935,13 +9004,28 @@ static void rtl8152_disconnect(struct us | @@ -6937,13 +9006,28 @@ static void rtl8152_disconnect(struct us | ||||||
|  	.idProduct = (prod), \ |  	.idProduct = (prod), \ | ||||||
|  	.bInterfaceClass = USB_CLASS_COMM, \ |  	.bInterfaceClass = USB_CLASS_COMM, \ | ||||||
|  	.bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, \ |  	.bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, \ | ||||||
|   | |||||||
| @@ -92,7 +92,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  }; |  }; | ||||||
|   |   | ||||||
|  enum rtl_version { |  enum rtl_version { | ||||||
| @@ -3999,6 +4060,162 @@ static int rtl_post_ram_code(struct r815 | @@ -4001,6 +4062,162 @@ static int rtl_post_ram_code(struct r815 | ||||||
|  	return 0; |  	return 0; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -255,7 +255,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static bool rtl8152_is_fw_phy_nc_ok(struct r8152 *tp, struct fw_phy_nc *phy) |  static bool rtl8152_is_fw_phy_nc_ok(struct r8152 *tp, struct fw_phy_nc *phy) | ||||||
|  { |  { | ||||||
|  	u32 length; |  	u32 length; | ||||||
| @@ -4319,6 +4536,10 @@ static long rtl8152_check_firmware(struc | @@ -4321,6 +4538,10 @@ static long rtl8152_check_firmware(struc | ||||||
|  		case RTL_FW_PHY_START: |  		case RTL_FW_PHY_START: | ||||||
|  			if (test_bit(FW_FLAGS_START, &fw_flags) || |  			if (test_bit(FW_FLAGS_START, &fw_flags) || | ||||||
|  			    test_bit(FW_FLAGS_NC, &fw_flags) || |  			    test_bit(FW_FLAGS_NC, &fw_flags) || | ||||||
| @@ -266,7 +266,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  			    test_bit(FW_FLAGS_STOP, &fw_flags)) { |  			    test_bit(FW_FLAGS_STOP, &fw_flags)) { | ||||||
|  				dev_err(&tp->intf->dev, |  				dev_err(&tp->intf->dev, | ||||||
|  					"check PHY_START fail\n"); |  					"check PHY_START fail\n"); | ||||||
| @@ -4367,7 +4588,153 @@ static long rtl8152_check_firmware(struc | @@ -4369,7 +4590,153 @@ static long rtl8152_check_firmware(struc | ||||||
|  				goto fail; |  				goto fail; | ||||||
|  			} |  			} | ||||||
|  			__set_bit(FW_FLAGS_NC, &fw_flags); |  			__set_bit(FW_FLAGS_NC, &fw_flags); | ||||||
| @@ -420,7 +420,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  			break; |  			break; | ||||||
|  		default: |  		default: | ||||||
|  			dev_warn(&tp->intf->dev, "Unknown type %u is found\n", |  			dev_warn(&tp->intf->dev, "Unknown type %u is found\n", | ||||||
| @@ -4390,6 +4757,143 @@ fail: | @@ -4392,6 +4759,143 @@ fail: | ||||||
|  	return ret; |  	return ret; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -564,7 +564,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static void rtl8152_fw_phy_nc_apply(struct r8152 *tp, struct fw_phy_nc *phy) |  static void rtl8152_fw_phy_nc_apply(struct r8152 *tp, struct fw_phy_nc *phy) | ||||||
|  { |  { | ||||||
|  	u16 mode_reg, bp_index; |  	u16 mode_reg, bp_index; | ||||||
| @@ -4443,6 +4947,12 @@ static void rtl8152_fw_mac_apply(struct | @@ -4445,6 +4949,12 @@ static void rtl8152_fw_mac_apply(struct | ||||||
|  		return; |  		return; | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -577,7 +577,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	rtl_clear_bp(tp, type); |  	rtl_clear_bp(tp, type); | ||||||
|   |   | ||||||
|  	/* Enable backup/restore of MACDBG. This is required after clearing PLA |  	/* Enable backup/restore of MACDBG. This is required after clearing PLA | ||||||
| @@ -4478,7 +4988,6 @@ static void rtl8152_fw_mac_apply(struct | @@ -4480,7 +4990,6 @@ static void rtl8152_fw_mac_apply(struct | ||||||
|  		ocp_write_word(tp, type, bp_en_addr, |  		ocp_write_word(tp, type, bp_en_addr, | ||||||
|  			       __le16_to_cpu(mac->bp_en_value)); |  			       __le16_to_cpu(mac->bp_en_value)); | ||||||
|   |   | ||||||
| @@ -585,7 +585,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  	if (fw_ver_reg) |  	if (fw_ver_reg) | ||||||
|  		ocp_write_byte(tp, MCU_TYPE_USB, fw_ver_reg, |  		ocp_write_byte(tp, MCU_TYPE_USB, fw_ver_reg, | ||||||
|  			       mac->fw_ver_data); |  			       mac->fw_ver_data); | ||||||
| @@ -4493,7 +5002,7 @@ static void rtl8152_apply_firmware(struc | @@ -4495,7 +5004,7 @@ static void rtl8152_apply_firmware(struc | ||||||
|  	struct fw_header *fw_hdr; |  	struct fw_header *fw_hdr; | ||||||
|  	struct fw_phy_patch_key *key; |  	struct fw_phy_patch_key *key; | ||||||
|  	u16 key_addr = 0; |  	u16 key_addr = 0; | ||||||
| @@ -594,7 +594,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|   |   | ||||||
|  	if (IS_ERR_OR_NULL(rtl_fw->fw)) |  	if (IS_ERR_OR_NULL(rtl_fw->fw)) | ||||||
|  		return; |  		return; | ||||||
| @@ -4515,17 +5024,40 @@ static void rtl8152_apply_firmware(struc | @@ -4517,17 +5026,40 @@ static void rtl8152_apply_firmware(struc | ||||||
|  			rtl8152_fw_mac_apply(tp, (struct fw_mac *)block); |  			rtl8152_fw_mac_apply(tp, (struct fw_mac *)block); | ||||||
|  			break; |  			break; | ||||||
|  		case RTL_FW_PHY_START: |  		case RTL_FW_PHY_START: | ||||||
| @@ -635,7 +635,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  		default: |  		default: | ||||||
|  			break; |  			break; | ||||||
|  		} |  		} | ||||||
| @@ -5033,6 +5565,21 @@ static int r8153c_post_firmware_1(struct | @@ -5035,6 +5567,21 @@ static int r8153c_post_firmware_1(struct | ||||||
|  	return 0; |  	return 0; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -657,7 +657,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static void r8153_aldps_en(struct r8152 *tp, bool enable) |  static void r8153_aldps_en(struct r8152 *tp, bool enable) | ||||||
|  { |  { | ||||||
|  	u16 data; |  	u16 data; | ||||||
| @@ -8651,12 +9198,16 @@ static int rtl_ops_init(struct r8152 *tp | @@ -8653,12 +9200,16 @@ static int rtl_ops_init(struct r8152 *tp | ||||||
|  #define FIRMWARE_8153A_4	"rtl_nic/rtl8153a-4.fw" |  #define FIRMWARE_8153A_4	"rtl_nic/rtl8153a-4.fw" | ||||||
|  #define FIRMWARE_8153B_2	"rtl_nic/rtl8153b-2.fw" |  #define FIRMWARE_8153B_2	"rtl_nic/rtl8153b-2.fw" | ||||||
|  #define FIRMWARE_8153C_1	"rtl_nic/rtl8153c-1.fw" |  #define FIRMWARE_8153C_1	"rtl_nic/rtl8153c-1.fw" | ||||||
| @@ -674,7 +674,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|   |   | ||||||
|  static int rtl_fw_init(struct r8152 *tp) |  static int rtl_fw_init(struct r8152 *tp) | ||||||
|  { |  { | ||||||
| @@ -8682,6 +9233,14 @@ static int rtl_fw_init(struct r8152 *tp) | @@ -8684,6 +9235,14 @@ static int rtl_fw_init(struct r8152 *tp) | ||||||
|  		rtl_fw->pre_fw		= r8153b_pre_firmware_1; |  		rtl_fw->pre_fw		= r8153b_pre_firmware_1; | ||||||
|  		rtl_fw->post_fw		= r8153b_post_firmware_1; |  		rtl_fw->post_fw		= r8153b_post_firmware_1; | ||||||
|  		break; |  		break; | ||||||
|   | |||||||
| @@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|   |   | ||||||
|  /* Information for net */ |  /* Information for net */ | ||||||
|  #define NET_VERSION		"11" |  #define NET_VERSION		"11" | ||||||
| @@ -8108,6 +8108,39 @@ static void r8156b_init(struct r8152 *tp | @@ -8110,6 +8110,39 @@ static void r8156b_init(struct r8152 *tp | ||||||
|  	tp->coalesce = 15000;	/* 15 us */ |  	tp->coalesce = 15000;	/* 15 us */ | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -65,7 +65,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static int rtl8152_pre_reset(struct usb_interface *intf) |  static int rtl8152_pre_reset(struct usb_interface *intf) | ||||||
|  { |  { | ||||||
|  	struct r8152 *tp = usb_get_intfdata(intf); |  	struct r8152 *tp = usb_get_intfdata(intf); | ||||||
| @@ -9346,10 +9379,8 @@ static int rtl8152_probe(struct usb_inte | @@ -9348,10 +9381,8 @@ static int rtl8152_probe(struct usb_inte | ||||||
|  	if (version == RTL_VER_UNKNOWN) |  	if (version == RTL_VER_UNKNOWN) | ||||||
|  		return -ENODEV; |  		return -ENODEV; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -60,7 +60,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|   */ |   */ | ||||||
| --- a/include/linux/skbuff.h | --- a/include/linux/skbuff.h | ||||||
| +++ b/include/linux/skbuff.h | +++ b/include/linux/skbuff.h | ||||||
| @@ -2718,6 +2718,10 @@ static inline int pskb_trim(struct sk_bu | @@ -2720,6 +2720,10 @@ static inline int pskb_trim(struct sk_bu | ||||||
|  	return (len < skb->len) ? __pskb_trim(skb, len) : 0; |  	return (len < skb->len) ? __pskb_trim(skb, len) : 0; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  /** |  /** | ||||||
|   *	pskb_trim_unique - remove end from a paged unique (not cloned) buffer |   *	pskb_trim_unique - remove end from a paged unique (not cloned) buffer | ||||||
|   *	@skb: buffer to alter |   *	@skb: buffer to alter | ||||||
| @@ -2849,16 +2853,6 @@ static inline struct sk_buff *dev_alloc_ | @@ -2851,16 +2855,6 @@ static inline struct sk_buff *dev_alloc_ | ||||||
|  } |  } | ||||||
|   |   | ||||||
|   |   | ||||||
|   | |||||||
| @@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net> | |||||||
|  #include <linux/crc32.h> |  #include <linux/crc32.h> | ||||||
|  #include <linux/if_vlan.h> |  #include <linux/if_vlan.h> | ||||||
|  #include <linux/uaccess.h> |  #include <linux/uaccess.h> | ||||||
| @@ -6780,6 +6781,22 @@ static void rtl_tally_reset(struct r8152 | @@ -6782,6 +6783,22 @@ static void rtl_tally_reset(struct r8152 | ||||||
|  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data); |  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -45,7 +45,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net> | |||||||
|  static void r8152b_init(struct r8152 *tp) |  static void r8152b_init(struct r8152 *tp) | ||||||
|  { |  { | ||||||
|  	u32 ocp_data; |  	u32 ocp_data; | ||||||
| @@ -6821,6 +6838,8 @@ static void r8152b_init(struct r8152 *tp | @@ -6823,6 +6840,8 @@ static void r8152b_init(struct r8152 *tp | ||||||
|  	ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL); |  	ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL); | ||||||
|  	ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN); |  	ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN); | ||||||
|  	ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); |  	ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); | ||||||
| @@ -54,7 +54,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net> | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  static void r8153_init(struct r8152 *tp) |  static void r8153_init(struct r8152 *tp) | ||||||
| @@ -6961,6 +6980,8 @@ static void r8153_init(struct r8152 *tp) | @@ -6963,6 +6982,8 @@ static void r8153_init(struct r8152 *tp) | ||||||
|  		tp->coalesce = COALESCE_SLOW; |  		tp->coalesce = COALESCE_SLOW; | ||||||
|  		break; |  		break; | ||||||
|  	} |  	} | ||||||
| @@ -63,7 +63,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net> | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  static void r8153b_init(struct r8152 *tp) |  static void r8153b_init(struct r8152 *tp) | ||||||
| @@ -7043,6 +7064,8 @@ static void r8153b_init(struct r8152 *tp | @@ -7045,6 +7066,8 @@ static void r8153b_init(struct r8152 *tp | ||||||
|  	rtl_tally_reset(tp); |  	rtl_tally_reset(tp); | ||||||
|   |   | ||||||
|  	tp->coalesce = 15000;	/* 15 us */ |  	tp->coalesce = 15000;	/* 15 us */ | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  |  | ||||||
| --- a/include/linux/skbuff.h | --- a/include/linux/skbuff.h | ||||||
| +++ b/include/linux/skbuff.h | +++ b/include/linux/skbuff.h | ||||||
| @@ -2684,7 +2684,7 @@ static inline int pskb_network_may_pull( | @@ -2686,7 +2686,7 @@ static inline int pskb_network_may_pull( | ||||||
|   * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) |   * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) | ||||||
|   */ |   */ | ||||||
|  #ifndef NET_SKB_PAD |  #ifndef NET_SKB_PAD | ||||||
|   | |||||||
| @@ -22,10 +22,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  #endif |  #endif | ||||||
| --- a/include/linux/skbuff.h | --- a/include/linux/skbuff.h | ||||||
| +++ b/include/linux/skbuff.h | +++ b/include/linux/skbuff.h | ||||||
| @@ -858,6 +858,7 @@ struct sk_buff { | @@ -860,6 +860,7 @@ struct sk_buff { | ||||||
|  #ifdef CONFIG_TLS_DEVICE |  | ||||||
|  	__u8			decrypted:1; |  	__u8			decrypted:1; | ||||||
|  #endif |  #endif | ||||||
|  |  	__u8			scm_io_uring:1; | ||||||
| +	__u8			gro_skip:1; | +	__u8			gro_skip:1; | ||||||
|   |   | ||||||
|  #ifdef CONFIG_NET_SCHED |  #ifdef CONFIG_NET_SCHED | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ Signed-off-by: Robert Marko <robert.marko@sartura.hr> | |||||||
|  |  | ||||||
| --- a/drivers/mmc/host/sdhci-msm.c | --- a/drivers/mmc/host/sdhci-msm.c | ||||||
| +++ b/drivers/mmc/host/sdhci-msm.c | +++ b/drivers/mmc/host/sdhci-msm.c | ||||||
| @@ -2192,7 +2192,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat | @@ -2193,7 +2193,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat | ||||||
|   |   | ||||||
|  static const struct sdhci_ops sdhci_msm_ops = { |  static const struct sdhci_ops sdhci_msm_ops = { | ||||||
|  	.reset = sdhci_msm_reset, |  	.reset = sdhci_msm_reset, | ||||||
|   | |||||||
| @@ -19,7 +19,7 @@ Link: https://lore.kernel.org/linux-mtd/20210104041137.113075-3-manivannan.sadha | |||||||
|  |  | ||||||
| --- a/drivers/mtd/parsers/Kconfig | --- a/drivers/mtd/parsers/Kconfig | ||||||
| +++ b/drivers/mtd/parsers/Kconfig | +++ b/drivers/mtd/parsers/Kconfig | ||||||
| @@ -205,6 +205,14 @@ config MTD_SERCOMM_PARTS | @@ -220,6 +220,14 @@ config MTD_SERCOMM_PARTS | ||||||
|  	  offsets, which may differ from device to device depending on the |  	  offsets, which may differ from device to device depending on the | ||||||
|  	  number and location of bad blocks on NAND. |  	  number and location of bad blocks on NAND. | ||||||
|   |   | ||||||
| @@ -36,7 +36,7 @@ Link: https://lore.kernel.org/linux-mtd/20210104041137.113075-3-manivannan.sadha | |||||||
|  	depends on MTD && OF |  	depends on MTD && OF | ||||||
| --- a/drivers/mtd/parsers/Makefile | --- a/drivers/mtd/parsers/Makefile | ||||||
| +++ b/drivers/mtd/parsers/Makefile | +++ b/drivers/mtd/parsers/Makefile | ||||||
| @@ -14,4 +14,5 @@ obj-$(CONFIG_MTD_PARSER_TRX)		+= parser_ | @@ -15,4 +15,5 @@ obj-$(CONFIG_MTD_PARSER_TRX)		+= parser_ | ||||||
|  obj-$(CONFIG_MTD_SERCOMM_PARTS)		+= scpart.o |  obj-$(CONFIG_MTD_SERCOMM_PARTS)		+= scpart.o | ||||||
|  obj-$(CONFIG_MTD_SHARPSL_PARTS)		+= sharpslpart.o |  obj-$(CONFIG_MTD_SHARPSL_PARTS)		+= sharpslpart.o | ||||||
|  obj-$(CONFIG_MTD_REDBOOT_PARTS)		+= redboot.o |  obj-$(CONFIG_MTD_REDBOOT_PARTS)		+= redboot.o | ||||||
|   | |||||||
| @@ -19,7 +19,7 @@ Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> | |||||||
|  |  | ||||||
| --- a/arch/powerpc/boot/Makefile | --- a/arch/powerpc/boot/Makefile | ||||||
| +++ b/arch/powerpc/boot/Makefile | +++ b/arch/powerpc/boot/Makefile | ||||||
| @@ -157,6 +157,7 @@ src-plat-$(CONFIG_PPC_PSERIES) += pserie | @@ -158,6 +158,7 @@ src-plat-$(CONFIG_PPC_PSERIES) += pserie | ||||||
|  src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S |  src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S | ||||||
|  src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S |  src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S | ||||||
|  src-plat-$(CONFIG_MVME7100) += motload-head.S mvme7100.c |  src-plat-$(CONFIG_MVME7100) += motload-head.S mvme7100.c | ||||||
| @@ -27,7 +27,7 @@ Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> | |||||||
|   |   | ||||||
|  src-wlib := $(sort $(src-wlib-y)) |  src-wlib := $(sort $(src-wlib-y)) | ||||||
|  src-plat := $(sort $(src-plat-y)) |  src-plat := $(sort $(src-plat-y)) | ||||||
| @@ -336,7 +337,7 @@ image-$(CONFIG_TQM8555)			+= cuImage.tqm | @@ -337,7 +338,7 @@ image-$(CONFIG_TQM8555)			+= cuImage.tqm | ||||||
|  image-$(CONFIG_TQM8560)			+= cuImage.tqm8560 |  image-$(CONFIG_TQM8560)			+= cuImage.tqm8560 | ||||||
|  image-$(CONFIG_SBC8548)			+= cuImage.sbc8548 |  image-$(CONFIG_SBC8548)			+= cuImage.sbc8548 | ||||||
|  image-$(CONFIG_KSI8560)			+= cuImage.ksi8560 |  image-$(CONFIG_KSI8560)			+= cuImage.ksi8560 | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net> | |||||||
|  |  | ||||||
| --- a/arch/powerpc/boot/Makefile | --- a/arch/powerpc/boot/Makefile | ||||||
| +++ b/arch/powerpc/boot/Makefile | +++ b/arch/powerpc/boot/Makefile | ||||||
| @@ -264,7 +264,6 @@ image-$(CONFIG_PPC_CHRP)		+= zImage.chrp | @@ -265,7 +265,6 @@ image-$(CONFIG_PPC_CHRP)		+= zImage.chrp | ||||||
|  image-$(CONFIG_PPC_EFIKA)		+= zImage.chrp |  image-$(CONFIG_PPC_EFIKA)		+= zImage.chrp | ||||||
|  image-$(CONFIG_PPC_PMAC)		+= zImage.pmac |  image-$(CONFIG_PPC_PMAC)		+= zImage.pmac | ||||||
|  image-$(CONFIG_PPC_HOLLY)		+= dtbImage.holly |  image-$(CONFIG_PPC_HOLLY)		+= dtbImage.holly | ||||||
| @@ -24,7 +24,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net> | |||||||
|  image-$(CONFIG_EPAPR_BOOT)		+= zImage.epapr |  image-$(CONFIG_EPAPR_BOOT)		+= zImage.epapr | ||||||
|   |   | ||||||
|  # |  # | ||||||
| @@ -395,15 +394,6 @@ $(obj)/dtbImage.%: vmlinux $(wrapperbits | @@ -396,15 +395,6 @@ $(obj)/dtbImage.%: vmlinux $(wrapperbits | ||||||
|  $(obj)/vmlinux.strip: vmlinux |  $(obj)/vmlinux.strip: vmlinux | ||||||
|  	$(STRIP) -s -R .comment $< -o $@ |  	$(STRIP) -s -R .comment $< -o $@ | ||||||
|   |   | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user