kernel: bump 5.10 to 5.10.196

Removed because already in upstream:
  target/linux/bcm53xx/patches-5.10/030-v5.11-0002-ARM-dts-BCM5301X-Harmonize-EHCI-OHCI-DT-nodes-name.patch
  target/linux/bcm53xx/patches-5.10/033-v5.16-0019-ARM-dts-BCM53573-Describe-on-SoC-BCM53125-rev-4-swit.patch
  target/linux/bcm53xx/patches-5.10/040-v6.6-0005-ARM-dts-BCM53573-Drop-nonexistent-usb-cells.patch
  target/linux/bcm53xx/patches-5.10/040-v6.6-0006-ARM-dts-BCM53573-Add-cells-sizes-to-PCIe-node.patch
  target/linux/bcm53xx/patches-5.10/040-v6.6-0007-ARM-dts-BCM53573-Use-updated-spi-gpio-binding-proper.patch
  target/linux/bcm53xx/patches-5.10/040-v6.6-0008-ARM-dts-BCM5301X-Extend-RAM-to-full-256MB-for-Linksy.patch

All other patches automatically rebased.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Hauke Mehrtens 2023-09-24 19:01:52 +02:00
parent 92a0dd2447
commit 35985454a6
63 changed files with 186 additions and 437 deletions

View File

@ -1,2 +1,2 @@
LINUX_VERSION-5.10 = .194
LINUX_KERNEL_HASH-5.10.194 = 240d5e47bb378c6813ecd07704fb887651ea7617159d2771071fd70bf33cd995
LINUX_VERSION-5.10 = .196
LINUX_KERNEL_HASH-5.10.196 = 71ec2e3af082bcd7c4aac4b8ecdbc2e47695befe4984e3e5567791a605a96fc0

View File

@ -17,7 +17,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
--- a/sound/soc/atmel/atmel-i2s.c
+++ b/sound/soc/atmel/atmel-i2s.c
@@ -581,8 +581,8 @@ static int atmel_i2s_sama5d2_mck_init(st
@@ -584,8 +584,8 @@ static int atmel_i2s_sama5d2_mck_init(st
err = PTR_ERR(muxclk);
if (err == -EPROBE_DEFER)
return -EPROBE_DEFER;

View File

@ -25,7 +25,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
--- a/sound/soc/atmel/atmel-i2s.c
+++ b/sound/soc/atmel/atmel-i2s.c
@@ -613,7 +613,7 @@ static int atmel_i2s_probe(struct platfo
@@ -616,7 +616,7 @@ static int atmel_i2s_probe(struct platfo
struct regmap *regmap;
void __iomem *base;
int irq;

View File

@ -16,7 +16,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
--- a/sound/soc/atmel/atmel-i2s.c
+++ b/sound/soc/atmel/atmel-i2s.c
@@ -560,6 +560,7 @@ static struct snd_soc_dai_driver atmel_i
@@ -563,6 +563,7 @@ static struct snd_soc_dai_driver atmel_i
},
.ops = &atmel_i2s_dai_ops,
.symmetric_rates = 1,

View File

@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
@@ -3168,6 +3168,7 @@ int spi_nor_scan(struct spi_nor *nor, co
@@ -3169,6 +3169,7 @@ int spi_nor_scan(struct spi_nor *nor, co
struct device *dev = nor->dev;
struct mtd_info *mtd = &nor->mtd;
struct device_node *np = spi_nor_get_flash_node(nor);
@ -18,7 +18,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
int ret;
int i;
@@ -3222,7 +3223,12 @@ int spi_nor_scan(struct spi_nor *nor, co
@@ -3223,7 +3224,12 @@ int spi_nor_scan(struct spi_nor *nor, co
if (ret)
return ret;

View File

@ -706,7 +706,7 @@
EXPORT_SYMBOL(xfrm_parse_spi);
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -4134,14 +4134,16 @@ static bool tcp_parse_aligned_timestamp(
@@ -4133,14 +4133,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);

View File

@ -1123,7 +1123,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
}
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -5508,7 +5508,7 @@ static void port_event(struct usb_hub *h
@@ -5564,7 +5564,7 @@ static void port_event(struct usb_hub *h
port_dev->over_current_count++;
port_over_current_notify(port_dev);
@ -1134,7 +1134,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
USB_PORT_FEAT_C_OVER_CURRENT);
--- a/drivers/usb/core/message.c
+++ b/drivers/usb/core/message.c
@@ -2135,6 +2135,85 @@ free_interfaces:
@@ -2130,6 +2130,85 @@ free_interfaces:
if (cp->string == NULL &&
!(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS))
cp->string = usb_cache_string(dev, cp->desc.iConfiguration);

View File

@ -187,7 +187,7 @@ Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
select DMA_ENGINE
select DMA_VIRTUAL_CHANNELS
@@ -652,6 +652,10 @@ config UNIPHIER_XDMAC
@@ -654,6 +654,10 @@ config UNIPHIER_XDMAC
UniPhier platform. This DMA controller can transfer data from
memory to memory, memory to peripheral and peripheral to memory.

View File

@ -12476,7 +12476,7 @@ Signed-off-by: Joerg Schambacher joerg@i2audio.com
config SND_SOC_RT5631
tristate "Realtek ALC5631/RT5631 CODEC"
depends on I2C
@@ -1349,6 +1364,9 @@ config SND_SOC_TFA9879
@@ -1350,6 +1365,9 @@ config SND_SOC_TFA9879
tristate "NXP Semiconductors TFA9879 amplifier"
depends on I2C
@ -12486,7 +12486,7 @@ Signed-off-by: Joerg Schambacher joerg@i2audio.com
config SND_SOC_TLV320AIC23
tristate
@@ -1787,4 +1805,8 @@ config SND_SOC_TPA6130A2
@@ -1788,4 +1806,8 @@ config SND_SOC_TPA6130A2
tristate "Texas Instruments TPA6130A2 headphone amplifier"
depends on I2C

View File

@ -130,9 +130,9 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
static void iproc_rng200_cleanup(struct hwrng *rng)
{
struct iproc_rng200_dev *priv = to_rng_priv(rng);
@@ -195,11 +261,17 @@ static int iproc_rng200_probe(struct pla
return PTR_ERR(priv->base);
}
@@ -197,11 +263,17 @@ static int iproc_rng200_probe(struct pla
dev_set_drvdata(dev, priv);
- priv->rng.name = "iproc-rng200";
- priv->rng.read = iproc_rng200_read;

View File

@ -27,7 +27,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -1969,6 +1969,16 @@ reset:
@@ -1973,6 +1973,16 @@ reset:
return ret;
}
@ -46,7 +46,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
* have been called previously. Use for set_configuration, set_interface,
--- a/drivers/usb/core/message.c
+++ b/drivers/usb/core/message.c
@@ -1265,6 +1265,21 @@ static void remove_intf_ep_devs(struct u
@@ -1260,6 +1260,21 @@ static void remove_intf_ep_devs(struct u
intf->ep_devs_created = 0;
}

View File

@ -89,7 +89,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct tally_counter {
__le64 tx_packets;
__le64 rx_packets;
@@ -6627,7 +6604,7 @@ static int rtl_fw_init(struct r8152 *tp)
@@ -6630,7 +6607,7 @@ static int rtl_fw_init(struct r8152 *tp)
return 0;
}
@ -98,7 +98,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
{
struct usb_device *udev = interface_to_usbdev(intf);
u32 ocp_data = 0;
@@ -6685,12 +6662,13 @@ static u8 rtl_get_version(struct usb_int
@@ -6688,12 +6665,13 @@ static u8 rtl_get_version(struct usb_int
return version;
}

View File

@ -30,7 +30,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (test_bit(RTL8152_UNPLUG, &tp->flags))
return;
@@ -6720,7 +6718,7 @@ static int rtl8152_probe(struct usb_inte
@@ -6723,7 +6721,7 @@ static int rtl8152_probe(struct usb_inte
mutex_init(&tp->control);
INIT_DELAYED_WORK(&tp->schedule, rtl_work_func_t);
INIT_DELAYED_WORK(&tp->hw_phy_work, rtl_hw_phy_work_func_t);

View File

@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -3446,59 +3446,76 @@ static void rtl_clear_bp(struct r8152 *t
@@ -3449,59 +3449,76 @@ static void rtl_clear_bp(struct r8152 *t
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);
@@ -3983,7 +4000,7 @@ static void rtl8152_fw_mac_apply(struct
@@ -3986,7 +4003,7 @@ static void rtl8152_fw_mac_apply(struct
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;
const struct firmware *fw;
@@ -4014,12 +4031,11 @@ static void rtl8152_apply_firmware(struc
@@ -4017,12 +4034,11 @@ static void rtl8152_apply_firmware(struc
case RTL_FW_PHY_START:
key = (struct fw_phy_patch_key *)block;
key_addr = __le16_to_cpu(key->key_reg);
@ -151,7 +151,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
break;
case RTL_FW_PHY_NC:
rtl8152_fw_phy_nc_apply(tp, (struct fw_phy_nc *)block);
@@ -4224,7 +4240,7 @@ static void rtl8152_disable(struct r8152
@@ -4227,7 +4243,7 @@ static void rtl8152_disable(struct r8152
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);
r8152_aldps_en(tp, true);
r8152b_enable_fc(tp);
@@ -4506,7 +4522,7 @@ static void r8153_hw_phy_cfg(struct r815
@@ -4509,7 +4525,7 @@ static void r8153_hw_phy_cfg(struct r815
/* disable EEE before updating the PHY parameters */
rtl_eee_enable(tp, false);
@ -169,7 +169,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (tp->version == RTL_VER_03) {
data = ocp_reg_read(tp, OCP_EEE_CFG);
@@ -4580,7 +4596,7 @@ static void r8153b_hw_phy_cfg(struct r81
@@ -4583,7 +4599,7 @@ static void r8153b_hw_phy_cfg(struct r81
/* disable EEE before updating the PHY parameters */
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));
@@ -4621,7 +4637,7 @@ static void r8153b_hw_phy_cfg(struct r81
@@ -4624,7 +4640,7 @@ static void r8153b_hw_phy_cfg(struct r81
ocp_write_word(tp, MCU_TYPE_PLA, PLA_PHY_PWR, ocp_data);
/* Advnace EEE */
@ -187,7 +187,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
data = ocp_reg_read(tp, OCP_POWER_CFG);
data |= EEE_CLKDIV_EN;
ocp_reg_write(tp, OCP_POWER_CFG, data);
@@ -4638,7 +4654,7 @@ static void r8153b_hw_phy_cfg(struct r81
@@ -4641,7 +4657,7 @@ static void r8153b_hw_phy_cfg(struct r81
ocp_reg_write(tp, OCP_SYSCLK_CFG, clk_div_expo(5));
tp->ups_info._250m_ckdiv = true;

View File

@ -31,7 +31,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
static int rtl8152_set_mac_address(struct net_device *netdev, void *p)
{
struct r8152 *tp = netdev_priv(netdev);
@@ -3185,8 +3189,6 @@ static void r8153b_ups_en(struct r8152 *
@@ -3188,8 +3192,6 @@ static void r8153b_ups_en(struct r8152 *
ocp_data |= BIT(0);
ocp_write_byte(tp, MCU_TYPE_USB, 0xcfff, ocp_data);
} else {
@ -40,7 +40,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
ocp_data &= ~(UPS_EN | USP_PREWAKE);
ocp_write_byte(tp, MCU_TYPE_USB, USB_POWER_CUT, ocp_data);
@@ -3194,31 +3196,20 @@ static void r8153b_ups_en(struct r8152 *
@@ -3197,31 +3199,20 @@ static void r8153b_ups_en(struct r8152 *
ocp_data &= ~BIT(0);
ocp_write_byte(tp, MCU_TYPE_USB, 0xcfff, ocp_data);
@ -83,7 +83,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
}
}
}
@@ -4590,13 +4581,37 @@ static void r8153b_hw_phy_cfg(struct r81
@@ -4593,13 +4584,37 @@ static void r8153b_hw_phy_cfg(struct r81
u32 ocp_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));
@@ -5545,9 +5560,6 @@ static void r8153b_init(struct r8152 *tp
@@ -5548,9 +5563,6 @@ static void r8153b_init(struct r8152 *tp
/* MSC timer = 0xfff * 8ms = 32760 ms */
ocp_write_word(tp, MCU_TYPE_USB, USB_MSC_TIMER, 0x0fff);

View File

@ -16,7 +16,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -3338,7 +3338,7 @@ static void rtl8153b_runtime_enable(stru
@@ -3341,7 +3341,7 @@ static void rtl8153b_runtime_enable(stru
r8153b_ups_en(tp, false);
r8153_queue_wake(tp, false);
rtl_runtime_suspend_enable(tp, false);
@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
r8153b_u1u2en(tp, true);
}
}
@@ -5031,7 +5031,7 @@ static void rtl8153b_up(struct r8152 *tp
@@ -5034,7 +5034,7 @@ static void rtl8153b_up(struct r8152 *tp
r8153_aldps_en(tp, true);
@ -34,7 +34,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
r8153b_u1u2en(tp, true);
}
@@ -5573,8 +5573,9 @@ static void r8153b_init(struct r8152 *tp
@@ -5576,8 +5576,9 @@ static void r8153b_init(struct r8152 *tp
ocp_data |= POLL_LINK_CHG;
ocp_write_word(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS, ocp_data);

View File

@ -15,7 +15,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -5760,6 +5760,9 @@ static int rtl8152_runtime_suspend(struc
@@ -5763,6 +5763,9 @@ static int rtl8152_runtime_suspend(struc
struct net_device *netdev = tp->netdev;
int ret = 0;
@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
set_bit(SELECTIVE_SUSPEND, &tp->flags);
smp_mb__after_atomic();
@@ -6159,6 +6162,11 @@ rtl_ethtool_get_eee(struct net_device *n
@@ -6162,6 +6165,11 @@ rtl_ethtool_get_eee(struct net_device *n
struct r8152 *tp = netdev_priv(net);
int ret;
@ -37,7 +37,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
ret = usb_autopm_get_interface(tp->intf);
if (ret < 0)
goto out;
@@ -6181,6 +6189,11 @@ rtl_ethtool_set_eee(struct net_device *n
@@ -6184,6 +6192,11 @@ rtl_ethtool_set_eee(struct net_device *n
struct r8152 *tp = netdev_priv(net);
int ret;

View File

@ -16,7 +16,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -6596,7 +6596,7 @@ static int rtl_ops_init(struct r8152 *tp
@@ -6599,7 +6599,7 @@ static int rtl_ops_init(struct r8152 *tp
default:
ret = -ENODEV;
@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
break;
}
@@ -6853,7 +6853,7 @@ static int rtl8152_probe(struct usb_inte
@@ -6856,7 +6856,7 @@ static int rtl8152_probe(struct usb_inte
ret = register_netdev(netdev);
if (ret != 0) {

View File

@ -15,7 +15,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -2635,21 +2635,24 @@ static inline u8 rtl8152_get_speed(struc
@@ -2638,21 +2638,24 @@ static inline u8 rtl8152_get_speed(struc
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)
@@ -3130,10 +3133,22 @@ static void r8153b_ups_flags(struct r815
@@ -3133,10 +3136,22 @@ static void r8153b_ups_flags(struct r815
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) {
sram_write(tp, 0x8045, 0); /* 10M abiq&ldvbias */
sram_write(tp, 0x804d, 0x1222); /* 100M short abiq&ldvbias */
@@ -3144,11 +3159,7 @@ static void r8153b_green_en(struct r8152
@@ -3147,11 +3162,7 @@ static void r8153b_green_en(struct r8152
sram_write(tp, 0x805d, 0x2444); /* 1000M short abiq&ldvbias */
}

View File

@ -34,7 +34,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* PLA_MTPS */
#define MTPS_JUMBO (12 * 1024 / 64)
@@ -2750,6 +2753,29 @@ static int rtl_stop_rx(struct r8152 *tp)
@@ -2753,6 +2756,29 @@ static int rtl_stop_rx(struct r8152 *tp)
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)
{
ocp_write_byte(tp, MCU_TYPE_USB, USB_UPT_RXDMA_OWN,
@@ -2853,6 +2879,8 @@ static int rtl8153_enable(struct r8152 *
@@ -2856,6 +2882,8 @@ static int rtl8153_enable(struct r8152 *
r8153_set_rx_early_timeout(tp);
r8153_set_rx_early_size(tp);

View File

@ -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.
* The layout of the firmware block is:
@@ -3803,10 +3811,7 @@ static long rtl8152_check_firmware(struc
@@ -3806,10 +3814,7 @@ static long rtl8152_check_firmware(struc
{
const struct firmware *fw = rtl_fw->fw;
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;
int i;
@@ -3835,50 +3840,52 @@ static long rtl8152_check_firmware(struc
@@ -3838,50 +3843,52 @@ static long rtl8152_check_firmware(struc
goto fail;
goto fw_end;
case RTL_FW_PLA:
@ -106,7 +106,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
dev_err(&tp->intf->dev,
"Check PHY_STOP fail\n");
goto fail;
@@ -3889,28 +3896,28 @@ static long rtl8152_check_firmware(struc
@@ -3892,28 +3899,28 @@ static long rtl8152_check_firmware(struc
"Invalid length for PHY_STOP\n");
goto fail;
}
@ -141,7 +141,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
break;
default:
@@ -3924,7 +3931,7 @@ static long rtl8152_check_firmware(struc
@@ -3927,7 +3934,7 @@ static long rtl8152_check_firmware(struc
}
fw_end:

View File

@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static
int get_registers(struct r8152 *tp, u16 value, u16 index, u16 size, void *data)
@@ -2635,10 +2633,7 @@ static void rtl8152_nic_reset(struct r81
@@ -2638,10 +2636,7 @@ static void rtl8152_nic_reset(struct r81
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)
@@ -4727,6 +4722,12 @@ static void r8153b_hw_phy_cfg(struct r81
@@ -4730,6 +4725,12 @@ static void r8153b_hw_phy_cfg(struct r81
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)
{
u32 ocp_data;
@@ -4759,9 +4760,7 @@ static void r8153_first_init(struct r815
@@ -4762,9 +4763,7 @@ static void r8153_first_init(struct r815
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 |= TCR0_AUTO_FIFO;
@@ -4796,8 +4795,7 @@ static void r8153_enter_oob(struct r8152
@@ -4799,8 +4798,7 @@ static void r8153_enter_oob(struct r8152
wait_oob_link_list_ready(tp);
@ -103,7 +103,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
switch (tp->version) {
case RTL_VER_03:
@@ -6520,12 +6518,21 @@ static int rtl8152_change_mtu(struct net
@@ -6523,12 +6521,21 @@ static int rtl8152_change_mtu(struct net
dev->mtu = new_mtu;
if (netif_running(dev)) {
@ -130,7 +130,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
mutex_unlock(&tp->control);
@@ -6614,6 +6621,7 @@ static int rtl_ops_init(struct r8152 *tp
@@ -6617,6 +6624,7 @@ static int rtl_ops_init(struct r8152 *tp
ops->in_nway = rtl8153_in_nway;
ops->hw_phy_cfg = r8153_hw_phy_cfg;
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)
tp->rx_buf_sz = 16 * 1024;
else
@@ -6635,6 +6643,7 @@ static int rtl_ops_init(struct r8152 *tp
@@ -6638,6 +6646,7 @@ static int rtl_ops_init(struct r8152 *tp
ops->in_nway = rtl8153_in_nway;
ops->hw_phy_cfg = r8153b_hw_phy_cfg;
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->eee_en = true;
tp->eee_adv = MDIO_EEE_1000T | MDIO_EEE_100TX;
@@ -6855,7 +6864,7 @@ static int rtl8152_probe(struct usb_inte
@@ -6858,7 +6867,7 @@ static int rtl8152_probe(struct usb_inte
netdev->max_mtu = ETH_DATA_LEN;
break;
default:

View File

@ -379,7 +379,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* 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.
@@ -2609,7 +2714,7 @@ static netdev_tx_t rtl8152_start_xmit(st
@@ -2612,7 +2717,7 @@ static netdev_tx_t rtl8152_start_xmit(st
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 &= ~FMC_FCR_MCU_EN;
@@ -2620,14 +2725,47 @@ static void r8152b_reset_packet_filter(s
@@ -2623,14 +2728,47 @@ static void r8152b_reset_packet_filter(s
static void rtl8152_nic_reset(struct r8152 *tp)
{
@ -442,7 +442,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
}
@@ -2636,9 +2774,9 @@ static void set_tx_qlen(struct r8152 *tp
@@ -2639,9 +2777,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));
}
@ -454,7 +454,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
static void rtl_eee_plus_en(struct r8152 *tp, bool enable)
@@ -2798,6 +2936,7 @@ static int rtl_enable(struct r8152 *tp)
@@ -2801,6 +2939,7 @@ static int rtl_enable(struct r8152 *tp)
switch (tp->version) {
case RTL_VER_08:
case RTL_VER_09:
@ -462,7 +462,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
r8153b_rx_agg_chg_indicate(tp);
break;
default:
@@ -2835,6 +2974,7 @@ static void r8153_set_rx_early_timeout(s
@@ -2838,6 +2977,7 @@ static void r8153_set_rx_early_timeout(s
case RTL_VER_08:
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
* primarily. For USB_RX_EARLY_TIMEOUT, we fix it to 128ns.
*/
@@ -2844,6 +2984,18 @@ static void r8153_set_rx_early_timeout(s
@@ -2847,6 +2987,18 @@ static void r8153_set_rx_early_timeout(s
ocp_data);
break;
@ -489,7 +489,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
default:
break;
}
@@ -2863,8 +3015,19 @@ static void r8153_set_rx_early_size(stru
@@ -2866,8 +3018,19 @@ static void r8153_set_rx_early_size(stru
break;
case RTL_VER_08:
case RTL_VER_09:
@ -509,7 +509,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
break;
default:
WARN_ON_ONCE(1);
@@ -2874,6 +3037,8 @@ static void r8153_set_rx_early_size(stru
@@ -2877,6 +3040,8 @@ static void r8153_set_rx_early_size(stru
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))
return -ENODEV;
@@ -2884,15 +3049,18 @@ static int rtl8153_enable(struct r8152 *
@@ -2887,15 +3052,18 @@ static int rtl8153_enable(struct r8152 *
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);
@@ -2957,12 +3125,40 @@ static void rtl_rx_vlan_en(struct r8152
@@ -2960,12 +3128,40 @@ static void rtl_rx_vlan_en(struct r8152
{
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,
@@ -3055,6 +3251,40 @@ static void __rtl_set_wol(struct r8152 *
@@ -3058,6 +3254,40 @@ static void __rtl_set_wol(struct r8152 *
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)
{
u8 u1u2[8];
@@ -3114,6 +3344,9 @@ static void r8153b_ups_flags(struct r815
@@ -3117,6 +3347,9 @@ static void r8153b_ups_flags(struct r815
if (tp->ups_info.eee_cmod_lv)
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)
ups_flags |= UPS_FLAGS_EN_10M_CKDIV;
@@ -3164,6 +3397,88 @@ static void r8153b_ups_flags(struct r815
@@ -3167,6 +3400,88 @@ static void r8153b_ups_flags(struct r815
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)
{
u16 data;
@@ -3227,16 +3542,16 @@ static void r8153b_ups_en(struct r8152 *
@@ -3230,16 +3545,16 @@ static void r8153b_ups_en(struct r8152 *
ocp_data |= UPS_EN | USP_PREWAKE | PHASE2_EN;
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) {
int i;
@@ -3256,6 +3571,95 @@ static void r8153b_ups_en(struct r8152 *
@@ -3259,6 +3574,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)
{
u32 ocp_data;
@@ -3385,6 +3789,38 @@ static void rtl8153b_runtime_enable(stru
@@ -3388,6 +3792,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)
{
u32 ocp_data;
@@ -3405,14 +3841,19 @@ static void r8153_teredo_off(struct r815
@@ -3408,14 +3844,19 @@ static void r8153_teredo_off(struct r815
case RTL_VER_08:
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);
@@ -3447,6 +3888,12 @@ static void rtl_clear_bp(struct r8152 *t
@@ -3450,6 +3891,12 @@ static void rtl_clear_bp(struct r8152 *t
break;
case RTL_VER_08:
case RTL_VER_09:
@ -921,7 +921,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
default:
if (type == MCU_TYPE_USB) {
ocp_write_word(tp, MCU_TYPE_USB, USB_BP2_EN, 0);
@@ -3656,6 +4103,11 @@ static bool rtl8152_is_fw_mac_ok(struct
@@ -3659,6 +4106,11 @@ static bool rtl8152_is_fw_mac_ok(struct
case RTL_VER_06:
case RTL_VER_08:
case RTL_VER_09:
@ -933,7 +933,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
fw_reg = 0xf800;
bp_ba_addr = PLA_BP_BA;
bp_en_addr = PLA_BP_EN;
@@ -3679,6 +4131,11 @@ static bool rtl8152_is_fw_mac_ok(struct
@@ -3682,6 +4134,11 @@ static bool rtl8152_is_fw_mac_ok(struct
break;
case RTL_VER_08:
case RTL_VER_09:
@ -945,7 +945,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
fw_reg = 0xe600;
bp_ba_addr = USB_BP_BA;
bp_en_addr = USB_BP2_EN;
@@ -4218,6 +4675,22 @@ static void r8153_eee_en(struct r8152 *t
@@ -4221,6 +4678,22 @@ static void r8153_eee_en(struct r8152 *t
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)
{
switch (tp->version) {
@@ -4239,6 +4712,7 @@ static void rtl_eee_enable(struct r8152
@@ -4242,6 +4715,7 @@ static void rtl_eee_enable(struct r8152
case RTL_VER_06:
case RTL_VER_08:
case RTL_VER_09:
@ -976,7 +976,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (enable) {
r8153_eee_en(tp, true);
ocp_reg_write(tp, OCP_EEE_ADV, tp->eee_adv);
@@ -4247,6 +4721,19 @@ static void rtl_eee_enable(struct r8152
@@ -4250,6 +4724,19 @@ static void rtl_eee_enable(struct r8152
ocp_reg_write(tp, OCP_EEE_ADV, 0);
}
break;
@ -996,7 +996,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
default:
break;
}
@@ -4293,6 +4780,20 @@ static void wait_oob_link_list_ready(str
@@ -4296,6 +4783,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)
{
u32 ocp_data;
@@ -4343,7 +4844,7 @@ static void r8152b_exit_oob(struct r8152
@@ -4346,7 +4847,7 @@ static void r8152b_exit_oob(struct r8152
}
/* 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_dword(tp, MCU_TYPE_USB, USB_RX_BUF_TH, RX_THR_HIGH);
@@ -4520,6 +5021,21 @@ static int r8153b_post_firmware_1(struct
@@ -4523,6 +5024,21 @@ static int r8153b_post_firmware_1(struct
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)
{
u16 data;
@@ -4722,6 +5238,13 @@ static void r8153b_hw_phy_cfg(struct r81
@@ -4725,6 +5241,13 @@ static void r8153b_hw_phy_cfg(struct r81
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)
{
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RMS, mtu_to_size(tp->netdev->mtu));
@@ -4809,6 +5332,7 @@ static void r8153_enter_oob(struct r8152
@@ -4812,6 +5335,7 @@ static void r8153_enter_oob(struct r8152
case RTL_VER_08:
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
* type. Set it to zero. bits[7:0] are the W1C bits about
* the events. Set them to all 1 to clear them.
@@ -4845,6 +5369,96 @@ static void rtl8153_disable(struct r8152
@@ -4848,6 +5372,96 @@ static void rtl8153_disable(struct r8152
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,
u32 advertising)
{
@@ -4893,58 +5507,73 @@ static int rtl8152_set_speed(struct r815
@@ -4896,58 +5510,73 @@ static int rtl8152_set_speed(struct r815
tp->mii.force_media = 1;
} else {
@ -1259,7 +1259,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
bmcr = BMCR_ANENABLE | BMCR_ANRESTART;
@@ -5100,6 +5729,253 @@ static void rtl8153b_down(struct r8152 *
@@ -5103,6 +5732,253 @@ static void rtl8153b_down(struct r8152 *
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)
{
u16 nway_state;
@@ -5130,7 +6006,7 @@ static void set_carrier(struct r8152 *tp
@@ -5133,7 +6009,7 @@ static void set_carrier(struct r8152 *tp
{
struct net_device *netdev = tp->netdev;
struct napi_struct *napi = &tp->napi;
@ -1522,7 +1522,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
speed = rtl8152_get_speed(tp);
@@ -5143,7 +6019,7 @@ static void set_carrier(struct r8152 *tp
@@ -5146,7 +6022,7 @@ static void set_carrier(struct r8152 *tp
rtl_start_rx(tp);
clear_bit(RTL8152_SET_RX_MODE, &tp->flags);
_rtl8152_set_rx_mode(netdev);
@ -1531,7 +1531,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
netif_wake_queue(netdev);
netif_info(tp, link, netdev, "carrier on\n");
} else if (netif_queue_stopped(netdev) &&
@@ -5523,14 +6399,9 @@ static void r8153_init(struct r8152 *tp)
@@ -5526,14 +6402,9 @@ static void r8153_init(struct r8152 *tp)
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);
usb_enable_lpm(tp->udev);
@@ -5623,9 +6494,7 @@ static void r8153b_init(struct r8152 *tp
@@ -5626,9 +6497,7 @@ static void r8153b_init(struct r8152 *tp
usb_enable_lpm(tp->udev);
/* 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 &= ~PLA_MCU_SPDWN_EN;
@@ -5654,6 +6523,1069 @@ static void r8153b_init(struct r8152 *tp
@@ -5657,6 +6526,1069 @@ static void r8153b_init(struct r8152 *tp
r8152_led_configuration(tp);
}
@ -2628,7 +2628,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static int rtl8152_pre_reset(struct usb_interface *intf)
{
struct r8152 *tp = usb_get_intfdata(intf);
@@ -6017,6 +7949,22 @@ int rtl8152_get_link_ksettings(struct ne
@@ -6020,6 +7952,22 @@ int rtl8152_get_link_ksettings(struct ne
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);
usb_autopm_put_interface(tp->intf);
@@ -6060,6 +8008,10 @@ static int rtl8152_set_link_ksettings(st
@@ -6063,6 +8011,10 @@ static int rtl8152_set_link_ksettings(st
cmd->link_modes.advertising))
advertising |= RTL_ADVERTISED_1000_FULL;
@ -2662,7 +2662,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
mutex_lock(&tp->control);
ret = rtl8152_set_speed(tp, cmd->base.autoneg, cmd->base.speed,
@@ -6649,6 +8601,67 @@ static int rtl_ops_init(struct r8152 *tp
@@ -6652,6 +8604,67 @@ static int rtl_ops_init(struct r8152 *tp
tp->eee_adv = MDIO_EEE_1000T | MDIO_EEE_100TX;
break;
@ -2730,7 +2730,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
default:
ret = -ENODEV;
dev_err(&tp->intf->dev, "Unknown Device\n");
@@ -6662,11 +8675,13 @@ static int rtl_ops_init(struct r8152 *tp
@@ -6665,11 +8678,13 @@ static int rtl_ops_init(struct r8152 *tp
#define FIRMWARE_8153A_3 "rtl_nic/rtl8153a-3.fw"
#define FIRMWARE_8153A_4 "rtl_nic/rtl8153a-4.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)
{
@@ -6692,6 +8707,11 @@ static int rtl_fw_init(struct r8152 *tp)
@@ -6695,6 +8710,11 @@ static int rtl_fw_init(struct r8152 *tp)
rtl_fw->pre_fw = r8153b_pre_firmware_1;
rtl_fw->post_fw = r8153b_post_firmware_1;
break;
@ -2756,7 +2756,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
default:
break;
}
@@ -6747,6 +8767,27 @@ u8 rtl8152_get_version(struct usb_interf
@@ -6750,6 +8770,27 @@ u8 rtl8152_get_version(struct usb_interf
case 0x6010:
version = RTL_VER_09;
break;
@ -2784,7 +2784,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
default:
version = RTL_VER_UNKNOWN;
dev_info(&intf->dev, "Unknown version 0x%04x\n", ocp_data);
@@ -6859,12 +8900,29 @@ static int rtl8152_probe(struct usb_inte
@@ -6862,12 +8903,29 @@ static int rtl8152_probe(struct usb_inte
/* MTU range: 68 - 1500 or 9194 */
netdev->min_mtu = ETH_MIN_MTU;
switch (tp->version) {
@ -2817,7 +2817,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
break;
}
@@ -6880,7 +8938,13 @@ static int rtl8152_probe(struct usb_inte
@@ -6883,7 +8941,13 @@ static int rtl8152_probe(struct usb_inte
tp->advertising = RTL_ADVERTISED_10_HALF | RTL_ADVERTISED_10_FULL |
RTL_ADVERTISED_100_HALF | RTL_ADVERTISED_100_FULL;
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->duplex = DUPLEX_FULL;
@@ -6904,7 +8968,11 @@ static int rtl8152_probe(struct usb_inte
@@ -6907,7 +8971,11 @@ static int rtl8152_probe(struct usb_inte
set_ethernet_addr(tp);
usb_set_intfdata(intf, tp);
@ -2845,7 +2845,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
ret = register_netdev(netdev);
if (ret != 0) {
@@ -6940,7 +9008,8 @@ static void rtl8152_disconnect(struct us
@@ -6943,7 +9011,8 @@ static void rtl8152_disconnect(struct us
unregister_netdev(tp->netdev);
tasklet_kill(&tp->tx_tl);
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);
free_netdev(tp->netdev);
}
@@ -6960,13 +9029,28 @@ static void rtl8152_disconnect(struct us
@@ -6963,13 +9032,28 @@ static void rtl8152_disconnect(struct us
.idProduct = (prod), \
.bInterfaceClass = USB_CLASS_COMM, \
.bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, \

View File

@ -92,7 +92,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
};
enum rtl_version {
@@ -4002,6 +4063,162 @@ static int rtl_post_ram_code(struct r815
@@ -4005,6 +4066,162 @@ static int rtl_post_ram_code(struct r815
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)
{
u32 length;
@@ -4322,6 +4539,10 @@ static long rtl8152_check_firmware(struc
@@ -4325,6 +4542,10 @@ static long rtl8152_check_firmware(struc
case RTL_FW_PHY_START:
if (test_bit(FW_FLAGS_START, &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)) {
dev_err(&tp->intf->dev,
"check PHY_START fail\n");
@@ -4370,7 +4591,153 @@ static long rtl8152_check_firmware(struc
@@ -4373,7 +4594,153 @@ static long rtl8152_check_firmware(struc
goto fail;
}
__set_bit(FW_FLAGS_NC, &fw_flags);
@ -420,7 +420,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
break;
default:
dev_warn(&tp->intf->dev, "Unknown type %u is found\n",
@@ -4393,6 +4760,143 @@ fail:
@@ -4396,6 +4763,143 @@ fail:
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)
{
u16 mode_reg, bp_index;
@@ -4446,6 +4950,12 @@ static void rtl8152_fw_mac_apply(struct
@@ -4449,6 +4953,12 @@ static void rtl8152_fw_mac_apply(struct
return;
}
@ -577,7 +577,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
rtl_clear_bp(tp, type);
/* Enable backup/restore of MACDBG. This is required after clearing PLA
@@ -4481,7 +4991,6 @@ static void rtl8152_fw_mac_apply(struct
@@ -4484,7 +4994,6 @@ static void rtl8152_fw_mac_apply(struct
ocp_write_word(tp, type, bp_en_addr,
__le16_to_cpu(mac->bp_en_value));
@ -585,7 +585,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (fw_ver_reg)
ocp_write_byte(tp, MCU_TYPE_USB, fw_ver_reg,
mac->fw_ver_data);
@@ -4496,7 +5005,7 @@ static void rtl8152_apply_firmware(struc
@@ -4499,7 +5008,7 @@ static void rtl8152_apply_firmware(struc
struct fw_header *fw_hdr;
struct fw_phy_patch_key *key;
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))
return;
@@ -4518,17 +5027,40 @@ static void rtl8152_apply_firmware(struc
@@ -4521,17 +5030,40 @@ static void rtl8152_apply_firmware(struc
rtl8152_fw_mac_apply(tp, (struct fw_mac *)block);
break;
case RTL_FW_PHY_START:
@ -635,7 +635,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
default:
break;
}
@@ -5036,6 +5568,21 @@ static int r8153c_post_firmware_1(struct
@@ -5039,6 +5571,21 @@ static int r8153c_post_firmware_1(struct
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)
{
u16 data;
@@ -8676,12 +9223,16 @@ static int rtl_ops_init(struct r8152 *tp
@@ -8679,12 +9226,16 @@ static int rtl_ops_init(struct r8152 *tp
#define FIRMWARE_8153A_4 "rtl_nic/rtl8153a-4.fw"
#define FIRMWARE_8153B_2 "rtl_nic/rtl8153b-2.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)
{
@@ -8707,6 +9258,14 @@ static int rtl_fw_init(struct r8152 *tp)
@@ -8710,6 +9261,14 @@ static int rtl_fw_init(struct r8152 *tp)
rtl_fw->pre_fw = r8153b_pre_firmware_1;
rtl_fw->post_fw = r8153b_post_firmware_1;
break;

View File

@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* Information for net */
#define NET_VERSION "11"
@@ -8133,6 +8133,39 @@ static void r8156b_init(struct r8152 *tp
@@ -8136,6 +8136,39 @@ static void r8156b_init(struct r8152 *tp
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)
{
struct r8152 *tp = usb_get_intfdata(intf);
@@ -9371,10 +9404,8 @@ static int rtl8152_probe(struct usb_inte
@@ -9374,10 +9407,8 @@ static int rtl8152_probe(struct usb_inte
if (version == RTL_VER_UNKNOWN)
return -ENODEV;

View File

@ -118,7 +118,7 @@ Signed-off-by: Joerg Quinten <aBUGSworstnightmare@gmail.com>
- MEDIA_BUS_FMT_RGB666_1X24_CPADHI
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -2095,6 +2095,38 @@ static const struct panel_desc innolux_a
@@ -2097,6 +2097,38 @@ static const struct panel_desc innolux_a
.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
};
@ -157,7 +157,7 @@ Signed-off-by: Joerg Quinten <aBUGSworstnightmare@gmail.com>
static const struct drm_display_mode innolux_at070tn92_mode = {
.clock = 33333,
.hdisplay = 800,
@@ -4082,6 +4114,9 @@ static const struct of_device_id platfor
@@ -4084,6 +4116,9 @@ static const struct of_device_id platfor
.compatible = "innolux,at043tn24",
.data = &innolux_at043tn24,
}, {

View File

@ -15,7 +15,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
--- a/drivers/char/hw_random/iproc-rng200.c
+++ b/drivers/char/hw_random/iproc-rng200.c
@@ -263,6 +263,7 @@ static int iproc_rng200_probe(struct pla
@@ -265,6 +265,7 @@ static int iproc_rng200_probe(struct pla
priv->rng.name = pdev->name;
priv->rng.cleanup = iproc_rng200_cleanup;

View File

@ -1,60 +0,0 @@
From 74abbfe99f43eb7466d26d9e48fbeb46b8f3d804 Mon Sep 17 00:00:00 2001
From: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Date: Tue, 20 Oct 2020 14:59:37 +0300
Subject: [PATCH] ARM: dts: BCM5301X: Harmonize EHCI/OHCI DT nodes name
In accordance with the Generic EHCI/OHCI bindings the corresponding node
name is suppose to comply with the Generic USB HCD DT schema, which
requires the USB nodes to have the name acceptable by the regexp:
"^usb(@.*)?" . Make sure the "generic-ehci" and "generic-ohci"-compatible
nodes are correctly named.
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
arch/arm/boot/dts/bcm5301x.dtsi | 4 ++--
arch/arm/boot/dts/bcm53573.dtsi | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
--- a/arch/arm/boot/dts/bcm5301x.dtsi
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
@@ -267,7 +267,7 @@
interrupt-parent = <&gic>;
- ehci: ehci@21000 {
+ ehci: usb@21000 {
#usb-cells = <0>;
compatible = "generic-ehci";
@@ -289,7 +289,7 @@
};
};
- ohci: ohci@22000 {
+ ohci: usb@22000 {
#usb-cells = <0>;
compatible = "generic-ohci";
--- a/arch/arm/boot/dts/bcm53573.dtsi
+++ b/arch/arm/boot/dts/bcm53573.dtsi
@@ -135,7 +135,7 @@
#address-cells = <1>;
#size-cells = <1>;
- ehci: ehci@4000 {
+ ehci: usb@4000 {
compatible = "generic-ehci";
reg = <0x4000 0x1000>;
interrupt-parent = <&gic>;
@@ -155,7 +155,7 @@
};
};
- ohci: ohci@d000 {
+ ohci: usb@d000 {
#usb-cells = <0>;
compatible = "generic-ohci";

View File

@ -1,44 +0,0 @@
From 9fb90ae6cae7f8fe4fbf626945f32cd9da2c3892 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
Date: Mon, 20 Sep 2021 16:10:23 +0200
Subject: [PATCH] ARM: dts: BCM53573: Describe on-SoC BCM53125 rev 4 switch
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
BCM53573 family SoC have Ethernet switch connected to the first Ethernet
controller (accessible over MDIO).
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
arch/arm/boot/dts/bcm53573.dtsi | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
--- a/arch/arm/boot/dts/bcm53573.dtsi
+++ b/arch/arm/boot/dts/bcm53573.dtsi
@@ -180,6 +180,24 @@
gmac0: ethernet@5000 {
reg = <0x5000 0x1000>;
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ switch: switch@1e {
+ compatible = "brcm,bcm53125";
+ reg = <0x1e>;
+
+ status = "disabled";
+
+ /* ports are defined in board DTS */
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+ };
};
gmac1: ethernet@b000 {

View File

@ -213,7 +213,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
--- a/arch/arm/boot/dts/bcm4708-linksys-ea6500-v2.dts
+++ b/arch/arm/boot/dts/bcm4708-linksys-ea6500-v2.dts
@@ -25,13 +25,13 @@
@@ -26,13 +26,13 @@
gpio-keys {
compatible = "gpio-keys";

View File

@ -1,32 +0,0 @@
From 05d2c3d552b8c92fc397377d9d1112fc58e2cd59 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
Date: Fri, 7 Jul 2023 13:40:02 +0200
Subject: [PATCH] ARM: dts: BCM53573: Drop nonexistent #usb-cells
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Such property simply doesn't exist (is not documented or used anywhere).
This fixes:
arch/arm/boot/dts/broadcom/bcm47189-luxul-xap-1440.dtb: usb@d000: Unevaluated properties are not allowed ('#usb-cells' was unexpected)
From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Link: https://lore.kernel.org/r/20230707114004.2740-2-zajec5@gmail.com
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
---
arch/arm/boot/dts/broadcom/bcm53573.dtsi | 2 --
1 file changed, 2 deletions(-)
--- a/arch/arm/boot/dts/bcm53573.dtsi
+++ b/arch/arm/boot/dts/bcm53573.dtsi
@@ -156,8 +156,6 @@
};
ohci: usb@d000 {
- #usb-cells = <0>;
-
compatible = "generic-ohci";
reg = <0xd000 0x1000>;
interrupt-parent = <&gic>;

View File

@ -1,37 +0,0 @@
From 3392ef368d9b04622fe758b1079b512664b6110a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
Date: Fri, 7 Jul 2023 13:40:03 +0200
Subject: [PATCH] ARM: dts: BCM53573: Add cells sizes to PCIe node
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This fixes:
arch/arm/boot/dts/broadcom/bcm47189-luxul-xap-1440.dtb: pcie@2000: '#address-cells' is a required property
From schema: /lib/python3.10/site-packages/dtschema/schemas/pci/pci-bus.yaml
arch/arm/boot/dts/broadcom/bcm47189-luxul-xap-1440.dtb: pcie@2000: '#size-cells' is a required property
From schema: /lib/python3.10/site-packages/dtschema/schemas/pci/pci-bus.yaml
Two properties that need to be added later are "device_type" and
"ranges". Adding "device_type" on its own causes a new warning and the
value of "ranges" needs to be determined yet.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Link: https://lore.kernel.org/r/20230707114004.2740-3-zajec5@gmail.com
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
---
arch/arm/boot/dts/broadcom/bcm53573.dtsi | 3 +++
1 file changed, 3 insertions(+)
--- a/arch/arm/boot/dts/bcm53573.dtsi
+++ b/arch/arm/boot/dts/bcm53573.dtsi
@@ -127,6 +127,9 @@
pcie0: pcie@2000 {
reg = <0x00002000 0x1000>;
+
+ #address-cells = <3>;
+ #size-cells = <2>;
};
usb2: usb2@4000 {

View File

@ -1,44 +0,0 @@
From 2c0fd6b3d0778ceab40205315ccef74568490f17 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
Date: Fri, 7 Jul 2023 13:40:04 +0200
Subject: [PATCH] ARM: dts: BCM53573: Use updated "spi-gpio" binding properties
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Switch away from deprecated properties.
This fixes:
arch/arm/boot/dts/broadcom/bcm947189acdbmr.dtb: spi: gpio-sck: False schema does not allow [[3, 21, 0]]
From schema: Documentation/devicetree/bindings/spi/spi-gpio.yaml
arch/arm/boot/dts/broadcom/bcm947189acdbmr.dtb: spi: gpio-miso: False schema does not allow [[3, 22, 0]]
From schema: Documentation/devicetree/bindings/spi/spi-gpio.yaml
arch/arm/boot/dts/broadcom/bcm947189acdbmr.dtb: spi: gpio-mosi: False schema does not allow [[3, 23, 0]]
From schema: Documentation/devicetree/bindings/spi/spi-gpio.yaml
arch/arm/boot/dts/broadcom/bcm947189acdbmr.dtb: spi: 'sck-gpios' is a required property
From schema: Documentation/devicetree/bindings/spi/spi-gpio.yaml
arch/arm/boot/dts/broadcom/bcm947189acdbmr.dtb: spi: Unevaluated properties are not allowed ('gpio-miso', 'gpio-mosi', 'gpio-sck' were unexpected)
From schema: Documentation/devicetree/bindings/spi/spi-gpio.yaml
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Link: https://lore.kernel.org/r/20230707114004.2740-4-zajec5@gmail.com
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
---
arch/arm/boot/dts/broadcom/bcm947189acdbmr.dts | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/arch/arm/boot/dts/bcm947189acdbmr.dts
+++ b/arch/arm/boot/dts/bcm947189acdbmr.dts
@@ -60,9 +60,9 @@
spi {
compatible = "spi-gpio";
num-chipselects = <1>;
- gpio-sck = <&chipcommon 21 0>;
- gpio-miso = <&chipcommon 22 0>;
- gpio-mosi = <&chipcommon 23 0>;
+ sck-gpios = <&chipcommon 21 0>;
+ miso-gpios = <&chipcommon 22 0>;
+ mosi-gpios = <&chipcommon 23 0>;
cs-gpios = <&chipcommon 24 0>;
#address-cells = <1>;
#size-cells = <0>;

View File

@ -1,34 +0,0 @@
From: Aleksey Nasibulin <alealexpro100@ya.ru>
Date: Wed, 12 Jul 2023 03:40:17 +0200
Subject: [PATCH] ARM: dts: BCM5301X: Extend RAM to full 256MB for Linksys
EA6500 V2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Linksys ea6500-v2 have 256MB of ram. Currently we only use 128MB.
Expand the definition to use all the available RAM.
Fixes: 03e96644d7a8 ("ARM: dts: BCM5301X: Add basic DT for Linksys EA6500 V2")
Signed-off-by: Aleksey Nasibulin <alealexpro100@ya.ru>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Cc: stable@vger.kernel.org
Acked-by: Rafał Miłecki <rafal@milecki.pl>
Link: https://lore.kernel.org/r/20230712014017.28123-1-ansuelsmth@gmail.com
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
---
arch/arm/boot/dts/broadcom/bcm4708-linksys-ea6500-v2.dts | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/arch/arm/boot/dts/bcm4708-linksys-ea6500-v2.dts
+++ b/arch/arm/boot/dts/bcm4708-linksys-ea6500-v2.dts
@@ -19,7 +19,8 @@
memory@0 {
device_type = "memory";
- reg = <0x00000000 0x08000000>;
+ reg = <0x00000000 0x08000000>,
+ <0x88000000 0x08000000>;
};
gpio-keys {

View File

@ -37,7 +37,7 @@ Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
+++ b/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
@@ -45,3 +45,16 @@
@@ -58,3 +58,16 @@
};
};
};
@ -56,7 +56,7 @@ Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+};
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
+++ b/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
@@ -81,3 +81,16 @@
@@ -94,3 +94,16 @@
};
};
};

View File

@ -19,7 +19,7 @@ Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
+++ b/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
@@ -60,3 +60,7 @@
@@ -73,3 +73,7 @@
};
};
};
@ -29,7 +29,7 @@ Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+};
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
+++ b/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
@@ -96,3 +96,7 @@
@@ -109,3 +109,7 @@
};
};
};

View File

@ -38,7 +38,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
if (unlikely(mac < 0 || mac >= MTK_MAC_COUNT ||
!eth->netdev[mac]))
@@ -2275,6 +2275,9 @@ static void mtk_gdm_config(struct mtk_et
@@ -2278,6 +2278,9 @@ static void mtk_gdm_config(struct mtk_et
val |= config;

View File

@ -27,7 +27,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2300,7 +2300,10 @@ static int mtk_open(struct net_device *d
@@ -2303,7 +2303,10 @@ static int mtk_open(struct net_device *d
/* we run 2 netdevs on the same dma ring so we only bring it up once */
if (!refcount_read(&eth->dma_refcnt)) {
@ -39,7 +39,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
if (err)
if (err) {
@@ -2308,7 +2311,10 @@ static int mtk_open(struct net_device *d
@@ -2311,7 +2314,10 @@ static int mtk_open(struct net_device *d
return err;
}
@ -51,7 +51,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
napi_enable(&eth->tx_napi);
napi_enable(&eth->rx_napi);
@@ -2375,6 +2381,9 @@ static int mtk_stop(struct net_device *d
@@ -2378,6 +2384,9 @@ static int mtk_stop(struct net_device *d
mtk_dma_free(eth);
@ -61,7 +61,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
return 0;
}
@@ -3103,6 +3112,13 @@ static int mtk_probe(struct platform_dev
@@ -3106,6 +3115,13 @@ static int mtk_probe(struct platform_dev
goto err_free_dev;
}
@ -75,7 +75,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
for (i = 0; i < MTK_MAX_DEVS; i++) {
if (!eth->netdev[i])
continue;
@@ -3177,6 +3193,7 @@ static const struct mtk_soc_data mt7621_
@@ -3180,6 +3196,7 @@ static const struct mtk_soc_data mt7621_
.hw_features = MTK_HW_FEATURES,
.required_clks = MT7621_CLKS_BITMAP,
.required_pctl = false,
@ -83,7 +83,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
};
static const struct mtk_soc_data mt7622_data = {
@@ -3185,6 +3202,7 @@ static const struct mtk_soc_data mt7622_
@@ -3188,6 +3205,7 @@ static const struct mtk_soc_data mt7622_
.hw_features = MTK_HW_FEATURES,
.required_clks = MT7622_CLKS_BITMAP,
.required_pctl = false,

View File

@ -21,7 +21,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2859,6 +2859,7 @@ static const struct net_device_ops mtk_n
@@ -2862,6 +2862,7 @@ static const struct net_device_ops mtk_n
#ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = mtk_poll_controller,
#endif
@ -29,7 +29,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
};
static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
@@ -3117,6 +3118,10 @@ static int mtk_probe(struct platform_dev
@@ -3120,6 +3121,10 @@ static int mtk_probe(struct platform_dev
eth->base + MTK_ETH_PPE_BASE, 2);
if (err)
goto err_free_dev;

View File

@ -15,7 +15,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2235,7 +2235,7 @@ static int mtk_start_dma(struct mtk_eth
@@ -2238,7 +2238,7 @@ static int mtk_start_dma(struct mtk_eth
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) {
mtk_w32(eth,
MTK_TX_WB_DDONE | MTK_TX_DMA_EN |

View File

@ -87,7 +87,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (mtk_queue_stopped(eth) &&
(atomic_read(&ring->free_count) > ring->thresh))
mtk_wake_queue(eth);
@@ -2171,6 +2186,7 @@ static irqreturn_t mtk_handle_irq_rx(int
@@ -2174,6 +2189,7 @@ static irqreturn_t mtk_handle_irq_rx(int
{
struct mtk_eth *eth = _eth;
@ -95,7 +95,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (likely(napi_schedule_prep(&eth->rx_napi))) {
__napi_schedule(&eth->rx_napi);
mtk_rx_irq_disable(eth, MTK_RX_DONE_INT);
@@ -2183,6 +2199,7 @@ static irqreturn_t mtk_handle_irq_tx(int
@@ -2186,6 +2202,7 @@ static irqreturn_t mtk_handle_irq_tx(int
{
struct mtk_eth *eth = _eth;
@ -103,7 +103,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (likely(napi_schedule_prep(&eth->tx_napi))) {
__napi_schedule(&eth->tx_napi);
mtk_tx_irq_disable(eth, MTK_TX_DONE_INT);
@@ -2371,6 +2388,9 @@ static int mtk_stop(struct net_device *d
@@ -2374,6 +2391,9 @@ static int mtk_stop(struct net_device *d
napi_disable(&eth->tx_napi);
napi_disable(&eth->rx_napi);
@ -113,7 +113,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA))
mtk_stop_dma(eth, MTK_QDMA_GLO_CFG);
mtk_stop_dma(eth, MTK_PDMA_GLO_CFG);
@@ -2423,6 +2443,64 @@ err_disable_clks:
@@ -2426,6 +2446,64 @@ err_disable_clks:
return ret;
}
@ -178,7 +178,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static int mtk_hw_init(struct mtk_eth *eth)
{
int i, val, ret;
@@ -2444,9 +2522,6 @@ static int mtk_hw_init(struct mtk_eth *e
@@ -2447,9 +2525,6 @@ static int mtk_hw_init(struct mtk_eth *e
goto err_disable_pm;
}
@ -188,7 +188,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* disable delay and normal interrupt */
mtk_tx_irq_disable(eth, ~0);
mtk_rx_irq_disable(eth, ~0);
@@ -2485,11 +2560,11 @@ static int mtk_hw_init(struct mtk_eth *e
@@ -2488,11 +2563,11 @@ static int mtk_hw_init(struct mtk_eth *e
/* Enable RX VLan Offloading */
mtk_w32(eth, 1, MTK_CDMP_EG_CTRL);
@ -203,7 +203,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
mtk_tx_irq_disable(eth, ~0);
mtk_rx_irq_disable(eth, ~0);
@@ -2994,6 +3069,13 @@ static int mtk_probe(struct platform_dev
@@ -2997,6 +3072,13 @@ static int mtk_probe(struct platform_dev
spin_lock_init(&eth->page_lock);
spin_lock_init(&eth->tx_irq_lock);
spin_lock_init(&eth->rx_irq_lock);

View File

@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2075,25 +2075,22 @@ static int mtk_set_features(struct net_d
@@ -2078,25 +2078,22 @@ static int mtk_set_features(struct net_d
/* wait for DMA to finish whatever it is doing before we start using it again */
static int mtk_dma_busy_wait(struct mtk_eth *eth)
{

View File

@ -48,7 +48,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
return buf_size;
}
@@ -2631,6 +2631,35 @@ static void mtk_uninit(struct net_device
@@ -2634,6 +2634,35 @@ static void mtk_uninit(struct net_device
mtk_rx_irq_disable(eth, ~0);
}
@ -84,7 +84,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
static int mtk_do_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
struct mtk_mac *mac = netdev_priv(dev);
@@ -2927,6 +2956,7 @@ static const struct net_device_ops mtk_n
@@ -2930,6 +2959,7 @@ static const struct net_device_ops mtk_n
.ndo_set_mac_address = mtk_set_mac_address,
.ndo_validate_addr = eth_validate_addr,
.ndo_do_ioctl = mtk_do_ioctl,
@ -92,7 +92,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.ndo_tx_timeout = mtk_tx_timeout,
.ndo_get_stats64 = mtk_get_stats64,
.ndo_fix_features = mtk_fix_features,
@@ -3029,7 +3059,10 @@ static int mtk_add_mac(struct mtk_eth *e
@@ -3032,7 +3062,10 @@ static int mtk_add_mac(struct mtk_eth *e
eth->netdev[id]->irq = eth->irq[0];
eth->netdev[id]->dev.of_node = np;

View File

@ -895,7 +895,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2605,14 +2605,11 @@ static int __init mtk_init(struct net_de
@@ -2608,14 +2608,11 @@ static int __init mtk_init(struct net_de
{
struct mtk_mac *mac = netdev_priv(dev);
struct mtk_eth *eth = mac->hw;

View File

@ -120,7 +120,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#ifdef CONFIG_MODVERSIONS
@@ -3251,9 +3253,11 @@ static int setup_load_info(struct load_i
@@ -3262,9 +3264,11 @@ static int setup_load_info(struct load_i
static int check_modinfo(struct module *mod, struct load_info *info, int flags)
{
@ -133,7 +133,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (flags & MODULE_INIT_IGNORE_VERMAGIC)
modmagic = NULL;
@@ -3274,6 +3278,7 @@ static int check_modinfo(struct module *
@@ -3285,6 +3289,7 @@ static int check_modinfo(struct module *
mod->name);
add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK);
}

View File

@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
#include <linux/crc32.h>
#include <linux/if_vlan.h>
#include <linux/uaccess.h>
@@ -5303,6 +5304,22 @@ static void rtl_tally_reset(struct r8152
@@ -5306,6 +5307,22 @@ static void rtl_tally_reset(struct r8152
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)
{
u32 ocp_data;
@@ -5344,6 +5361,8 @@ static void r8152b_init(struct r8152 *tp
@@ -5347,6 +5364,8 @@ static void r8152b_init(struct r8152 *tp
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
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)
@@ -5489,6 +5508,8 @@ static void r8153_init(struct r8152 *tp)
@@ -5492,6 +5511,8 @@ static void r8153_init(struct r8152 *tp)
tp->coalesce = COALESCE_SLOW;
break;
}
@ -63,7 +63,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
}
static void r8153b_init(struct r8152 *tp)
@@ -5575,6 +5596,8 @@ static void r8153b_init(struct r8152 *tp
@@ -5578,6 +5599,8 @@ static void r8153b_init(struct r8152 *tp
rtl_tally_reset(tp);
tp->coalesce = 15000; /* 15 us */

View File

@ -19,7 +19,7 @@
#define QUECTEL_VENDOR_ID 0x2c7c
/* These Quectel products use Quectel's vendor ID */
@@ -1179,6 +1181,11 @@ static const struct usb_device_id option
@@ -1180,6 +1182,11 @@ static const struct usb_device_id option
.driver_info = ZLP },
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
.driver_info = RSVD(4) },

View File

@ -77,7 +77,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie)
{
struct dst_entry *dst = __sk_dst_get(sk);
@@ -1837,9 +1851,11 @@ static void __sk_free(struct sock *sk)
@@ -1838,9 +1852,11 @@ static void __sk_free(struct sock *sk)
if (likely(sk->sk_net_refcnt))
sock_inuse_add(sock_net(sk), -1);

View File

@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -3724,6 +3724,8 @@ static __net_initdata struct pernet_oper
@@ -3725,6 +3725,8 @@ static __net_initdata struct pernet_oper
static int __init proto_init(void)
{
@ -341,7 +341,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
@@ -2988,11 +2988,13 @@ static const struct seq_operations fib_r
@@ -2989,11 +2989,13 @@ static const struct seq_operations fib_r
int __net_init fib_proc_init(struct net *net)
{
@ -357,7 +357,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
fib_triestat_seq_show, NULL))
goto out2;
@@ -3003,17 +3005,21 @@ int __net_init fib_proc_init(struct net
@@ -3004,17 +3006,21 @@ int __net_init fib_proc_init(struct net
return 0;
out3:

View File

@ -193,7 +193,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
default y
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
@@ -1084,6 +1084,8 @@ static u8 spi_nor_convert_3to4_erase(u8
@@ -1085,6 +1085,8 @@ static u8 spi_nor_convert_3to4_erase(u8
static bool spi_nor_has_uniform_erase(const struct spi_nor *nor)
{
@ -202,7 +202,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
return !!nor->params->erase_map.uniform_erase_type;
}
@@ -2580,6 +2582,7 @@ static int spi_nor_select_erase(struct s
@@ -2581,6 +2583,7 @@ static int spi_nor_select_erase(struct s
{
struct spi_nor_erase_map *map = &nor->params->erase_map;
const struct spi_nor_erase_type *erase = NULL;
@ -210,7 +210,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
struct mtd_info *mtd = &nor->mtd;
u32 wanted_size = nor->info->sector_size;
int i;
@@ -2612,8 +2615,9 @@ static int spi_nor_select_erase(struct s
@@ -2613,8 +2616,9 @@ static int spi_nor_select_erase(struct s
*/
for (i = SNOR_ERASE_TYPE_MAX - 1; i >= 0; i--) {
if (map->erase_type[i].size) {
@ -222,7 +222,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
}
}
@@ -2621,6 +2625,9 @@ static int spi_nor_select_erase(struct s
@@ -2622,6 +2626,9 @@ static int spi_nor_select_erase(struct s
return -EINVAL;
mtd->erasesize = erase->size;

View File

@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
endif # MTD_SPI_NOR
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
@@ -2813,6 +2813,21 @@ static void spi_nor_info_init_params(str
@@ -2814,6 +2814,21 @@ static void spi_nor_info_init_params(str
*/
erase_mask = 0;
i = 0;
@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (info->flags & SECT_4K_PMC) {
erase_mask |= BIT(i);
spi_nor_set_erase_type(&map->erase_type[i], 4096u,
@@ -2824,6 +2839,7 @@ static void spi_nor_info_init_params(str
@@ -2825,6 +2840,7 @@ static void spi_nor_info_init_params(str
SPINOR_OP_BE_4K);
i++;
}

View File

@ -59,7 +59,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+};
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
@@ -2039,6 +2039,7 @@ static const struct spi_nor_manufacturer
@@ -2040,6 +2040,7 @@ static const struct spi_nor_manufacturer
&spi_nor_winbond,
&spi_nor_xilinx,
&spi_nor_xmc,

View File

@ -66,7 +66,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
static void rt_fibinfo_free(struct rtable __rcu **rtp)
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
@@ -2736,6 +2736,7 @@ static const char *const rtn_type_names[
@@ -2737,6 +2737,7 @@ static const char *const rtn_type_names[
[RTN_THROW] = "THROW",
[RTN_NAT] = "NAT",
[RTN_XRESOLVE] = "XRESOLVE",

View File

@ -196,7 +196,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
ring->dma_size * sizeof(*ring->dma),
ring->dma,
ring->phys);
@@ -2155,7 +2156,7 @@ static void mtk_dma_free(struct mtk_eth
@@ -2158,7 +2159,7 @@ static void mtk_dma_free(struct mtk_eth
if (eth->netdev[i])
netdev_reset_queue(eth->netdev[i]);
if (eth->scratch_ring) {
@ -205,7 +205,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
MTK_DMA_SIZE * sizeof(struct mtk_tx_dma),
eth->scratch_ring,
eth->phy_scratch_ring);
@@ -2507,6 +2508,8 @@ static void mtk_dim_tx(struct work_struc
@@ -2510,6 +2511,8 @@ static void mtk_dim_tx(struct work_struc
static int mtk_hw_init(struct mtk_eth *eth)
{
@ -214,7 +214,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
int i, val, ret;
if (test_and_set_bit(MTK_HW_INIT, &eth->state))
@@ -2519,6 +2522,10 @@ static int mtk_hw_init(struct mtk_eth *e
@@ -2522,6 +2525,10 @@ static int mtk_hw_init(struct mtk_eth *e
if (ret)
goto err_disable_pm;
@ -225,7 +225,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628)) {
ret = device_reset(eth->dev);
if (ret) {
@@ -3068,6 +3075,35 @@ free_netdev:
@@ -3071,6 +3078,35 @@ free_netdev:
return err;
}
@ -261,7 +261,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static int mtk_probe(struct platform_device *pdev)
{
struct device_node *mac_np;
@@ -3081,6 +3117,7 @@ static int mtk_probe(struct platform_dev
@@ -3084,6 +3120,7 @@ static int mtk_probe(struct platform_dev
eth->soc = of_device_get_match_data(&pdev->dev);
eth->dev = &pdev->dev;
@ -269,7 +269,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
eth->base = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(eth->base))
return PTR_ERR(eth->base);
@@ -3129,6 +3166,16 @@ static int mtk_probe(struct platform_dev
@@ -3132,6 +3169,16 @@ static int mtk_probe(struct platform_dev
}
}

View File

@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static int mtk_msg_level = -1;
module_param_named(msg_level, mtk_msg_level, int, 0);
@@ -3198,6 +3199,22 @@ static int mtk_probe(struct platform_dev
@@ -3201,6 +3202,22 @@ static int mtk_probe(struct platform_dev
}
}

View File

@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2330,7 +2330,7 @@ static int mtk_open(struct net_device *d
@@ -2333,7 +2333,7 @@ static int mtk_open(struct net_device *d
return err;
}
@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
gdm_config = MTK_GDMA_TO_PPE;
mtk_gdm_config(eth, gdm_config);
@@ -2404,7 +2404,7 @@ static int mtk_stop(struct net_device *d
@@ -2407,7 +2407,7 @@ static int mtk_stop(struct net_device *d
mtk_dma_free(eth);
if (eth->soc->offload_version)
@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
return 0;
}
@@ -3290,10 +3290,11 @@ static int mtk_probe(struct platform_dev
@@ -3293,10 +3293,11 @@ static int mtk_probe(struct platform_dev
}
if (eth->soc->offload_version) {

View File

@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX &&
(trxd.rxd2 & RX_DMA_VTAG))
__vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q),
@@ -3290,7 +3296,7 @@ static int mtk_probe(struct platform_dev
@@ -3293,7 +3299,7 @@ static int mtk_probe(struct platform_dev
}
if (eth->soc->offload_version) {

View File

@ -14,7 +14,7 @@ Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -3398,6 +3398,7 @@ static const struct mtk_soc_data mt7623_
@@ -3401,6 +3401,7 @@ static const struct mtk_soc_data mt7623_
.hw_features = MTK_HW_FEATURES,
.required_clks = MT7623_CLKS_BITMAP,
.required_pctl = true,

View File

@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
@@ -3168,6 +3168,7 @@ int spi_nor_scan(struct spi_nor *nor, co
@@ -3169,6 +3169,7 @@ int spi_nor_scan(struct spi_nor *nor, co
struct device *dev = nor->dev;
struct mtd_info *mtd = &nor->mtd;
struct device_node *np = spi_nor_get_flash_node(nor);
@ -18,7 +18,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
int ret;
int i;
@@ -3222,7 +3223,12 @@ int spi_nor_scan(struct spi_nor *nor, co
@@ -3223,7 +3224,12 @@ int spi_nor_scan(struct spi_nor *nor, co
if (ret)
return ret;

View File

@ -55,7 +55,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
+};
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
@@ -2023,6 +2023,7 @@ int spi_nor_sr2_bit7_quad_enable(struct
@@ -2024,6 +2024,7 @@ int spi_nor_sr2_bit7_quad_enable(struct
static const struct spi_nor_manufacturer *manufacturers[] = {
&spi_nor_atmel,

View File

@ -14,7 +14,7 @@ Signed-off-by: René van Dorst <opensource@vdorst.com>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2980,6 +2980,7 @@ static const struct net_device_ops mtk_n
@@ -2983,6 +2983,7 @@ static const struct net_device_ops mtk_n
static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
{
@ -22,7 +22,7 @@ Signed-off-by: René van Dorst <opensource@vdorst.com>
const __be32 *_id = of_get_property(np, "reg", NULL);
phy_interface_t phy_mode;
struct phylink *phylink;
@@ -3075,6 +3076,9 @@ static int mtk_add_mac(struct mtk_eth *e
@@ -3078,6 +3079,9 @@ static int mtk_add_mac(struct mtk_eth *e
else
eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH_2K - MTK_RX_ETH_HLEN;

View File

@ -25,7 +25,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -1102,3 +1102,5 @@ config MMC_OWL
@@ -1103,3 +1103,5 @@ config MMC_OWL
config MMC_SDHCI_EXTERNAL_DMA
bool

View File

@ -11,7 +11,7 @@ Applies to vanilla kernel 3.9.4.
===============================================================================
--- a/arch/um/drivers/Kconfig
+++ b/arch/um/drivers/Kconfig
@@ -146,6 +146,20 @@ config UML_NET
@@ -136,6 +136,20 @@ config UML_NET
enable at least one of the following transport options to actually
make use of UML networking.