kernel: bump 5.4 to 5.4.106

Ran update_kernel.sh in a fresh clone without any existing toolchains.

Manually rebased:
  bcm27xx/950-0993-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
  layerscape/701-net-0231-enetc-Use-DT-protocol-information-to-set-up-the-port.patch

Build system: x86_64
Build-tested: ipq806x/R7800
Run-tested: ipq806x/R7800

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
[remove accidental whitespace edit]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
John Audia 2021-03-17 14:22:56 -04:00 committed by Adrian Schmutzler
parent abbaf696f6
commit 2c81b16964
53 changed files with 142 additions and 142 deletions

View File

@ -6,10 +6,10 @@ ifdef CONFIG_TESTING_KERNEL
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
endif
LINUX_VERSION-5.4 = .105
LINUX_VERSION-5.4 = .106
LINUX_VERSION-5.10 = .23
LINUX_KERNEL_HASH-5.4.105 = 244e4cd16184285df55ec5a9501daba011aa8b85c5527ee05eab4592e70fb8b6
LINUX_KERNEL_HASH-5.4.106 = cc873b2c39c1823d4bc4f6cde527943c8cfd28ae94cb517804b0f9679359c8db
LINUX_KERNEL_HASH-5.10.23 = f6e21c03ec6ff85b26d77c59fdab81e64707792a57593643307df192749edb6a
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))

View File

@ -48,9 +48,9 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
#include "xhci.h"
#include "xhci-trace.h"
@@ -63,6 +65,44 @@
#define PCI_DEVICE_ID_ASMEDIA_1142_XHCI 0x1242
@@ -64,6 +66,44 @@
#define PCI_DEVICE_ID_ASMEDIA_2142_XHCI 0x2142
#define PCI_DEVICE_ID_ASMEDIA_3242_XHCI 0x3242
+#define RENESAS_FW_VERSION 0x6C
+#define RENESAS_ROM_CONFIG 0xF0
@ -93,7 +93,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
static const char hcd_name[] = "xhci_hcd";
static struct hc_driver __read_mostly xhci_pci_hc_driver;
@@ -298,6 +338,873 @@ static void xhci_pme_acpi_rtd3_enable(st
@@ -307,6 +347,873 @@ static void xhci_pme_acpi_rtd3_enable(st
static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { }
#endif /* CONFIG_ACPI */
@ -967,7 +967,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
/* called during probe() after chip reset completes */
static int xhci_pci_setup(struct usb_hcd *hcd)
{
@@ -339,6 +1246,27 @@ static int xhci_pci_probe(struct pci_dev
@@ -348,6 +1255,27 @@ static int xhci_pci_probe(struct pci_dev
struct hc_driver *driver;
struct usb_hcd *hcd;
@ -995,7 +995,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
driver = (struct hc_driver *)id->driver_data;
/* Prevent runtime suspending between USB-2 and USB-3 initialization */
@@ -400,6 +1328,16 @@ static void xhci_pci_remove(struct pci_d
@@ -409,6 +1337,16 @@ static void xhci_pci_remove(struct pci_d
{
struct xhci_hcd *xhci;
@ -1012,7 +1012,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
xhci = hcd_to_xhci(pci_get_drvdata(dev));
xhci->xhc_state |= XHCI_STATE_REMOVING;
@@ -539,6 +1477,11 @@ static int xhci_pci_resume(struct usb_hc
@@ -548,6 +1486,11 @@ static int xhci_pci_resume(struct usb_hc
if (pdev->vendor == PCI_VENDOR_ID_INTEL)
usb_enable_intel_xhci_ports(pdev);

View File

@ -13,7 +13,7 @@ produce a noisy warning.
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -285,6 +285,7 @@ static void xhci_pci_quirks(struct devic
@@ -286,6 +286,7 @@ static void xhci_pci_quirks(struct devic
pdev->device == 0x0015) {
xhci->quirks |= XHCI_RESET_ON_RESUME;
xhci->quirks |= XHCI_ZERO_64B_REGS;
@ -43,7 +43,7 @@ produce a noisy warning.
hcd->msi_enabled = 1;
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1882,6 +1882,7 @@ struct xhci_hcd {
@@ -1883,6 +1883,7 @@ struct xhci_hcd {
struct xhci_hub usb2_rhub;
struct xhci_hub usb3_rhub;
/* support xHCI 1.0 spec USB2 hardware LPM */

View File

@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -254,6 +254,10 @@ static void xhci_pci_quirks(struct devic
@@ -255,6 +255,10 @@ static void xhci_pci_quirks(struct devic
pdev->device == 0x3432)
xhci->quirks |= XHCI_BROKEN_STREAMS;

View File

@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -1456,6 +1456,103 @@ command_cleanup:
@@ -1464,6 +1464,103 @@ command_cleanup:
}
/*
@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
* non-error returns are a promise to giveback() the urb later
* we drop ownership so next owner (or urb unlink) can get it
*/
@@ -5337,6 +5434,7 @@ static const struct hc_driver xhci_hc_dr
@@ -5345,6 +5442,7 @@ static const struct hc_driver xhci_hc_dr
.endpoint_reset = xhci_endpoint_reset,
.check_bandwidth = xhci_check_bandwidth,
.reset_bandwidth = xhci_reset_bandwidth,

View File

@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -255,8 +255,10 @@ static void xhci_pci_quirks(struct devic
@@ -256,8 +256,10 @@ static void xhci_pci_quirks(struct devic
xhci->quirks |= XHCI_BROKEN_STREAMS;
if (pdev->vendor == PCI_VENDOR_ID_VIA &&
@ -87,4 +87,4 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
+#define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(36)
#define XHCI_SKIP_PHY_INIT BIT_ULL(37)
#define XHCI_DISABLE_SPARSE BIT_ULL(38)
#define XHCI_NO_SOFT_RETRY BIT_ULL(40)

View File

@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/Makefile
+++ b/Makefile
@@ -1261,6 +1261,9 @@ ifneq ($(dtstree),)
@@ -1267,6 +1267,9 @@ ifneq ($(dtstree),)
%.dtb: include/config/kernel.release scripts_dtc
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@

View File

@ -85,7 +85,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
zhole_size[ZONE_NORMAL] -= normal_end - normal_start;
}
}
@@ -410,9 +410,9 @@ void __init arm64_memblock_init(void)
@@ -422,9 +422,9 @@ void __init arm64_memblock_init(void)
/* 4GB maximum for 32-bit only capable devices */
if (IS_ENABLED(CONFIG_ZONE_DMA32))
@ -97,7 +97,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
reserve_crashkernel();
@@ -420,7 +420,7 @@ void __init arm64_memblock_init(void)
@@ -432,7 +432,7 @@ void __init arm64_memblock_init(void)
high_memory = __va(memblock_end_of_DRAM() - 1) + 1;
@ -106,7 +106,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
}
void __init bootmem_init(void)
@@ -524,7 +524,7 @@ static void __init free_unused_memmap(vo
@@ -536,7 +536,7 @@ static void __init free_unused_memmap(vo
void __init mem_init(void)
{
if (swiotlb_force == SWIOTLB_FORCE ||

View File

@ -140,7 +140,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
}
#endif
if (end > max_dma32) {
@@ -408,9 +430,11 @@ void __init arm64_memblock_init(void)
@@ -420,9 +442,11 @@ void __init arm64_memblock_init(void)
early_init_fdt_scan_reserved_mem();
@ -154,7 +154,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
else
arm64_dma32_phys_limit = PHYS_MASK + 1;
@@ -420,7 +444,7 @@ void __init arm64_memblock_init(void)
@@ -432,7 +456,7 @@ void __init arm64_memblock_init(void)
high_memory = __va(memblock_end_of_DRAM() - 1) + 1;
@ -163,7 +163,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
}
void __init bootmem_init(void)
@@ -524,7 +548,7 @@ static void __init free_unused_memmap(vo
@@ -536,7 +560,7 @@ static void __init free_unused_memmap(vo
void __init mem_init(void)
{
if (swiotlb_force == SWIOTLB_FORCE ||

View File

@ -50,7 +50,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
/*
* We need to be able to catch inadvertent references to memstart_addr
* that occur (potentially in generic code) before arm64_memblock_init()
@@ -430,8 +433,10 @@ void __init arm64_memblock_init(void)
@@ -442,8 +445,10 @@ void __init arm64_memblock_init(void)
early_init_fdt_scan_reserved_mem();

View File

@ -15,7 +15,7 @@ Signed-off-by: Nataliya Korovkina <malus.brandywine@gmail.com>
--- a/Makefile
+++ b/Makefile
@@ -1261,7 +1261,7 @@ ifneq ($(dtstree),)
@@ -1267,7 +1267,7 @@ ifneq ($(dtstree),)
%.dtb: include/config/kernel.release scripts_dtc
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@

View File

@ -33,7 +33,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
crash_size, SZ_2M);
if (crash_base == 0) {
pr_warn("cannot allocate crashkernel (size:0x%llx)\n",
@@ -449,7 +449,7 @@ void __init arm64_memblock_init(void)
@@ -461,7 +461,7 @@ void __init arm64_memblock_init(void)
high_memory = __va(memblock_end_of_DRAM() - 1) + 1;

View File

@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -258,6 +258,7 @@ static void xhci_pci_quirks(struct devic
@@ -259,6 +259,7 @@ static void xhci_pci_quirks(struct devic
pdev->device == 0x3483) {
xhci->quirks |= XHCI_LPM_SUPPORT;
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
@ -56,6 +56,6 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
#define XHCI_SKIP_PHY_INIT BIT_ULL(37)
#define XHCI_DISABLE_SPARSE BIT_ULL(38)
+#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(39)
#define XHCI_NO_SOFT_RETRY BIT_ULL(40)
unsigned int num_active_eps;
unsigned int limit_active_eps;

View File

@ -134,4 +134,4 @@ it on BCM4708 family.
+#define XHCI_FAKE_DOORBELL BIT_ULL(36)
#define XHCI_SKIP_PHY_INIT BIT_ULL(37)
#define XHCI_DISABLE_SPARSE BIT_ULL(38)
#define XHCI_NO_SOFT_RETRY BIT_ULL(40)

View File

@ -24,7 +24,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
#include <linux/workqueue.h>
#include <linux/mdio.h>
#include <linux/io.h>
@@ -842,6 +843,9 @@ void phy_stop(struct phy_device *phydev)
@@ -843,6 +844,9 @@ void phy_stop(struct phy_device *phydev)
mutex_lock(&phydev->lock);
@ -34,7 +34,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
phydev->state = PHY_HALTED;
mutex_unlock(&phydev->lock);
@@ -904,6 +908,9 @@ void phy_state_machine(struct work_struc
@@ -905,6 +909,9 @@ void phy_state_machine(struct work_struc
old_state = phydev->state;

View File

@ -14,7 +14,7 @@ Signed-off-by: Poonam Aggrwal <poonam.aggrwal@nxp.com>
--- a/arch/arm64/mm/init.c
+++ b/arch/arm64/mm/init.c
@@ -406,6 +406,8 @@ void __init arm64_memblock_init(void)
@@ -418,6 +418,8 @@ void __init arm64_memblock_init(void)
initrd_end = initrd_start + phys_initrd_size;
}
@ -23,7 +23,7 @@ Signed-off-by: Poonam Aggrwal <poonam.aggrwal@nxp.com>
early_init_fdt_scan_reserved_mem();
/* 4GB maximum for 32-bit only capable devices */
@@ -416,8 +418,6 @@ void __init arm64_memblock_init(void)
@@ -428,8 +430,6 @@ void __init arm64_memblock_init(void)
reserve_crashkernel();

View File

@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
fsl-enetc-mdio-y := enetc_pci_mdio.o enetc_mdio.o
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
@@ -1427,8 +1427,7 @@ int enetc_close(struct net_device *ndev)
@@ -1422,8 +1422,7 @@ int enetc_close(struct net_device *ndev)
return 0;
}
@ -67,7 +67,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
{
struct enetc_ndev_priv *priv = netdev_priv(ndev);
struct tc_mqprio_qopt *mqprio = type_data;
@@ -1436,9 +1435,6 @@ int enetc_setup_tc(struct net_device *nd
@@ -1431,9 +1430,6 @@ int enetc_setup_tc(struct net_device *nd
u8 num_tc;
int i;
@ -77,7 +77,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
mqprio->hw = TC_MQPRIO_HW_OFFLOAD_TCS;
num_tc = mqprio->num_tc;
@@ -1483,6 +1479,19 @@ int enetc_setup_tc(struct net_device *nd
@@ -1478,6 +1474,19 @@ int enetc_setup_tc(struct net_device *nd
return 0;
}
@ -99,7 +99,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct enetc_ndev_priv *priv = netdev_priv(ndev);
--- a/drivers/net/ethernet/freescale/enetc/enetc.h
+++ b/drivers/net/ethernet/freescale/enetc/enetc.h
@@ -244,3 +244,10 @@ int enetc_set_fs_entry(struct enetc_si *
@@ -249,3 +249,10 @@ int enetc_set_fs_entry(struct enetc_si *
void enetc_set_rss_key(struct enetc_hw *hw, const u8 *bytes);
int enetc_get_rss_table(struct enetc_si *si, u32 *table, int count);
int enetc_set_rss_table(struct enetc_si *si, const u32 *table, int count);

View File

@ -42,7 +42,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
static int enetc_dma_alloc_bdr(struct enetc_bdr *r, size_t bd_size)
@@ -1314,8 +1319,12 @@ static void enetc_disable_interrupts(str
@@ -1309,8 +1314,12 @@ static void enetc_disable_interrupts(str
static void adjust_link(struct net_device *ndev)
{
@ -91,7 +91,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct enetc_bdr *tx_ring[16];
struct enetc_bdr *rx_ring[16];
@@ -248,6 +254,8 @@ int enetc_send_cmd(struct enetc_si *si,
@@ -253,6 +259,8 @@ int enetc_send_cmd(struct enetc_si *si,
#ifdef CONFIG_FSL_ENETC_QOS
int enetc_setup_tc_taprio(struct net_device *ndev, void *type_data);

View File

@ -79,8 +79,8 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
+}
--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
@@ -852,6 +852,61 @@ static int enetc_init_port_rss_memory(st
return err;
@@ -872,6 +872,61 @@ static void enetc_init_unused_port(struc
enetc_free_cbdr(dev, &si->cbd_ring);
}
+static void enetc_configure_sgmii(struct mii_bus *imdio)
@ -141,7 +141,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
static int enetc_pf_probe(struct pci_dev *pdev,
const struct pci_device_id *ent)
{
@@ -928,6 +983,10 @@ static int enetc_pf_probe(struct pci_dev
@@ -956,6 +1011,10 @@ static int enetc_pf_probe(struct pci_dev
if (err)
dev_warn(&pdev->dev, "Fallback to PHY-less operation\n");

View File

@ -125,7 +125,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
}
/* Initialize the entire shared memory for the flow steering entries
@@ -933,6 +936,10 @@ static int enetc_pf_probe(struct pci_dev
@@ -955,6 +958,10 @@ static int enetc_pf_probe(struct pci_dev
pf->si = si;
pf->total_vfs = pci_sriov_get_totalvfs(pdev);
@ -136,7 +136,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
enetc_configure_port(pf);
enetc_get_si_caps(si);
@@ -947,6 +954,8 @@ static int enetc_pf_probe(struct pci_dev
@@ -969,6 +976,8 @@ static int enetc_pf_probe(struct pci_dev
enetc_pf_netdev_setup(si, ndev, &enetc_ndev_ops);
priv = netdev_priv(ndev);
@ -145,7 +145,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
enetc_init_si_rings_params(priv);
@@ -974,10 +983,6 @@ static int enetc_pf_probe(struct pci_dev
@@ -1002,10 +1011,6 @@ static int enetc_pf_probe(struct pci_dev
goto err_alloc_msix;
}
@ -156,23 +156,23 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
err = enetc_configure_serdes(priv);
if (err)
dev_warn(&pdev->dev, "Attempted serdes config but failed\n");
@@ -995,7 +1000,6 @@ static int enetc_pf_probe(struct pci_dev
@@ -1023,7 +1028,6 @@ static int enetc_pf_probe(struct pci_dev
err_reg_netdev:
enetc_mdio_remove(pf);
- enetc_of_put_phy(priv);
enetc_free_msix(priv);
err_config_si:
err_init_port_rss:
err_init_port_rfs:
@@ -1005,6 +1009,7 @@ err_alloc_si_res:
@@ -1034,6 +1038,7 @@ err_alloc_si_res:
si->ndev = NULL;
free_netdev(ndev);
err_alloc_netdev:
+ enetc_of_put_phy(pf);
err_device_disabled:
err_map_pf_space:
enetc_pci_remove(pdev);
@@ -1027,7 +1032,7 @@ static void enetc_pf_remove(struct pci_d
@@ -1057,7 +1062,7 @@ static void enetc_pf_remove(struct pci_d
unregister_netdev(si->ndev);
enetc_mdio_remove(pf);

View File

@ -23,7 +23,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
enetc_port_wr(hw, ENETC_PM0_IF_MODE, ENETC_PM0_IFM_XGMII);
}
@@ -889,7 +890,8 @@ static int enetc_configure_serdes(struct
@@ -909,7 +910,8 @@ static int enetc_configure_serdes(struct
int err;
if (priv->if_mode != PHY_INTERFACE_MODE_SGMII &&
@ -33,7 +33,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
return 0;
err = enetc_imdio_init(pf);
@@ -899,7 +901,8 @@ static int enetc_configure_serdes(struct
@@ -919,7 +921,8 @@ static int enetc_configure_serdes(struct
if (priv->if_mode == PHY_INTERFACE_MODE_SGMII)
enetc_configure_sgmii(pf->imdio);

View File

@ -397,7 +397,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
#define enetc_mdio_rd(mdio_priv, off) \
--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
@@ -1046,6 +1046,9 @@ static void enetc_pf_remove(struct pci_d
@@ -1076,6 +1076,9 @@ static void enetc_pf_remove(struct pci_d
enetc_pci_remove(pdev);
}

View File

@ -371,7 +371,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
#define enetc_rd(hw, off) enetc_rd_reg((hw)->reg + (off))
--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
@@ -1046,8 +1046,9 @@ static void enetc_pf_remove(struct pci_d
@@ -1076,8 +1076,9 @@ static void enetc_pf_remove(struct pci_d
enetc_pci_remove(pdev);
}

View File

@ -48,11 +48,11 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
@@ -1012,6 +1012,7 @@ err_alloc_si_res:
@@ -1041,6 +1041,7 @@ err_alloc_si_res:
si->ndev = NULL;
free_netdev(ndev);
err_alloc_netdev:
+ enetc_mdio_remove(pf);
enetc_of_put_phy(pf);
err_device_disabled:
err_map_pf_space:
enetc_pci_remove(pdev);

View File

@ -47,7 +47,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
+ taprio(802.1Qbv) and Credit Based Shaper(802.1Qbu).
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
@@ -1524,6 +1524,8 @@ int enetc_setup_tc(struct net_device *nd
@@ -1519,6 +1519,8 @@ int enetc_setup_tc(struct net_device *nd
return enetc_setup_tc_mqprio(ndev, type_data);
case TC_SETUP_QDISC_TAPRIO:
return enetc_setup_tc_taprio(ndev, type_data);
@ -58,7 +58,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
--- a/drivers/net/ethernet/freescale/enetc/enetc.h
+++ b/drivers/net/ethernet/freescale/enetc/enetc.h
@@ -255,7 +255,9 @@ int enetc_send_cmd(struct enetc_si *si,
@@ -260,7 +260,9 @@ int enetc_send_cmd(struct enetc_si *si,
#ifdef CONFIG_FSL_ENETC_QOS
int enetc_setup_tc_taprio(struct net_device *ndev, void *type_data);
void enetc_sched_speed_set(struct net_device *ndev);

View File

@ -179,7 +179,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
};
struct enetc_ndev_priv {
@@ -261,3 +292,10 @@ int enetc_setup_tc_cbs(struct net_device
@@ -266,3 +297,10 @@ int enetc_setup_tc_cbs(struct net_device
#define enetc_sched_speed_set(ndev) (void)0
#define enetc_setup_tc_cbs(ndev, type_data) -EOPNOTSUPP
#endif
@ -839,7 +839,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
/* pick up primary MAC address from SI */
enetc_get_primary_mac_addr(&si->hw, ndev->dev_addr);
}
@@ -999,6 +1006,8 @@ static int enetc_pf_probe(struct pci_dev
@@ -1027,6 +1034,8 @@ static int enetc_pf_probe(struct pci_dev
netif_info(priv, probe, ndev, "%s v%s\n",
enetc_drv_name, enetc_drv_ver);
@ -848,7 +848,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
return 0;
err_reg_netdev:
@@ -1033,6 +1042,8 @@ static void enetc_pf_remove(struct pci_d
@@ -1063,6 +1072,8 @@ static void enetc_pf_remove(struct pci_d
netif_info(priv, drv, si->ndev, "%s v%s remove\n",
enetc_drv_name, enetc_drv_ver);

View File

@ -17,7 +17,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
@@ -1369,6 +1369,7 @@ static int enetc_phy_connect(struct net_
@@ -1364,6 +1364,7 @@ static int enetc_phy_connect(struct net_
{
struct enetc_ndev_priv *priv = netdev_priv(ndev);
struct phy_device *phydev;
@ -25,7 +25,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
if (!priv->phy_node)
return 0; /* phy-less mode */
@@ -1382,6 +1383,10 @@ static int enetc_phy_connect(struct net_
@@ -1377,6 +1378,10 @@ static int enetc_phy_connect(struct net_
phy_attached_info(phydev);

View File

@ -344,7 +344,7 @@ MDIO erratum.
static int enetc_of_get_phy(struct enetc_pf *pf)
{
struct device *dev = &pf->si->pdev->dev;
@@ -891,6 +938,30 @@ static void enetc_configure_sxgmii(struc
@@ -911,6 +958,30 @@ static void enetc_configure_sxgmii(struc
ENETC_PCS_CR_LANE_RESET | ENETC_PCS_CR_RESET_AN);
}

View File

@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
@@ -1661,7 +1661,10 @@ int enetc_ioctl(struct net_device *ndev,
@@ -1656,7 +1656,10 @@ int enetc_ioctl(struct net_device *ndev,
if (cmd == SIOCGHWTSTAMP)
return enetc_hwtstamp_get(ndev, rq);
#endif

View File

@ -17,7 +17,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
--- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c
@@ -1573,7 +1573,6 @@ static int flexcan_probe(struct platform
@@ -1579,7 +1579,6 @@ static int flexcan_probe(struct platform
struct net_device *dev;
struct flexcan_priv *priv;
struct regulator *reg_xceiver;
@ -25,7 +25,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
struct clk *clk_ipg = NULL, *clk_per = NULL;
struct flexcan_regs __iomem *regs;
int err, irq;
@@ -1608,12 +1607,11 @@ static int flexcan_probe(struct platform
@@ -1614,12 +1613,11 @@ static int flexcan_probe(struct platform
clock_freq = clk_get_rate(clk_per);
}

View File

@ -50,7 +50,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
netif_wake_queue(dev);
}
@@ -1321,7 +1321,7 @@ static int flexcan_open(struct net_devic
@@ -1323,7 +1323,7 @@ static int flexcan_open(struct net_devic
priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx);
priv->reg_imask1_default = 0;

View File

@ -61,7 +61,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
return (u64)iflag2 << 32 | iflag1;
}
@@ -1225,8 +1225,8 @@ static int flexcan_chip_start(struct net
@@ -1227,8 +1227,8 @@ static int flexcan_chip_start(struct net
/* enable interrupts atomically */
disable_irq(dev->irq);
priv->write(priv->reg_ctrl_default, &regs->ctrl);
@ -72,7 +72,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
enable_irq(dev->irq);
/* print chip status */
@@ -1320,8 +1320,8 @@ static int flexcan_open(struct net_devic
@@ -1322,8 +1322,8 @@ static int flexcan_open(struct net_devic
priv->tx_mb_idx = priv->mb_count - 1;
priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx);
@ -83,7 +83,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
priv->offload.mailbox_read = flexcan_mailbox_read;
@@ -1333,12 +1333,12 @@ static int flexcan_open(struct net_devic
@@ -1335,12 +1335,12 @@ static int flexcan_open(struct net_devic
imask = GENMASK_ULL(priv->offload.mb_last,
priv->offload.mb_first);

View File

@ -34,7 +34,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
iflag1 = priv->read(&regs->iflag1) & priv->rx_mask1;
return (u64)iflag2 << 32 | iflag1;
@@ -1226,7 +1225,7 @@ static int flexcan_chip_start(struct net
@@ -1228,7 +1227,7 @@ static int flexcan_chip_start(struct net
disable_irq(dev->irq);
priv->write(priv->reg_ctrl_default, &regs->ctrl);
priv->write(priv->rx_mask1, &regs->imask1);
@ -43,7 +43,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
enable_irq(dev->irq);
/* print chip status */
@@ -1320,9 +1319,6 @@ static int flexcan_open(struct net_devic
@@ -1322,9 +1321,6 @@ static int flexcan_open(struct net_devic
priv->tx_mb_idx = priv->mb_count - 1;
priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx);
@ -53,7 +53,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
priv->offload.mailbox_read = flexcan_mailbox_read;
if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {
@@ -1333,12 +1329,12 @@ static int flexcan_open(struct net_devic
@@ -1335,12 +1331,12 @@ static int flexcan_open(struct net_devic
imask = GENMASK_ULL(priv->offload.mb_last,
priv->offload.mb_first);

View File

@ -70,7 +70,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
int err, i;
struct flexcan_mb __iomem *mb;
@@ -1224,8 +1224,9 @@ static int flexcan_chip_start(struct net
@@ -1226,8 +1226,9 @@ static int flexcan_chip_start(struct net
/* enable interrupts atomically */
disable_irq(dev->irq);
priv->write(priv->reg_ctrl_default, &regs->ctrl);
@ -82,7 +82,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
enable_irq(dev->irq);
/* print chip status */
@@ -1322,19 +1323,14 @@ static int flexcan_open(struct net_devic
@@ -1324,19 +1325,14 @@ static int flexcan_open(struct net_devic
priv->offload.mailbox_read = flexcan_mailbox_read;
if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {

View File

@ -71,7 +71,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
netif_wake_queue(dev);
}
@@ -1224,7 +1225,7 @@ static int flexcan_chip_start(struct net
@@ -1226,7 +1227,7 @@ static int flexcan_chip_start(struct net
/* enable interrupts atomically */
disable_irq(dev->irq);
priv->write(priv->reg_ctrl_default, &regs->ctrl);
@ -80,7 +80,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
priv->write(upper_32_bits(reg_imask), &regs->imask2);
priv->write(lower_32_bits(reg_imask), &regs->imask1);
enable_irq(dev->irq);
@@ -1319,6 +1320,7 @@ static int flexcan_open(struct net_devic
@@ -1321,6 +1322,7 @@ static int flexcan_open(struct net_devic
flexcan_get_mb(priv, FLEXCAN_TX_MB_RESERVED_OFF_FIFO);
priv->tx_mb_idx = priv->mb_count - 1;
priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx);

View File

@ -324,7 +324,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
u64 reg_imask;
int err, i;
struct flexcan_mb __iomem *mb;
@@ -1164,6 +1312,26 @@ static int flexcan_chip_start(struct net
@@ -1166,6 +1314,26 @@ static int flexcan_chip_start(struct net
netdev_dbg(dev, "%s: writing ctrl=0x%08x", __func__, reg_ctrl);
priv->write(reg_ctrl, &regs->ctrl);
@ -351,7 +351,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
if ((priv->devtype_data->quirks & FLEXCAN_QUIRK_ENABLE_EACEN_RRS)) {
reg_ctrl2 = priv->read(&regs->ctrl2);
reg_ctrl2 |= FLEXCAN_CTRL2_EACEN | FLEXCAN_CTRL2_RRS;
@@ -1304,6 +1472,12 @@ static int flexcan_open(struct net_devic
@@ -1306,6 +1474,12 @@ static int flexcan_open(struct net_devic
struct flexcan_priv *priv = netdev_priv(dev);
int err;
@ -364,7 +364,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
err = pm_runtime_get_sync(priv->dev);
if (err < 0) {
pm_runtime_put_noidle(priv->dev);
@@ -1322,7 +1496,10 @@ static int flexcan_open(struct net_devic
@@ -1324,7 +1498,10 @@ static int flexcan_open(struct net_devic
if (err)
goto out_transceiver_disable;
@ -376,7 +376,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
priv->mb_count = (sizeof(priv->regs->mb[0]) / priv->mb_size) +
(sizeof(priv->regs->mb[1]) / priv->mb_size);
@@ -1670,6 +1847,18 @@ static int flexcan_probe(struct platform
@@ -1676,6 +1853,18 @@ static int flexcan_probe(struct platform
priv->devtype_data = devtype_data;
priv->reg_xceiver = reg_xceiver;

View File

@ -31,7 +31,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
/* FLEXCAN memory error control register (MECR) bits */
#define FLEXCAN_MECR_ECRWRDIS BIT(31)
@@ -1324,6 +1325,7 @@ static int flexcan_chip_start(struct net
@@ -1326,6 +1327,7 @@ static int flexcan_chip_start(struct net
reg_fdctrl = priv->read(&regs->fdctrl) & ~FLEXCAN_FDCTRL_FDRATE;
reg_fdctrl &= ~(FLEXCAN_FDCTRL_MBDSR1(0x3) | FLEXCAN_FDCTRL_MBDSR0(0x3));
reg_mcr = priv->read(&regs->mcr) & ~FLEXCAN_MCR_FDEN;
@ -39,7 +39,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
/* support BRS when set CAN FD mode
* 64 bytes payload per MB and 7 MBs per RAM block by default
@@ -1333,10 +1335,14 @@ static int flexcan_chip_start(struct net
@@ -1335,10 +1337,14 @@ static int flexcan_chip_start(struct net
reg_fdctrl |= FLEXCAN_FDCTRL_FDRATE;
reg_fdctrl |= FLEXCAN_FDCTRL_MBDSR1(0x3) | FLEXCAN_FDCTRL_MBDSR0(0x3);
reg_mcr |= FLEXCAN_MCR_FDEN;
@ -54,7 +54,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
}
if ((priv->devtype_data->quirks & FLEXCAN_QUIRK_ENABLE_EACEN_RRS)) {
@@ -1856,7 +1862,7 @@ static int flexcan_probe(struct platform
@@ -1862,7 +1868,7 @@ static int flexcan_probe(struct platform
if (priv->devtype_data->quirks & FLEXCAN_QUIRK_TIMESTAMP_SUPPORT_FD) {
if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {

View File

@ -60,7 +60,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
if (bt->brp != dbt->brp)
netdev_warn(dev, "Warning!! data brp = %d and brp = %d don't match.\n"
"flexcan may not work. consider using different bitrate or data bitrate\n",
@@ -1323,6 +1339,7 @@ static int flexcan_chip_start(struct net
@@ -1325,6 +1341,7 @@ static int flexcan_chip_start(struct net
/* FDCTRL */
if (priv->can.ctrlmode_supported & CAN_CTRLMODE_FD) {
reg_fdctrl = priv->read(&regs->fdctrl) & ~FLEXCAN_FDCTRL_FDRATE;

View File

@ -52,7 +52,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
static const struct flexcan_devtype_data fsl_vf610_devtype_data = {
.quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS |
FLEXCAN_QUIRK_DISABLE_MECR | FLEXCAN_QUIRK_USE_OFF_TIMESTAMP |
@@ -1763,6 +1770,7 @@ out_put_node:
@@ -1769,6 +1776,7 @@ out_put_node:
}
static const struct of_device_id flexcan_of_match[] = {

View File

@ -35,7 +35,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
static const struct flexcan_devtype_data fsl_ls1021a_r2_devtype_data = {
.quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS |
FLEXCAN_QUIRK_BROKEN_PERR_STATE | FLEXCAN_QUIRK_USE_OFF_TIMESTAMP,
@@ -1779,6 +1786,7 @@ static const struct of_device_id flexcan
@@ -1785,6 +1792,7 @@ static const struct of_device_id flexcan
{ .compatible = "fsl,p1010-flexcan", .data = &fsl_p1010_devtype_data, },
{ .compatible = "fsl,vf610-flexcan", .data = &fsl_vf610_devtype_data, },
{ .compatible = "fsl,ls1021ar2-flexcan", .data = &fsl_ls1021a_r2_devtype_data, },

View File

@ -28,7 +28,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
#include <linux/regmap.h>
#define DRV_NAME "flexcan"
@@ -1959,9 +1960,7 @@ static int __maybe_unused flexcan_suspen
@@ -1965,9 +1966,7 @@ static int __maybe_unused flexcan_suspen
if (err)
return err;
} else {
@ -39,7 +39,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
}
netif_stop_queue(dev);
netif_device_detach(dev);
@@ -1987,7 +1986,9 @@ static int __maybe_unused flexcan_resume
@@ -1993,7 +1992,9 @@ static int __maybe_unused flexcan_resume
if (err)
return err;
} else {

View File

@ -126,7 +126,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
reg_mcr = priv->read(&regs->mcr);
@@ -1770,11 +1814,6 @@ static int flexcan_setup_stop_mode(struc
@@ -1776,11 +1820,6 @@ static int flexcan_setup_stop_mode(struc
gpr_np->full_name, priv->stm.req_gpr, priv->stm.req_bit,
priv->stm.ack_gpr, priv->stm.ack_bit);
@ -138,7 +138,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
return 0;
out_put_node:
@@ -1782,6 +1821,30 @@ out_put_node:
@@ -1788,6 +1827,30 @@ out_put_node:
return ret;
}
@ -169,7 +169,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
static const struct of_device_id flexcan_of_match[] = {
{ .compatible = "fsl,imx8qm-flexcan", .data = &fsl_imx8qm_devtype_data, },
{ .compatible = "fsl,imx6q-flexcan", .data = &fsl_imx6q_devtype_data, },
@@ -1924,9 +1987,19 @@ static int flexcan_probe(struct platform
@@ -1930,9 +1993,19 @@ static int flexcan_probe(struct platform
devm_can_led_init(dev);
if (priv->devtype_data->quirks & FLEXCAN_QUIRK_SETUP_STOP_MODE) {

View File

@ -36,7 +36,7 @@ Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com>
static const struct can_bittiming_const flexcan_bittiming_const = {
.name = DRV_NAME,
.tseg1_min = 4,
@@ -1856,6 +1861,8 @@ static const struct of_device_id flexcan
@@ -1862,6 +1867,8 @@ static const struct of_device_id flexcan
{ .compatible = "fsl,vf610-flexcan", .data = &fsl_vf610_devtype_data, },
{ .compatible = "fsl,ls1021ar2-flexcan", .data = &fsl_ls1021a_r2_devtype_data, },
{ .compatible = "fsl,lx2160ar1-flexcan", .data = &fsl_lx2160a_r1_devtype_data, },

View File

@ -64,7 +64,7 @@ Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
if (writable)
pte = kvm_s2pte_mkwrite(pte);
@@ -2362,7 +2364,7 @@ int kvm_arch_prepare_memory_region(struc
@@ -2361,7 +2363,7 @@ int kvm_arch_prepare_memory_region(struc
ret = kvm_phys_addr_ioremap(kvm, gpa, pa,
vm_end - vm_start,

View File

@ -105,7 +105,7 @@ Signed-off-by: Diana Craciun <diana.craciun@nxp.com>
if (kvm_is_device_pfn(pfn)) {
mem_type = PAGE_S2_DEVICE;
flags |= KVM_S2PTE_FLAG_IS_IOMAP;
@@ -2352,6 +2396,9 @@ int kvm_arch_prepare_memory_region(struc
@@ -2351,6 +2395,9 @@ int kvm_arch_prepare_memory_region(struc
gpa_t gpa = mem->guest_phys_addr +
(vm_start - mem->userspace_addr);
phys_addr_t pa;
@ -115,7 +115,7 @@ Signed-off-by: Diana Craciun <diana.craciun@nxp.com>
pa = (phys_addr_t)vma->vm_pgoff << PAGE_SHIFT;
pa += vm_start - vma->vm_start;
@@ -2362,9 +2409,13 @@ int kvm_arch_prepare_memory_region(struc
@@ -2361,9 +2408,13 @@ int kvm_arch_prepare_memory_region(struc
goto out;
}

View File

@ -42,7 +42,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
retval = xhci_enter_test_mode(xhci, test_mode, wIndex,
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -3591,6 +3591,129 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
@@ -3592,6 +3592,129 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
return 0;
}
@ -174,7 +174,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
* bursts that are required to move all packets in this TD. Only SuperSpeed
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -5364,6 +5364,7 @@ static const struct hc_driver xhci_hc_dr
@@ -5372,6 +5372,7 @@ static const struct hc_driver xhci_hc_dr
.disable_usb3_lpm_timeout = xhci_disable_usb3_lpm_timeout,
.find_raw_port_number = xhci_find_raw_port_number,
.clear_tt_buffer_complete = xhci_clear_tt_buffer_complete,
@ -184,7 +184,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
void xhci_init_driver(struct hc_driver *drv,
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -2149,6 +2149,16 @@ int xhci_find_raw_port_number(struct usb
@@ -2150,6 +2150,16 @@ int xhci_find_raw_port_number(struct usb
struct xhci_hub *xhci_get_rhub(struct usb_hcd *hcd);
void xhci_hc_died(struct xhci_hcd *xhci);

View File

@ -39,4 +39,4 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
+#define XHCI_CDNS_HOST BIT_ULL(36)
#define XHCI_SKIP_PHY_INIT BIT_ULL(37)
#define XHCI_DISABLE_SPARSE BIT_ULL(38)
#define XHCI_NO_SOFT_RETRY BIT_ULL(40)

View File

@ -24,7 +24,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -5385,6 +5385,8 @@ void xhci_init_driver(struct hc_driver *
@@ -5393,6 +5393,8 @@ void xhci_init_driver(struct hc_driver *
drv->check_bandwidth = over->check_bandwidth;
if (over->reset_bandwidth)
drv->reset_bandwidth = over->reset_bandwidth;
@ -35,7 +35,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
EXPORT_SYMBOL_GPL(xhci_init_driver);
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1915,6 +1915,7 @@ struct xhci_driver_overrides {
@@ -1916,6 +1916,7 @@ struct xhci_driver_overrides {
int (*start)(struct usb_hcd *hcd);
int (*check_bandwidth)(struct usb_hcd *, struct usb_device *);
void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);

View File

@ -64,7 +64,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/dsa/mt7530.c
+++ b/drivers/net/dsa/mt7530.c
@@ -1452,7 +1452,9 @@ static void mt7530_phylink_mac_link_down
@@ -1450,7 +1450,9 @@ static void mt7530_phylink_mac_link_down
static void mt7530_phylink_mac_link_up(struct dsa_switch *ds, int port,
unsigned int mode,
phy_interface_t interface,

View File

@ -15,7 +15,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/dsa/mt7530.c
+++ b/drivers/net/dsa/mt7530.c
@@ -490,17 +490,6 @@ mt7530_mib_reset(struct dsa_switch *ds)
@@ -488,17 +488,6 @@ mt7530_mib_reset(struct dsa_switch *ds)
mt7530_write(priv, MT7530_MIB_CCR, CCR_MIB_ACTIVATE);
}
@ -33,7 +33,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static int mt7530_phy_read(struct dsa_switch *ds, int port, int regnum)
{
struct mt7530_priv *priv = ds->priv;
@@ -674,7 +663,7 @@ mt7530_port_enable(struct dsa_switch *ds
@@ -672,7 +661,7 @@ mt7530_port_enable(struct dsa_switch *ds
priv->ports[port].enable = true;
mt7530_rmw(priv, MT7530_PCR_P(port), PCR_MATRIX_MASK,
priv->ports[port].pm);
@ -42,7 +42,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
mutex_unlock(&priv->reg_mutex);
@@ -697,7 +686,7 @@ mt7530_port_disable(struct dsa_switch *d
@@ -695,7 +684,7 @@ mt7530_port_disable(struct dsa_switch *d
priv->ports[port].enable = false;
mt7530_rmw(priv, MT7530_PCR_P(port), PCR_MATRIX_MASK,
PCR_MATRIX_CLR);
@ -51,7 +51,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
mutex_unlock(&priv->reg_mutex);
}
@@ -1407,8 +1396,7 @@ static void mt7530_phylink_mac_config(st
@@ -1405,8 +1394,7 @@ static void mt7530_phylink_mac_config(st
mcr_cur = mt7530_read(priv, MT7530_PMCR_P(port));
mcr_new = mcr_cur;
@ -61,7 +61,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
mcr_new |= PMCR_IFG_XMIT(1) | PMCR_MAC_MODE | PMCR_BACKOFF_EN |
PMCR_BACKPR_EN | PMCR_FORCE_MODE;
@@ -1416,26 +1404,6 @@ static void mt7530_phylink_mac_config(st
@@ -1414,26 +1402,6 @@ static void mt7530_phylink_mac_config(st
if (port == 5 && dsa_is_user_port(ds, 5))
mcr_new |= PMCR_EXT_PHY;
@ -88,7 +88,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (mcr_new != mcr_cur)
mt7530_write(priv, MT7530_PMCR_P(port), mcr_new);
}
@@ -1446,7 +1414,7 @@ static void mt7530_phylink_mac_link_down
@@ -1444,7 +1412,7 @@ static void mt7530_phylink_mac_link_down
{
struct mt7530_priv *priv = ds->priv;
@ -97,7 +97,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
static void mt7530_phylink_mac_link_up(struct dsa_switch *ds, int port,
@@ -1457,8 +1425,31 @@ static void mt7530_phylink_mac_link_up(s
@@ -1455,8 +1423,31 @@ static void mt7530_phylink_mac_link_up(s
bool tx_pause, bool rx_pause)
{
struct mt7530_priv *priv = ds->priv;

View File

@ -47,7 +47,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
return -EINVAL;
}
@@ -1344,12 +1346,11 @@ mt7530_setup(struct dsa_switch *ds)
@@ -1342,12 +1344,11 @@ mt7530_setup(struct dsa_switch *ds)
return 0;
}
@ -63,7 +63,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
switch (port) {
case 0: /* Internal phy */
@@ -1358,33 +1359,114 @@ static void mt7530_phylink_mac_config(st
@@ -1356,33 +1357,114 @@ static void mt7530_phylink_mac_config(st
case 3:
case 4:
if (state->interface != PHY_INTERFACE_MODE_GMII)
@ -189,7 +189,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
return;
}
@@ -1452,61 +1534,44 @@ static void mt7530_phylink_mac_link_up(s
@@ -1450,61 +1532,44 @@ static void mt7530_phylink_mac_link_up(s
mt7530_set(priv, MT7530_PMCR_P(port), mcr);
}
@ -274,7 +274,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
phylink_set(mask, Pause);
phylink_set(mask, Asym_Pause);
@@ -1602,12 +1667,45 @@ static int mt7530_set_mac_eee(struct dsa
@@ -1600,12 +1665,45 @@ static int mt7530_set_mac_eee(struct dsa
return 0;
}
@ -323,7 +323,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
.get_ethtool_stats = mt7530_get_ethtool_stats,
.get_sset_count = mt7530_get_sset_count,
.port_enable = mt7530_port_enable,
@@ -1624,18 +1722,43 @@ static const struct dsa_switch_ops mt753
@@ -1622,18 +1720,43 @@ static const struct dsa_switch_ops mt753
.port_vlan_del = mt7530_port_vlan_del,
.port_mirror_add = mt7530_port_mirror_add,
.port_mirror_del = mt7530_port_mirror_del,
@ -372,7 +372,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
{ /* sentinel */ },
};
MODULE_DEVICE_TABLE(of, mt7530_of_match);
@@ -1673,8 +1796,21 @@ mt7530_probe(struct mdio_device *mdiodev
@@ -1671,8 +1794,21 @@ mt7530_probe(struct mdio_device *mdiodev
/* Get the hardware identifier from the devicetree node.
* We will need it for some of the clock and regulator setup.
*/

View File

@ -41,7 +41,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
_mt7530_read(struct mt7530_dummy_poll *p)
{
struct mii_bus *bus = p->priv->bus;
@@ -483,6 +489,108 @@ mt7530_pad_clk_setup(struct dsa_switch *
@@ -481,6 +487,108 @@ mt7530_pad_clk_setup(struct dsa_switch *
return 0;
}
@ -150,7 +150,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
static void
mt7530_mib_reset(struct dsa_switch *ds)
{
@@ -507,6 +615,217 @@ static int mt7530_phy_write(struct dsa_s
@@ -505,6 +613,217 @@ static int mt7530_phy_write(struct dsa_s
return mdiobus_write_nested(priv->bus, port, regnum, val);
}
@ -368,7 +368,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
static void
mt7530_get_strings(struct dsa_switch *ds, int port, u32 stringset,
uint8_t *data)
@@ -623,9 +942,14 @@ unlock_exit:
@@ -621,9 +940,14 @@ unlock_exit:
}
static int
@ -385,7 +385,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
/* Enable Mediatek header mode on the cpu port */
mt7530_write(priv, MT7530_PVC_P(port),
PORT_SPEC_TAG);
@@ -638,7 +962,7 @@ mt7530_cpu_port_enable(struct mt7530_pri
@@ -636,7 +960,7 @@ mt7530_cpu_port_enable(struct mt7530_pri
mt7530_rmw(priv, MT7530_MFC, CPU_MASK, CPU_EN | CPU_PORT(port));
/* CPU port gets connected to all user ports of
@ -394,7 +394,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
*/
mt7530_write(priv, MT7530_PCR_P(port),
PCR_MATRIX(dsa_user_ports(priv->ds)));
@@ -1132,27 +1456,42 @@ mt7530_port_vlan_del(struct dsa_switch *
@@ -1130,27 +1454,42 @@ mt7530_port_vlan_del(struct dsa_switch *
return 0;
}
@ -444,7 +444,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
val = mt7530_read(priv, MT7530_PCR_P(port));
if (ingress) {
@@ -1167,7 +1506,7 @@ static int mt7530_port_mirror_add(struct
@@ -1165,7 +1504,7 @@ static int mt7530_port_mirror_add(struct
return 0;
}
@ -453,7 +453,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
struct dsa_mall_mirror_tc_entry *mirror)
{
struct mt7530_priv *priv = ds->priv;
@@ -1184,9 +1523,9 @@ static void mt7530_port_mirror_del(struc
@@ -1182,9 +1521,9 @@ static void mt7530_port_mirror_del(struc
mt7530_write(priv, MT7530_PCR_P(port), val);
if (!priv->mirror_rx && !priv->mirror_tx) {
@ -466,7 +466,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
}
}
@@ -1292,7 +1631,7 @@ mt7530_setup(struct dsa_switch *ds)
@@ -1290,7 +1629,7 @@ mt7530_setup(struct dsa_switch *ds)
PCR_MATRIX_CLR);
if (dsa_is_cpu_port(ds, i))
@ -475,7 +475,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
else
mt7530_port_disable(ds, i);
@@ -1346,6 +1685,118 @@ mt7530_setup(struct dsa_switch *ds)
@@ -1344,6 +1683,118 @@ mt7530_setup(struct dsa_switch *ds)
return 0;
}
@ -594,7 +594,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
static bool
mt7530_phy_mode_supported(struct dsa_switch *ds, int port,
const struct phylink_link_state *state)
@@ -1384,6 +1835,47 @@ unsupported:
@@ -1382,6 +1833,47 @@ unsupported:
return false;
}
@ -642,7 +642,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
static bool
mt753x_phy_mode_supported(struct dsa_switch *ds, int port,
const struct phylink_link_state *state)
@@ -1416,6 +1908,227 @@ mt7530_mac_config(struct dsa_switch *ds,
@@ -1414,6 +1906,227 @@ mt7530_mac_config(struct dsa_switch *ds,
return 0;
}
@ -870,7 +870,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
static int
mt753x_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
const struct phylink_link_state *state)
@@ -1451,6 +2164,8 @@ mt753x_phylink_mac_config(struct dsa_swi
@@ -1449,6 +2162,8 @@ mt753x_phylink_mac_config(struct dsa_swi
if (mt753x_mac_config(ds, port, mode, state) < 0)
goto unsupported;
@ -879,7 +879,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
break;
case 6: /* 1st cpu port */
if (priv->p6_interface == state->interface)
@@ -1470,7 +2185,8 @@ unsupported:
@@ -1468,7 +2183,8 @@ unsupported:
return;
}
@ -889,7 +889,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
dev_err(ds->dev, "%s: in-band negotiation unsupported\n",
__func__);
return;
@@ -1480,7 +2196,7 @@ unsupported:
@@ -1478,7 +2194,7 @@ unsupported:
mcr_new = mcr_cur;
mcr_new &= ~PMCR_LINK_SETTINGS_MASK;
mcr_new |= PMCR_IFG_XMIT(1) | PMCR_MAC_MODE | PMCR_BACKOFF_EN |
@ -898,7 +898,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
/* Are we connected to external phy */
if (port == 5 && dsa_is_user_port(ds, 5))
@@ -1490,7 +2206,18 @@ unsupported:
@@ -1488,7 +2204,18 @@ unsupported:
mt7530_write(priv, MT7530_PMCR_P(port), mcr_new);
}
@ -918,7 +918,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
unsigned int mode,
phy_interface_t interface)
{
@@ -1499,7 +2226,19 @@ static void mt7530_phylink_mac_link_down
@@ -1497,7 +2224,19 @@ static void mt7530_phylink_mac_link_down
mt7530_clear(priv, MT7530_PMCR_P(port), PMCR_LINK_SETTINGS_MASK);
}
@ -939,7 +939,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
unsigned int mode,
phy_interface_t interface,
struct phy_device *phydev,
@@ -1509,18 +2248,29 @@ static void mt7530_phylink_mac_link_up(s
@@ -1507,18 +2246,29 @@ static void mt7530_phylink_mac_link_up(s
struct mt7530_priv *priv = ds->priv;
u32 mcr;
@ -971,7 +971,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
break;
}
if (duplex == DUPLEX_FULL) {
@@ -1534,6 +2284,45 @@ static void mt7530_phylink_mac_link_up(s
@@ -1532,6 +2282,45 @@ static void mt7530_phylink_mac_link_up(s
mt7530_set(priv, MT7530_PMCR_P(port), mcr);
}
@ -1017,7 +1017,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
static void
mt7530_mac_port_validate(struct dsa_switch *ds, int port,
unsigned long *supported)
@@ -1542,6 +2331,14 @@ mt7530_mac_port_validate(struct dsa_swit
@@ -1540,6 +2329,14 @@ mt7530_mac_port_validate(struct dsa_swit
phylink_set(supported, 1000baseX_Full);
}
@ -1032,7 +1032,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
static void
mt753x_phylink_validate(struct dsa_switch *ds, int port,
unsigned long *supported,
@@ -1558,7 +2355,8 @@ mt753x_phylink_validate(struct dsa_switc
@@ -1556,7 +2353,8 @@ mt753x_phylink_validate(struct dsa_switc
phylink_set_port_modes(mask);
@ -1042,7 +1042,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
phylink_set(mask, 10baseT_Half);
phylink_set(mask, 10baseT_Full);
phylink_set(mask, 100baseT_Half);
@@ -1577,6 +2375,11 @@ mt753x_phylink_validate(struct dsa_switc
@@ -1575,6 +2373,11 @@ mt753x_phylink_validate(struct dsa_switc
linkmode_and(supported, supported, mask);
linkmode_and(state->advertising, state->advertising, mask);
@ -1054,7 +1054,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
}
static int
@@ -1667,6 +2470,63 @@ static int mt7530_set_mac_eee(struct dsa
@@ -1665,6 +2468,63 @@ static int mt7530_set_mac_eee(struct dsa
return 0;
}
@ -1118,7 +1118,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
static int
mt753x_phylink_mac_link_state(struct dsa_switch *ds, int port,
struct phylink_link_state *state)
@@ -1720,13 +2580,14 @@ static const struct dsa_switch_ops mt753
@@ -1718,13 +2578,14 @@ static const struct dsa_switch_ops mt753
.port_vlan_prepare = mt7530_port_vlan_prepare,
.port_vlan_add = mt7530_port_vlan_add,
.port_vlan_del = mt7530_port_vlan_del,
@ -1137,7 +1137,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
.get_mac_eee = mt7530_get_mac_eee,
.set_mac_eee = mt7530_set_mac_eee,
};
@@ -1754,11 +2615,26 @@ static const struct mt753x_info mt753x_t
@@ -1752,11 +2613,26 @@ static const struct mt753x_info mt753x_t
.mac_port_get_state = mt7530_phylink_mac_link_state,
.mac_port_config = mt7530_mac_config,
},

View File

@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -546,7 +546,10 @@ static int phy_check_link_status(struct
@@ -547,7 +547,10 @@ static int phy_check_link_status(struct
phy_link_up(phydev);
} else if (!phydev->link && phydev->state != PHY_NOLINK) {
phydev->state = PHY_NOLINK;
@ -23,7 +23,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
}
return 0;
@@ -926,7 +929,10 @@ void phy_state_machine(struct work_struc
@@ -927,7 +930,10 @@ void phy_state_machine(struct work_struc
case PHY_HALTED:
if (phydev->link) {
phydev->link = 0;