kernel: bump 5.4 to 5.4.106
authorJohn Audia <graysky@archlinux.us>
Wed, 17 Mar 2021 18:22:56 +0000 (14:22 -0400)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Sun, 21 Mar 2021 21:45:20 +0000 (22:45 +0100)
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>
53 files changed:
include/kernel-version.mk
target/linux/apm821xx/patches-5.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch
target/linux/bcm27xx/patches-5.4/950-0211-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch
target/linux/bcm27xx/patches-5.4/950-0219-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
target/linux/bcm27xx/patches-5.4/950-0264-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch
target/linux/bcm27xx/patches-5.4/950-0313-kbuild-Allow-.dtbo-overlays-to-be-built-piecemeal.patch
target/linux/bcm27xx/patches-5.4/950-0435-arm64-rename-variables-used-to-calculate-ZONE_DMA32-.patch
target/linux/bcm27xx/patches-5.4/950-0436-arm64-use-both-ZONE_DMA-and-ZONE_DMA32.patch
target/linux/bcm27xx/patches-5.4/950-0439-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch
target/linux/bcm27xx/patches-5.4/950-0454-Kbuild-Allow-.dtbo-overlays-to-be-built-adjust.patch
target/linux/bcm27xx/patches-5.4/950-0625-arm64-mm-reserve-CMA-and-crashkernel-in-ZONE_DMA32.patch
target/linux/bcm27xx/patches-5.4/950-0993-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
target/linux/generic/backport-5.4/737-v5.5-net-phy-add-core-phylib-sfp-support.patch
target/linux/layerscape/patches-5.4/303-core-0009-arm64-move-elfcorehdr-reservation-early-for-crash-du.patch
target/linux/layerscape/patches-5.4/701-net-0225-enetc-Configure-the-Time-Aware-Scheduler-via-tc-tapr.patch
target/linux/layerscape/patches-5.4/701-net-0226-enetc-update-TSN-Qbv-PSPEED-set-according-to-adjust-.patch
target/linux/layerscape/patches-5.4/701-net-0229-enetc-Initialize-SerDes-for-SGMII-and-SXGMII-protoco.patch
target/linux/layerscape/patches-5.4/701-net-0231-enetc-Use-DT-protocol-information-to-set-up-the-port.patch
target/linux/layerscape/patches-5.4/701-net-0232-enetc-Handle-USXGMII-protocol.patch
target/linux/layerscape/patches-5.4/701-net-0234-enetc-WA-for-MDIO-register-access-issue.patch
target/linux/layerscape/patches-5.4/701-net-0236-enetc-Replace-enetc_gregs-with-a-readers-writer-lock.patch
target/linux/layerscape/patches-5.4/701-net-0237-enetc-Remove-mdio-bus-on-PF-probe-error-path.patch
target/linux/layerscape/patches-5.4/701-net-0336-enetc-add-support-Credit-Based-Shaper-CBS-for-hardwa.patch
target/linux/layerscape/patches-5.4/701-net-0337-enetc-add-support-tsn-capabilities-qbv-qci-qbu-cbs.patch
target/linux/layerscape/patches-5.4/701-net-0342-LF-376-enetc-disable-EEE-autoneg-by-default.patch
target/linux/layerscape/patches-5.4/701-net-0382-enetc-Make-MDIO-accessors-more-generic-and-export-to.patch
target/linux/layerscape/patches-5.4/701-net-0398-enetc-add-ioctl-support-for-PHY-related-ops.patch
target/linux/layerscape/patches-5.4/802-can-0007-can-flexcan-use-devm_platform_ioremap_resource-to-si.patch
target/linux/layerscape/patches-5.4/802-can-0009-can-flexcan-rename-macro-FLEXCAN_IFLAG_MB-FLEXCAN_IF.patch
target/linux/layerscape/patches-5.4/802-can-0011-can-flexcan-rename-struct-flexcan_priv-reg_imask-1-2.patch
target/linux/layerscape/patches-5.4/802-can-0012-can-flexcan-remove-TX-mailbox-bit-from-struct-flexca.patch
target/linux/layerscape/patches-5.4/802-can-0013-can-flexcan-convert-struct-flexcan_priv-rx_mask-1-2-.patch
target/linux/layerscape/patches-5.4/802-can-0014-can-flexcan-introduce-struct-flexcan_priv-tx_mask-an.patch
target/linux/layerscape/patches-5.4/802-can-0019-can-flexcan-add-CAN-FD-mode-support.patch
target/linux/layerscape/patches-5.4/802-can-0021-can-flexcan-add-ISO-CAN-FD-feature-support.patch
target/linux/layerscape/patches-5.4/802-can-0022-can-flexcan-add-Transceiver-Delay-Compensation-suopp.patch
target/linux/layerscape/patches-5.4/802-can-0023-can-flexcan-add-imx8qm-support.patch
target/linux/layerscape/patches-5.4/802-can-0024-can-flexcan-add-lx2160ar1-support.patch
target/linux/layerscape/patches-5.4/802-can-0025-can-flexcan-add-LPSR-mode-support-for-i.MX7D.patch
target/linux/layerscape/patches-5.4/802-can-0027-can-flexcan-add-CAN-wakeup-function-for-i.MX8.patch
target/linux/layerscape/patches-5.4/802-can-0028-can-flexcan-Add-S32V234-support-to-FlexCAN-driver.patch
target/linux/layerscape/patches-5.4/811-kvm-0002-arm-arm64-KVM-allow-specifying-s2-prot-bits-when-map.patch
target/linux/layerscape/patches-5.4/811-kvm-0003-arm-arm64-KVM-drop-qman-mmio-cacheable-mapping-hack.patch
target/linux/layerscape/patches-5.4/820-usb-0015-MLK-17380-4-usb-host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch
target/linux/layerscape/patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch
target/linux/layerscape/patches-5.4/820-usb-0018-MLK-18794-1-usb-host-xhci-add-.bus_suspend-override.patch
target/linux/mediatek/patches-5.4/0601-net-dsa-propagate-resolved-link-config-via-mac_link_.patch
target/linux/mediatek/patches-5.4/0602-net-dsa-mt7530-use-resolved-link-config-in-mac_link_.patch
target/linux/mediatek/patches-5.4/0603-net-dsa-mt7530-Extend-device-data-ready-for-adding-a.patch
target/linux/mediatek/patches-5.4/0604-net-dsa-mt7530-Add-the-support-of-MT7531-switch.patch
target/linux/ramips/patches-5.4/990-NET-no-auto-carrier-off-support.patch

index 72c2fdc9a3066c5aab5fcc8a7757310c84d61398..b5762dd83117675dd0abfaf5d6932362c215d810 100644 (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))))
index cba8062f5520347dc6e5cf191c17ac7b0dbaad0d..dbed597973e91cfeaef1c7139e4b1121fd584db2 100644 (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);
  
index 40d731b8e68a892dc8af13cc26f6e54bf5b9cc87..9d474f2d6237a7ce4e5ca23b0e6c5cbddf7adc5a 100644 (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 */
index b2a8279da2b11386810d096b03d8c5656c1b7b19..83a2341e1b1ff9e78050e3263f7a9e9a147d94c8 100644 (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;
  
index 5c241536dd7f28bb927553811d7ff297b1e4d222..f6eac15a53dd1344ec993ef2c97f27cba3e1590b 100644 (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,
index a125fdcb475a49d8bc803857030fbeec3db5ff67..db69423d33e90aad41a7bf0cd93f476356426e48 100644 (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)
index d36f3eb80275bea1c27643856505f97ea3b17765..0fb5c12ac34031b28cb90cd69c6e43e077d48846 100644 (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)/$@
  
index df184f53eee023b82804e4aa605a8656b851e5bd..18ed0f50ecfde95a8336e638f7908b76658c9b92 100644 (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 ||
index ccb2071f17c414d5f442eb87e85d99f8c2b29f83..92123ceb32fa1972b47a94eafff328accbbf599f 100644 (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 ||
index ab04d64b72d473722d74f37c7f364764576e7fe0..127d4c51d9b8f9b0865e45506b0f26c836edb8da 100644 (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();
  
index b1cd7bffbeade2c3a1e4b727f73d9842bf0c65dd..a33cfe7142804e371eed776b78993b8c1917e624 100644 (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)/$@
  
index e1a340ec9135eb6f86b9e523d7a7ca80418e1fbe..ad42f11e53606c7a18de080821343b4952f25838 100644 (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;
  
index 3c89f1348fed6c37bfa3662fb1fe3ee33897cdc6..12804bae7565cff1e680e5be00df4325d70138a9 100644 (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;
index c160c6bf17fd2c8aabc6c79821a9844bf51491e8..483a9c0c750036d39f2953468889c8d88ef4277d 100644 (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)
index ecb70a9904ac20578a845425a416d9e9ddd95847..b9755e8943a8d00522ccbff7c15998cdfd189d6c 100644 (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;
  
index d41b160369b45b0b770a3e778c1a1190b10ac8d0..d7149712adc1adc91243f7d7cc2a297cac962ffa 100644 (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();
  
index cba297efc1d9023c3fdd6fde6629598a3373d7c8..596309f706c4922b4703111dc3ae77749697dc25 100644 (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);
index 4e19ed3bcf0283c25ae090142e12c09e88220119..e8224328f1640060ef1d0b28e72d3930bd3a20a3 100644 (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);
index 5458141e9f66472c3fe3db6f095285786812e860..a7e8c6860e2bdb448368a9c25ab44d57ce55244d 100644 (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");
  
index 0e9a659f09a59f4a806b1cfcede8f061118c508b..8c3ea7fbbe146981ed21f1453c8101f993363ae4 100644 (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);
index 214d088113b01982f814275150c66700324b11d7..8d4db97a266003f8c730d0a855cd18aaa8243f95 100644 (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);
  
index 6c3c525d5f37147da07ac07d13041870b20b4005..73dbdc752a91b98ed48e45a9a545063f58c2820a 100644 (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);
  }
  
index 262e87306a15ab9a9d27a453115f0b24a14fc4f7..cb164d4ffb18f3d2b86c4c8e952595ab3c353f6f 100644 (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);
  }
  
index 0fa2d0e6e93afd6641c196a64f4014c614eddb07..064621eaeace8f354b95b8e72273dae52da2f4a9 100644 (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);
index 2a85f5c8c35e7982b6482adb18aef2ac33df803d..5acfeb9f97646192271a9f5d1f86e7fcb765f2fe 100644 (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);
index 2e264aba089e0b2031eb0fb50eafab982ae89701..dddb32a55cdeded688b0d6819746d1deb6d222bd 100644 (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);
  
index 18b4d77dc9887cbd605d9b90ff138d32c0f8e024..8593363fb3530f2292c02f2cb6655202b4f98afb 100644 (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);
  
index 77dbc06e2567e13d6830d3371a46254dbcc48819..c11f1a72edcf4df045208cdf7b7f44002fd1513a 100644 (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);
  }
  
index bb3f926201ca26d7e64feac54d236e5bdaf5829f..c9660e3d3ca7fcd10c5547955c9b4508d54bfa16 100644 (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
index e1089fd41da9ce22503e9c89553a4c60c2e7ae34..cb0526c62c9f6e17d61b72046a4cafc97a387b2f 100644 (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);
        }
  
index d867ef561e15a00d7f62e5f91ddc5bbfecde2a73..bd8db81f36eccc306fe00c1860538f0c20887e92 100644 (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;
index fcecbbd7a5adb9245c607b847bf8551511eb16ae..dc676ba918e32fa0af5715dec04f034758870bcc 100644 (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);
index a9bef56ea06e6a4fa741000c4f7179e347be246f..84a0b73bb6d361b5800cac1499f4e0de434b11bb 100644 (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);
index 348d564de576eadf07824c8f431314213976b42c..4822f9560737ef38e5aa337b5d5113924ed403bd 100644 (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) {
index 49314e350615e84b027abc587ceed302aabdf5f7..0b1bbf880ecd86a5f69ffab82a5c81876d8fc178 100644 (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);
index 1b0c2115cc2418e6049849515c05e61adbc43169..d8b9b1e5d696524477474e142498da2be8d93f89 100644 (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;
  
index 5357b57893f479dcfa1626a5a37f03bc572d5cec..3ff0d65d11d9e36639b3cfa58af051be47738a50 100644 (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) {
index 0b3a1bc9b6344fcf8d5a500b7ae355795bb05035..7efa29e1d00978231d7806c2f3528569d394c5cb 100644 (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;
index a82162f5c4b1edc3667125ed7142e046d94310d5..aacf2782e0aeb7778b4b21fc8f738db5bc001d3b 100644 (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[] = {
index 3cccea3c9424ec1d093c7bb8f55211e3f7a732fb..1fc212d1b7dfe2aa6af8041e5662762aea77aa41 100644 (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, },
index bc0d8b3aef344cd23dbc5af9b45f8faf47795e7f..85164096f35bf2f6a090c5c9d71f59b71fbcdd26 100644 (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 {
index 185ea9f21bd00065f0e401ed34a01566fd9c7afd..c3c43394ff31cd184631ca517adf172d3e1fbfd0 100644 (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) {
index e43b5365a647e5a92fea16d88c9b4520e92cac2e..657082caec009e860469c76e7972012ba0ce9467 100644 (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, },
index 0a2ca6465ac2af273ac4875c854127f8857434e0..bdc8725399a8bc3e10e5106f95eed4118562b2b7 100644 (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,
index 91f48a78bcb8c0fc42d6e6e2b6159df4fb9bea3f..1b36b61e6200d33e77a22ac873c2cfb8f6adf5e2 100644 (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;
                        }
  
index 8ec95a98550e355bb26f4e3ebf4a83fcd6fa6f7e..0334e72d9e55bed9034eaa5d7ee228fdf49de453 100644 (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);
index 6eb43e961e94ce91a02994d7ed7e46d5cd362e79..40d63994397745133127d37c459ecd5dd0ae5e83 100644 (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)
index daef61c4d692d25df9b1d1e861a837632f977210..2f1d183853978cd01dbcb8acd87163137cf70ed4 100644 (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 *);
index d203c754600c29e9a8dbabfd8eb27d8b4faf3a97..87459ea6a233ef16f06ad74ab72ceb3a70f63584 100644 (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,
index ae153847dcee92c552e47915c0e65b30bc833caf..de5b2607783150730cdc9a781f47134f4dc86d07 100644 (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;
index b86c5b8283218eb5a3c363947b46e6a4462ba86d..04189e8e313a92fa9d99b8ee6202923d86b95bd2 100644 (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.
         */
index 1e6126eb7f37250cd199c84764fd3c9532255791..9333f03aaf9c0ef1bebe0f53a6cef4f8687e3276 100644 (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,
        },
index a31d1ac3a6ca3db784ab66e29a3db3cb05b8b006..c19cfd322da402c44297f109756248c98e54cfd2 100644 (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;