mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 22:23:27 +00:00
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:
parent
92a0dd2447
commit
35985454a6
@ -1,2 +1,2 @@
|
|||||||
LINUX_VERSION-5.10 = .194
|
LINUX_VERSION-5.10 = .196
|
||||||
LINUX_KERNEL_HASH-5.10.194 = 240d5e47bb378c6813ecd07704fb887651ea7617159d2771071fd70bf33cd995
|
LINUX_KERNEL_HASH-5.10.196 = 71ec2e3af082bcd7c4aac4b8ecdbc2e47695befe4984e3e5567791a605a96fc0
|
||||||
|
@ -17,7 +17,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
|||||||
|
|
||||||
--- a/sound/soc/atmel/atmel-i2s.c
|
--- a/sound/soc/atmel/atmel-i2s.c
|
||||||
+++ b/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);
|
err = PTR_ERR(muxclk);
|
||||||
if (err == -EPROBE_DEFER)
|
if (err == -EPROBE_DEFER)
|
||||||
return -EPROBE_DEFER;
|
return -EPROBE_DEFER;
|
||||||
|
@ -25,7 +25,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
|||||||
|
|
||||||
--- a/sound/soc/atmel/atmel-i2s.c
|
--- a/sound/soc/atmel/atmel-i2s.c
|
||||||
+++ b/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;
|
struct regmap *regmap;
|
||||||
void __iomem *base;
|
void __iomem *base;
|
||||||
int irq;
|
int irq;
|
||||||
|
@ -16,7 +16,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
|||||||
|
|
||||||
--- a/sound/soc/atmel/atmel-i2s.c
|
--- a/sound/soc/atmel/atmel-i2s.c
|
||||||
+++ b/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,
|
.ops = &atmel_i2s_dai_ops,
|
||||||
.symmetric_rates = 1,
|
.symmetric_rates = 1,
|
||||||
|
@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
|
|||||||
|
|
||||||
--- a/drivers/mtd/spi-nor/core.c
|
--- a/drivers/mtd/spi-nor/core.c
|
||||||
+++ b/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 device *dev = nor->dev;
|
||||||
struct mtd_info *mtd = &nor->mtd;
|
struct mtd_info *mtd = &nor->mtd;
|
||||||
struct device_node *np = spi_nor_get_flash_node(nor);
|
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 ret;
|
||||||
int i;
|
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)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -706,7 +706,7 @@
|
|||||||
EXPORT_SYMBOL(xfrm_parse_spi);
|
EXPORT_SYMBOL(xfrm_parse_spi);
|
||||||
--- a/net/ipv4/tcp_input.c
|
--- a/net/ipv4/tcp_input.c
|
||||||
+++ b/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);
|
const __be32 *ptr = (const __be32 *)(th + 1);
|
||||||
|
|
||||||
|
@ -1123,7 +1123,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
|||||||
}
|
}
|
||||||
--- a/drivers/usb/core/hub.c
|
--- a/drivers/usb/core/hub.c
|
||||||
+++ b/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_dev->over_current_count++;
|
||||||
port_over_current_notify(port_dev);
|
port_over_current_notify(port_dev);
|
||||||
|
|
||||||
@ -1134,7 +1134,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
|||||||
USB_PORT_FEAT_C_OVER_CURRENT);
|
USB_PORT_FEAT_C_OVER_CURRENT);
|
||||||
--- a/drivers/usb/core/message.c
|
--- a/drivers/usb/core/message.c
|
||||||
+++ b/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 &&
|
if (cp->string == NULL &&
|
||||||
!(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS))
|
!(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS))
|
||||||
cp->string = usb_cache_string(dev, cp->desc.iConfiguration);
|
cp->string = usb_cache_string(dev, cp->desc.iConfiguration);
|
||||||
|
@ -187,7 +187,7 @@ Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
|
|||||||
select DMA_ENGINE
|
select DMA_ENGINE
|
||||||
select DMA_VIRTUAL_CHANNELS
|
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
|
UniPhier platform. This DMA controller can transfer data from
|
||||||
memory to memory, memory to peripheral and peripheral to memory.
|
memory to memory, memory to peripheral and peripheral to memory.
|
||||||
|
|
||||||
|
@ -12476,7 +12476,7 @@ Signed-off-by: Joerg Schambacher joerg@i2audio.com
|
|||||||
config SND_SOC_RT5631
|
config SND_SOC_RT5631
|
||||||
tristate "Realtek ALC5631/RT5631 CODEC"
|
tristate "Realtek ALC5631/RT5631 CODEC"
|
||||||
depends on I2C
|
depends on I2C
|
||||||
@@ -1349,6 +1364,9 @@ config SND_SOC_TFA9879
|
@@ -1350,6 +1365,9 @@ config SND_SOC_TFA9879
|
||||||
tristate "NXP Semiconductors TFA9879 amplifier"
|
tristate "NXP Semiconductors TFA9879 amplifier"
|
||||||
depends on I2C
|
depends on I2C
|
||||||
|
|
||||||
@ -12486,7 +12486,7 @@ Signed-off-by: Joerg Schambacher joerg@i2audio.com
|
|||||||
config SND_SOC_TLV320AIC23
|
config SND_SOC_TLV320AIC23
|
||||||
tristate
|
tristate
|
||||||
|
|
||||||
@@ -1787,4 +1805,8 @@ config SND_SOC_TPA6130A2
|
@@ -1788,4 +1806,8 @@ config SND_SOC_TPA6130A2
|
||||||
tristate "Texas Instruments TPA6130A2 headphone amplifier"
|
tristate "Texas Instruments TPA6130A2 headphone amplifier"
|
||||||
depends on I2C
|
depends on I2C
|
||||||
|
|
||||||
|
@ -130,9 +130,9 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||||||
static void iproc_rng200_cleanup(struct hwrng *rng)
|
static void iproc_rng200_cleanup(struct hwrng *rng)
|
||||||
{
|
{
|
||||||
struct iproc_rng200_dev *priv = to_rng_priv(rng);
|
struct iproc_rng200_dev *priv = to_rng_priv(rng);
|
||||||
@@ -195,11 +261,17 @@ static int iproc_rng200_probe(struct pla
|
@@ -197,11 +263,17 @@ static int iproc_rng200_probe(struct pla
|
||||||
return PTR_ERR(priv->base);
|
|
||||||
}
|
dev_set_drvdata(dev, priv);
|
||||||
|
|
||||||
- priv->rng.name = "iproc-rng200";
|
- priv->rng.name = "iproc-rng200";
|
||||||
- priv->rng.read = iproc_rng200_read;
|
- priv->rng.read = iproc_rng200_read;
|
||||||
|
@ -27,7 +27,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
|||||||
|
|
||||||
--- a/drivers/usb/core/hcd.c
|
--- a/drivers/usb/core/hcd.c
|
||||||
+++ b/drivers/usb/core/hcd.c
|
+++ b/drivers/usb/core/hcd.c
|
||||||
@@ -1969,6 +1969,16 @@ reset:
|
@@ -1973,6 +1973,16 @@ reset:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,7 +46,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
|||||||
* have been called previously. Use for set_configuration, set_interface,
|
* have been called previously. Use for set_configuration, set_interface,
|
||||||
--- a/drivers/usb/core/message.c
|
--- a/drivers/usb/core/message.c
|
||||||
+++ b/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;
|
intf->ep_devs_created = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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;
|
||||||
@@ -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;
|
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;
|
||||||
@@ -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;
|
return version;
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
@@ -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);
|
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
|
||||||
@@ -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);
|
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);
|
||||||
|
|
||||||
@@ -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);
|
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;
|
||||||
@@ -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:
|
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);
|
||||||
@@ -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)
|
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);
|
||||||
@@ -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 */
|
/* 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);
|
||||||
@@ -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 */
|
/* 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));
|
||||||
|
|
||||||
@@ -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);
|
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);
|
||||||
@@ -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));
|
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);
|
||||||
@@ -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_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);
|
||||||
|
|
||||||
@@ -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_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>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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;
|
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));
|
||||||
|
|
||||||
@@ -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 */
|
/* 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
|
||||||
@@ -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);
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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);
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -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_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
|
||||||
@@ -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;
|
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();
|
||||||
|
|
||||||
@@ -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);
|
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;
|
||||||
@@ -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);
|
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
|
||||||
@@ -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:
|
default:
|
||||||
ret = -ENODEV;
|
ret = -ENODEV;
|
||||||
@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
break;
|
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);
|
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
|
||||||
@@ -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);
|
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)
|
||||||
@@ -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);
|
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 */
|
||||||
@@ -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 */
|
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)
|
||||||
@@ -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;
|
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,
|
||||||
@@ -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_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:
|
||||||
@@ -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;
|
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;
|
||||||
|
|
||||||
@@ -3835,50 +3840,52 @@ static long rtl8152_check_firmware(struc
|
@@ -3838,50 +3843,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;
|
||||||
@@ -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");
|
"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:
|
||||||
@@ -3924,7 +3931,7 @@ static long rtl8152_check_firmware(struc
|
@@ -3927,7 +3934,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)
|
||||||
@@ -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)
|
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)
|
||||||
@@ -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);
|
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;
|
||||||
@@ -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);
|
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;
|
||||||
@@ -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);
|
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:
|
||||||
@@ -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;
|
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);
|
||||||
@@ -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->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
|
||||||
@@ -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->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;
|
||||||
@@ -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;
|
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.
|
||||||
@@ -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)
|
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;
|
||||||
@@ -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)
|
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));
|
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)
|
||||||
@@ -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) {
|
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:
|
||||||
@@ -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_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.
|
||||||
*/
|
*/
|
||||||
@@ -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);
|
ocp_data);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -489,7 +489,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
default:
|
default:
|
||||||
break;
|
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;
|
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);
|
||||||
@@ -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)
|
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;
|
||||||
|
|
||||||
@@ -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));
|
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);
|
||||||
@@ -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;
|
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,
|
||||||
@@ -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);
|
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];
|
||||||
@@ -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)
|
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;
|
||||||
|
|
||||||
@@ -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);
|
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;
|
||||||
@@ -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_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;
|
||||||
@@ -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)
|
static void r8153_power_cut_en(struct r8152 *tp, bool enable)
|
||||||
{
|
{
|
||||||
u32 ocp_data;
|
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)
|
static void r8153_teredo_off(struct r8152 *tp)
|
||||||
{
|
{
|
||||||
u32 ocp_data;
|
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_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);
|
||||||
@@ -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;
|
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);
|
||||||
@@ -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_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;
|
||||||
@@ -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;
|
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;
|
||||||
@@ -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;
|
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) {
|
||||||
@@ -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_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);
|
||||||
@@ -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);
|
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;
|
||||||
}
|
}
|
||||||
@@ -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)
|
static void r8152b_exit_oob(struct r8152 *tp)
|
||||||
{
|
{
|
||||||
u32 ocp_data;
|
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 */
|
/* 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);
|
||||||
@@ -4520,6 +5021,21 @@ static int r8153b_post_firmware_1(struct
|
@@ -4523,6 +5024,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;
|
||||||
@@ -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);
|
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));
|
||||||
@@ -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_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.
|
||||||
@@ -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);
|
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)
|
||||||
{
|
{
|
||||||
@@ -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;
|
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;
|
||||||
@@ -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);
|
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;
|
||||||
@@ -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 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);
|
||||||
|
|
||||||
@@ -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);
|
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) &&
|
||||||
@@ -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);
|
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);
|
||||||
|
|
||||||
@@ -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);
|
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;
|
||||||
@@ -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);
|
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)
|
static int rtl8152_pre_reset(struct usb_interface *intf)
|
||||||
{
|
{
|
||||||
struct r8152 *tp = usb_get_intfdata(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);
|
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);
|
||||||
@@ -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))
|
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,
|
||||||
@@ -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;
|
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");
|
||||||
@@ -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_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)
|
||||||
{
|
{
|
||||||
@@ -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->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;
|
||||||
}
|
}
|
||||||
@@ -6747,6 +8767,27 @@ u8 rtl8152_get_version(struct usb_interf
|
@@ -6750,6 +8770,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);
|
||||||
@@ -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 */
|
/* 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;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -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 |
|
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;
|
||||||
@@ -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);
|
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) {
|
||||||
@@ -6940,7 +9008,8 @@ static void rtl8152_disconnect(struct us
|
@@ -6943,7 +9011,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);
|
||||||
}
|
}
|
||||||
@@ -6960,13 +9029,28 @@ static void rtl8152_disconnect(struct us
|
@@ -6963,13 +9032,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 {
|
||||||
@@ -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;
|
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;
|
||||||
@@ -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:
|
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");
|
||||||
@@ -4370,7 +4591,153 @@ static long rtl8152_check_firmware(struc
|
@@ -4373,7 +4594,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",
|
||||||
@@ -4393,6 +4760,143 @@ fail:
|
@@ -4396,6 +4763,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;
|
||||||
@@ -4446,6 +4950,12 @@ static void rtl8152_fw_mac_apply(struct
|
@@ -4449,6 +4953,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
|
||||||
@@ -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,
|
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);
|
||||||
@@ -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_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;
|
||||||
@@ -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);
|
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;
|
||||||
}
|
}
|
||||||
@@ -5036,6 +5568,21 @@ static int r8153c_post_firmware_1(struct
|
@@ -5039,6 +5571,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;
|
||||||
@@ -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_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)
|
||||||
{
|
{
|
||||||
@@ -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->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"
|
||||||
@@ -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 */
|
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);
|
||||||
@@ -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)
|
if (version == RTL_VER_UNKNOWN)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
|
@ -118,7 +118,7 @@ Signed-off-by: Joerg Quinten <aBUGSworstnightmare@gmail.com>
|
|||||||
- MEDIA_BUS_FMT_RGB666_1X24_CPADHI
|
- MEDIA_BUS_FMT_RGB666_1X24_CPADHI
|
||||||
--- a/drivers/gpu/drm/panel/panel-simple.c
|
--- a/drivers/gpu/drm/panel/panel-simple.c
|
||||||
+++ b/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,
|
.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 = {
|
static const struct drm_display_mode innolux_at070tn92_mode = {
|
||||||
.clock = 33333,
|
.clock = 33333,
|
||||||
.hdisplay = 800,
|
.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",
|
.compatible = "innolux,at043tn24",
|
||||||
.data = &innolux_at043tn24,
|
.data = &innolux_at043tn24,
|
||||||
}, {
|
}, {
|
||||||
|
@ -15,7 +15,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
|||||||
|
|
||||||
--- a/drivers/char/hw_random/iproc-rng200.c
|
--- a/drivers/char/hw_random/iproc-rng200.c
|
||||||
+++ b/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.name = pdev->name;
|
||||||
priv->rng.cleanup = iproc_rng200_cleanup;
|
priv->rng.cleanup = iproc_rng200_cleanup;
|
||||||
|
@ -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";
|
|
@ -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 {
|
|
@ -213,7 +213,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||||||
gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
|
gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
|
||||||
--- a/arch/arm/boot/dts/bcm4708-linksys-ea6500-v2.dts
|
--- a/arch/arm/boot/dts/bcm4708-linksys-ea6500-v2.dts
|
||||||
+++ b/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 {
|
gpio-keys {
|
||||||
compatible = "gpio-keys";
|
compatible = "gpio-keys";
|
||||||
|
|
||||||
|
@ -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>;
|
|
@ -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 {
|
|
@ -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>;
|
|
@ -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 {
|
|
@ -37,7 +37,7 @@ Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
|
|||||||
|
|
||||||
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
|
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
|
||||||
+++ b/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
|
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
|
||||||
+++ b/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 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -19,7 +19,7 @@ Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
|
|||||||
|
|
||||||
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
|
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
|
||||||
+++ b/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
|
--- a/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
|
||||||
+++ b/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 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -38,7 +38,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|||||||
|
|
||||||
if (unlikely(mac < 0 || mac >= MTK_MAC_COUNT ||
|
if (unlikely(mac < 0 || mac >= MTK_MAC_COUNT ||
|
||||||
!eth->netdev[mac]))
|
!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;
|
val |= config;
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|||||||
obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o
|
obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
+++ b/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 */
|
/* we run 2 netdevs on the same dma ring so we only bring it up once */
|
||||||
if (!refcount_read(ð->dma_refcnt)) {
|
if (!refcount_read(ð->dma_refcnt)) {
|
||||||
@ -39,7 +39,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|||||||
|
|
||||||
if (err)
|
if (err)
|
||||||
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;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|||||||
|
|
||||||
napi_enable(ð->tx_napi);
|
napi_enable(ð->tx_napi);
|
||||||
napi_enable(ð->rx_napi);
|
napi_enable(ð->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);
|
mtk_dma_free(eth);
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|||||||
return 0;
|
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;
|
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++) {
|
for (i = 0; i < MTK_MAX_DEVS; i++) {
|
||||||
if (!eth->netdev[i])
|
if (!eth->netdev[i])
|
||||||
continue;
|
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,
|
.hw_features = MTK_HW_FEATURES,
|
||||||
.required_clks = MT7621_CLKS_BITMAP,
|
.required_clks = MT7621_CLKS_BITMAP,
|
||||||
.required_pctl = false,
|
.required_pctl = false,
|
||||||
@ -83,7 +83,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const struct mtk_soc_data mt7622_data = {
|
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,
|
.hw_features = MTK_HW_FEATURES,
|
||||||
.required_clks = MT7622_CLKS_BITMAP,
|
.required_clks = MT7622_CLKS_BITMAP,
|
||||||
.required_pctl = false,
|
.required_pctl = false,
|
||||||
|
@ -21,7 +21,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|||||||
obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o
|
obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
+++ b/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
|
#ifdef CONFIG_NET_POLL_CONTROLLER
|
||||||
.ndo_poll_controller = mtk_poll_controller,
|
.ndo_poll_controller = mtk_poll_controller,
|
||||||
#endif
|
#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)
|
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);
|
eth->base + MTK_ETH_PPE_BASE, 2);
|
||||||
if (err)
|
if (err)
|
||||||
goto err_free_dev;
|
goto err_free_dev;
|
||||||
|
@ -15,7 +15,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
+++ b/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)) {
|
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) {
|
||||||
mtk_w32(eth,
|
mtk_w32(eth,
|
||||||
MTK_TX_WB_DDONE | MTK_TX_DMA_EN |
|
MTK_TX_WB_DDONE | MTK_TX_DMA_EN |
|
||||||
|
@ -87,7 +87,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
if (mtk_queue_stopped(eth) &&
|
if (mtk_queue_stopped(eth) &&
|
||||||
(atomic_read(&ring->free_count) > ring->thresh))
|
(atomic_read(&ring->free_count) > ring->thresh))
|
||||||
mtk_wake_queue(eth);
|
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;
|
struct mtk_eth *eth = _eth;
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
if (likely(napi_schedule_prep(ð->rx_napi))) {
|
if (likely(napi_schedule_prep(ð->rx_napi))) {
|
||||||
__napi_schedule(ð->rx_napi);
|
__napi_schedule(ð->rx_napi);
|
||||||
mtk_rx_irq_disable(eth, MTK_RX_DONE_INT);
|
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;
|
struct mtk_eth *eth = _eth;
|
||||||
|
|
||||||
@ -103,7 +103,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
if (likely(napi_schedule_prep(ð->tx_napi))) {
|
if (likely(napi_schedule_prep(ð->tx_napi))) {
|
||||||
__napi_schedule(ð->tx_napi);
|
__napi_schedule(ð->tx_napi);
|
||||||
mtk_tx_irq_disable(eth, MTK_TX_DONE_INT);
|
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(ð->tx_napi);
|
napi_disable(ð->tx_napi);
|
||||||
napi_disable(ð->rx_napi);
|
napi_disable(ð->rx_napi);
|
||||||
|
|
||||||
@ -113,7 +113,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA))
|
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA))
|
||||||
mtk_stop_dma(eth, MTK_QDMA_GLO_CFG);
|
mtk_stop_dma(eth, MTK_QDMA_GLO_CFG);
|
||||||
mtk_stop_dma(eth, MTK_PDMA_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;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -178,7 +178,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
static int mtk_hw_init(struct mtk_eth *eth)
|
static int mtk_hw_init(struct mtk_eth *eth)
|
||||||
{
|
{
|
||||||
int i, val, ret;
|
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;
|
goto err_disable_pm;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -188,7 +188,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
/* disable delay and normal interrupt */
|
/* disable delay and normal interrupt */
|
||||||
mtk_tx_irq_disable(eth, ~0);
|
mtk_tx_irq_disable(eth, ~0);
|
||||||
mtk_rx_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 */
|
/* Enable RX VLan Offloading */
|
||||||
mtk_w32(eth, 1, MTK_CDMP_EG_CTRL);
|
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_tx_irq_disable(eth, ~0);
|
||||||
mtk_rx_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(ð->page_lock);
|
spin_lock_init(ð->page_lock);
|
||||||
spin_lock_init(ð->tx_irq_lock);
|
spin_lock_init(ð->tx_irq_lock);
|
||||||
spin_lock_init(ð->rx_irq_lock);
|
spin_lock_init(ð->rx_irq_lock);
|
||||||
|
@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
+++ b/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 */
|
/* 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)
|
static int mtk_dma_busy_wait(struct mtk_eth *eth)
|
||||||
{
|
{
|
||||||
|
@ -48,7 +48,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
|
|
||||||
return buf_size;
|
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);
|
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)
|
static int mtk_do_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
|
||||||
{
|
{
|
||||||
struct mtk_mac *mac = netdev_priv(dev);
|
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_set_mac_address = mtk_set_mac_address,
|
||||||
.ndo_validate_addr = eth_validate_addr,
|
.ndo_validate_addr = eth_validate_addr,
|
||||||
.ndo_do_ioctl = mtk_do_ioctl,
|
.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_tx_timeout = mtk_tx_timeout,
|
||||||
.ndo_get_stats64 = mtk_get_stats64,
|
.ndo_get_stats64 = mtk_get_stats64,
|
||||||
.ndo_fix_features = mtk_fix_features,
|
.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]->irq = eth->irq[0];
|
||||||
eth->netdev[id]->dev.of_node = np;
|
eth->netdev[id]->dev.of_node = np;
|
||||||
|
|
||||||
|
@ -895,7 +895,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
+++ b/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_mac *mac = netdev_priv(dev);
|
||||||
struct mtk_eth *eth = mac->hw;
|
struct mtk_eth *eth = mac->hw;
|
||||||
|
@ -120,7 +120,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
#ifdef CONFIG_MODVERSIONS
|
#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)
|
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)
|
if (flags & MODULE_INIT_IGNORE_VERMAGIC)
|
||||||
modmagic = NULL;
|
modmagic = NULL;
|
||||||
|
|
||||||
@@ -3274,6 +3278,7 @@ static int check_modinfo(struct module *
|
@@ -3285,6 +3289,7 @@ static int check_modinfo(struct module *
|
||||||
mod->name);
|
mod->name);
|
||||||
add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK);
|
add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK);
|
||||||
}
|
}
|
||||||
|
@ -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>
|
||||||
@@ -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);
|
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;
|
||||||
@@ -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 = 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)
|
||||||
@@ -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;
|
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)
|
||||||
@@ -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);
|
rtl_tally_reset(tp);
|
||||||
|
|
||||||
tp->coalesce = 15000; /* 15 us */
|
tp->coalesce = 15000; /* 15 us */
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#define QUECTEL_VENDOR_ID 0x2c7c
|
#define QUECTEL_VENDOR_ID 0x2c7c
|
||||||
/* These Quectel products use Quectel's vendor ID */
|
/* 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 },
|
.driver_info = ZLP },
|
||||||
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
|
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
|
||||||
.driver_info = RSVD(4) },
|
.driver_info = RSVD(4) },
|
||||||
|
@ -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 *__sk_dst_check(struct sock *sk, u32 cookie)
|
||||||
{
|
{
|
||||||
struct dst_entry *dst = __sk_dst_get(sk);
|
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))
|
if (likely(sk->sk_net_refcnt))
|
||||||
sock_inuse_add(sock_net(sk), -1);
|
sock_inuse_add(sock_net(sk), -1);
|
||||||
|
|
||||||
|
@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/net/core/sock.c
|
--- a/net/core/sock.c
|
||||||
+++ b/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)
|
static int __init proto_init(void)
|
||||||
{
|
{
|
||||||
@ -341,7 +341,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/net/ipv4/fib_trie.c
|
--- a/net/ipv4/fib_trie.c
|
||||||
+++ b/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)
|
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))
|
fib_triestat_seq_show, NULL))
|
||||||
goto out2;
|
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;
|
return 0;
|
||||||
|
|
||||||
out3:
|
out3:
|
||||||
|
@ -193,7 +193,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
|
|||||||
default y
|
default y
|
||||||
--- a/drivers/mtd/spi-nor/core.c
|
--- a/drivers/mtd/spi-nor/core.c
|
||||||
+++ b/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)
|
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;
|
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;
|
struct spi_nor_erase_map *map = &nor->params->erase_map;
|
||||||
const struct spi_nor_erase_type *erase = NULL;
|
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;
|
struct mtd_info *mtd = &nor->mtd;
|
||||||
u32 wanted_size = nor->info->sector_size;
|
u32 wanted_size = nor->info->sector_size;
|
||||||
int i;
|
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--) {
|
for (i = SNOR_ERASE_TYPE_MAX - 1; i >= 0; i--) {
|
||||||
if (map->erase_type[i].size) {
|
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;
|
return -EINVAL;
|
||||||
|
|
||||||
mtd->erasesize = erase->size;
|
mtd->erasesize = erase->size;
|
||||||
|
@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
endif # MTD_SPI_NOR
|
endif # MTD_SPI_NOR
|
||||||
--- a/drivers/mtd/spi-nor/core.c
|
--- a/drivers/mtd/spi-nor/core.c
|
||||||
+++ b/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;
|
erase_mask = 0;
|
||||||
i = 0;
|
i = 0;
|
||||||
@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
if (info->flags & SECT_4K_PMC) {
|
if (info->flags & SECT_4K_PMC) {
|
||||||
erase_mask |= BIT(i);
|
erase_mask |= BIT(i);
|
||||||
spi_nor_set_erase_type(&map->erase_type[i], 4096u,
|
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);
|
SPINOR_OP_BE_4K);
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
+};
|
+};
|
||||||
--- a/drivers/mtd/spi-nor/core.c
|
--- a/drivers/mtd/spi-nor/core.c
|
||||||
+++ b/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_winbond,
|
||||||
&spi_nor_xilinx,
|
&spi_nor_xilinx,
|
||||||
&spi_nor_xmc,
|
&spi_nor_xmc,
|
||||||
|
@ -66,7 +66,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||||||
static void rt_fibinfo_free(struct rtable __rcu **rtp)
|
static void rt_fibinfo_free(struct rtable __rcu **rtp)
|
||||||
--- a/net/ipv4/fib_trie.c
|
--- a/net/ipv4/fib_trie.c
|
||||||
+++ b/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_THROW] = "THROW",
|
||||||
[RTN_NAT] = "NAT",
|
[RTN_NAT] = "NAT",
|
||||||
[RTN_XRESOLVE] = "XRESOLVE",
|
[RTN_XRESOLVE] = "XRESOLVE",
|
||||||
|
@ -196,7 +196,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
ring->dma_size * sizeof(*ring->dma),
|
ring->dma_size * sizeof(*ring->dma),
|
||||||
ring->dma,
|
ring->dma,
|
||||||
ring->phys);
|
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])
|
if (eth->netdev[i])
|
||||||
netdev_reset_queue(eth->netdev[i]);
|
netdev_reset_queue(eth->netdev[i]);
|
||||||
if (eth->scratch_ring) {
|
if (eth->scratch_ring) {
|
||||||
@ -205,7 +205,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
MTK_DMA_SIZE * sizeof(struct mtk_tx_dma),
|
MTK_DMA_SIZE * sizeof(struct mtk_tx_dma),
|
||||||
eth->scratch_ring,
|
eth->scratch_ring,
|
||||||
eth->phy_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)
|
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;
|
int i, val, ret;
|
||||||
|
|
||||||
if (test_and_set_bit(MTK_HW_INIT, ð->state))
|
if (test_and_set_bit(MTK_HW_INIT, ð->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)
|
if (ret)
|
||||||
goto err_disable_pm;
|
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)) {
|
if (MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628)) {
|
||||||
ret = device_reset(eth->dev);
|
ret = device_reset(eth->dev);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
@@ -3068,6 +3075,35 @@ free_netdev:
|
@@ -3071,6 +3078,35 @@ free_netdev:
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -261,7 +261,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
static int mtk_probe(struct platform_device *pdev)
|
static int mtk_probe(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct device_node *mac_np;
|
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->soc = of_device_get_match_data(&pdev->dev);
|
||||||
|
|
||||||
eth->dev = &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);
|
eth->base = devm_platform_ioremap_resource(pdev, 0);
|
||||||
if (IS_ERR(eth->base))
|
if (IS_ERR(eth->base))
|
||||||
return PTR_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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
static int mtk_msg_level = -1;
|
static int mtk_msg_level = -1;
|
||||||
module_param_named(msg_level, mtk_msg_level, int, 0);
|
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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
+++ b/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;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
gdm_config = MTK_GDMA_TO_PPE;
|
gdm_config = MTK_GDMA_TO_PPE;
|
||||||
|
|
||||||
mtk_gdm_config(eth, gdm_config);
|
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);
|
mtk_dma_free(eth);
|
||||||
|
|
||||||
if (eth->soc->offload_version)
|
if (eth->soc->offload_version)
|
||||||
@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
return 0;
|
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) {
|
if (eth->soc->offload_version) {
|
||||||
|
@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX &&
|
if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX &&
|
||||||
(trxd.rxd2 & RX_DMA_VTAG))
|
(trxd.rxd2 & RX_DMA_VTAG))
|
||||||
__vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q),
|
__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) {
|
if (eth->soc->offload_version) {
|
||||||
|
@ -14,7 +14,7 @@ Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
+++ b/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,
|
.hw_features = MTK_HW_FEATURES,
|
||||||
.required_clks = MT7623_CLKS_BITMAP,
|
.required_clks = MT7623_CLKS_BITMAP,
|
||||||
.required_pctl = true,
|
.required_pctl = true,
|
||||||
|
@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
|
|||||||
|
|
||||||
--- a/drivers/mtd/spi-nor/core.c
|
--- a/drivers/mtd/spi-nor/core.c
|
||||||
+++ b/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 device *dev = nor->dev;
|
||||||
struct mtd_info *mtd = &nor->mtd;
|
struct mtd_info *mtd = &nor->mtd;
|
||||||
struct device_node *np = spi_nor_get_flash_node(nor);
|
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 ret;
|
||||||
int i;
|
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)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
|||||||
+};
|
+};
|
||||||
--- a/drivers/mtd/spi-nor/core.c
|
--- a/drivers/mtd/spi-nor/core.c
|
||||||
+++ b/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[] = {
|
static const struct spi_nor_manufacturer *manufacturers[] = {
|
||||||
&spi_nor_atmel,
|
&spi_nor_atmel,
|
||||||
|
@ -14,7 +14,7 @@ Signed-off-by: René van Dorst <opensource@vdorst.com>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
+++ b/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)
|
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);
|
const __be32 *_id = of_get_property(np, "reg", NULL);
|
||||||
phy_interface_t phy_mode;
|
phy_interface_t phy_mode;
|
||||||
struct phylink *phylink;
|
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
|
else
|
||||||
eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH_2K - MTK_RX_ETH_HLEN;
|
eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH_2K - MTK_RX_ETH_HLEN;
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
|
|
||||||
--- a/drivers/mmc/host/Kconfig
|
--- a/drivers/mmc/host/Kconfig
|
||||||
+++ b/drivers/mmc/host/Kconfig
|
+++ b/drivers/mmc/host/Kconfig
|
||||||
@@ -1102,3 +1102,5 @@ config MMC_OWL
|
@@ -1103,3 +1103,5 @@ config MMC_OWL
|
||||||
|
|
||||||
config MMC_SDHCI_EXTERNAL_DMA
|
config MMC_SDHCI_EXTERNAL_DMA
|
||||||
bool
|
bool
|
||||||
|
@ -11,7 +11,7 @@ Applies to vanilla kernel 3.9.4.
|
|||||||
===============================================================================
|
===============================================================================
|
||||||
--- a/arch/um/drivers/Kconfig
|
--- a/arch/um/drivers/Kconfig
|
||||||
+++ b/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
|
enable at least one of the following transport options to actually
|
||||||
make use of UML networking.
|
make use of UML networking.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user