]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
kernel: bump 6.12 to 6.12.67 21687/head
authorJohn Audia <therealgraysky@proton.me>
Fri, 23 Jan 2026 21:22:18 +0000 (16:22 -0500)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 25 Jan 2026 15:02:03 +0000 (16:02 +0100)
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.67

Manually rebased:
  rockchip/patches-6.12/160-01-phy-rockchip-inno-usb2-Simplify-rockchip-usbgrf-handling.patch

Build system: x86/64
Build-tested: flogic/glinet_gl-mt6000
Run-tested: flogic/glinet_gl-mt6000

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21629
(cherry picked from commit 2228b7048c2c0dad0a011f3eba116cade84a6b95)
Link: https://github.com/openwrt/openwrt/pull/21687
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
18 files changed:
target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
target/linux/bcm27xx/patches-6.12/950-0231-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch
target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch
target/linux/bcm27xx/patches-6.12/950-0348-usb-dwc3-Set-DMA-and-coherent-masks-early.patch
target/linux/bcm27xx/patches-6.12/950-0413-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch
target/linux/bcm27xx/patches-6.12/950-0519-numa-emulation-Check-emulated-zones-around-the-CMA-w.patch
target/linux/bcm27xx/patches-6.12/950-0524-usb-dwc3-core-add-support-for-setting-NAK-enhancemen.patch
target/linux/bcm27xx/patches-6.12/950-0685-nvme-pci-Disable-Host-Memory-Buffer-usage.patch
target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch
target/linux/generic/hack-6.12/902-debloat_proc.patch
target/linux/generic/kernel-6.12
target/linux/generic/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch
target/linux/rockchip/patches-6.12/036-01-v6.13-phy-phy-rockchip-inno-usb2-Handle-failed-extcon-allocatio.patch
target/linux/rockchip/patches-6.12/036-02-v6.13-phy-rockchip-inno-usb2-convert-clock-management-to-bulk.patch
target/linux/rockchip/patches-6.12/036-03-v6.13-phy-rockchip-inno-usb2-Add-usb2-phys-support-for-rk3576.patch
target/linux/rockchip/patches-6.12/160-01-phy-rockchip-inno-usb2-Simplify-rockchip-usbgrf-handling.patch
target/linux/rockchip/patches-6.12/160-02-phy-rockchip-inno-usb2-Add-clkout_ctl_phy-support.patch
target/linux/rockchip/patches-6.12/160-03-phy-rockchip-inno-usb2-Add-support-for-RK3528.patch

index 875dfdeca6bb2ca2365cbf5b7c241a3a48aace8a..32e5eab786c48014153af50ae0bce08877091336 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
  module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644);
  MODULE_PARM_DESC(mousepoll, "Polling interval of mice");
  
-@@ -1117,7 +1117,9 @@ static int usbhid_start(struct hid_devic
+@@ -1132,7 +1132,9 @@ static int usbhid_start(struct hid_devic
                 */
                switch (hid->collection->usage) {
                case HID_GD_MOUSE:
@@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
                                interval = hid_mousepoll_interval;
                        break;
                case HID_GD_JOYSTICK:
-@@ -1129,6 +1131,7 @@ static int usbhid_start(struct hid_devic
+@@ -1144,6 +1146,7 @@ static int usbhid_start(struct hid_devic
                                interval = hid_kbpoll_interval;
                        break;
                }
index 7145016cc43d99c59f49e7df57ea72223e144704..c94cc727668cf295c969926ecd8daf25281383f4 100644 (file)
@@ -315,7 +315,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
        ddc = of_parse_phandle(dev->of_node, "ddc-i2c-bus", 0);
        if (ddc) {
                panel->ddc = of_find_i2c_adapter_by_node(ddc);
-@@ -2263,6 +2244,32 @@ static const struct panel_desc friendlya
+@@ -2264,6 +2245,32 @@ static const struct panel_desc friendlya
        },
  };
  
@@ -348,7 +348,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
  static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
        .clock = 9000,
        .hdisplay = 480,
-@@ -2443,6 +2450,38 @@ static const struct panel_desc innolux_a
+@@ -2444,6 +2451,38 @@ static const struct panel_desc innolux_a
        .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
  };
  
@@ -387,7 +387,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
  static const struct drm_display_mode innolux_at070tn92_mode = {
        .clock = 33333,
        .hdisplay = 800,
-@@ -3856,6 +3895,31 @@ static const struct panel_desc rocktech_
+@@ -3857,6 +3896,31 @@ static const struct panel_desc rocktech_
        .connector_type = DRM_MODE_CONNECTOR_DPI,
  };
  
@@ -419,7 +419,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
  static const struct display_timing rocktech_rk070er9427_timing = {
        .pixelclock = { 26400000, 33300000, 46800000 },
        .hactive = { 800, 800, 800 },
-@@ -4800,6 +4864,9 @@ static const struct of_device_id platfor
+@@ -4801,6 +4865,9 @@ static const struct of_device_id platfor
                .compatible = "friendlyarm,hd702e",
                .data = &friendlyarm_hd702e,
        }, {
@@ -429,7 +429,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
                .compatible = "giantplus,gpg482739qs5",
                .data = &giantplus_gpg482739qs5
        }, {
-@@ -4821,6 +4888,9 @@ static const struct of_device_id platfor
+@@ -4822,6 +4889,9 @@ static const struct of_device_id platfor
                .compatible = "innolux,at043tn24",
                .data = &innolux_at043tn24,
        }, {
@@ -439,7 +439,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
                .compatible = "innolux,at070tn92",
                .data = &innolux_at070tn92,
        }, {
-@@ -4980,6 +5050,9 @@ static const struct of_device_id platfor
+@@ -4981,6 +5051,9 @@ static const struct of_device_id platfor
                .compatible = "rocktech,rk043fn48h",
                .data = &rocktech_rk043fn48h,
        }, {
@@ -449,7 +449,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
                .compatible = "rocktech,rk070er9427",
                .data = &rocktech_rk070er9427,
        }, {
-@@ -5336,6 +5409,9 @@ static const struct panel_desc_dsi osd10
+@@ -5337,6 +5410,9 @@ static const struct panel_desc_dsi osd10
        .lanes = 4,
  };
  
@@ -459,7 +459,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
  static const struct of_device_id dsi_of_match[] = {
        {
                .compatible = "auo,b080uan01",
-@@ -5359,20 +5435,137 @@ static const struct of_device_id dsi_of_
+@@ -5360,20 +5436,137 @@ static const struct of_device_id dsi_of_
                .compatible = "osddisplays,osd101t2045-53ts",
                .data = &osd101t2045_53ts
        }, {
index 2c1cb09a6dc32460ae591e9dff6f22b8741db5c2..4fc8d93545326ff9600631dfb71c24ac4319728c 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
 
 --- a/mm/page_alloc.c
 +++ b/mm/page_alloc.c
-@@ -207,6 +207,27 @@ EXPORT_SYMBOL(node_states);
+@@ -234,6 +234,27 @@ EXPORT_SYMBOL(node_states);
  
  gfp_t gfp_allowed_mask __read_mostly = GFP_BOOT_MASK;
  
@@ -48,7 +48,7 @@ Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
  #ifdef CONFIG_HUGETLB_PAGE_SIZE_VARIABLE
  unsigned int pageblock_order __read_mostly;
  #endif
-@@ -2265,12 +2286,13 @@ __rmqueue(struct zone *zone, unsigned in
+@@ -2292,12 +2313,13 @@ __rmqueue(struct zone *zone, unsigned in
        if (IS_ENABLED(CONFIG_CMA)) {
                /*
                 * Balance movable allocations between regular and CMA areas by
index d93a73f7f61216dc9c82d811dad1e8f2c73d8485..936a3249a44c6afd37de90541dc922069e6fcc76 100644 (file)
@@ -212,7 +212,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        },
 --- a/drivers/usb/dwc3/core.c
 +++ b/drivers/usb/dwc3/core.c
-@@ -1320,6 +1320,24 @@ static void dwc3_config_threshold(struct
+@@ -1322,6 +1322,24 @@ static void dwc3_config_threshold(struct
        }
  }
  
@@ -237,7 +237,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  /**
   * dwc3_core_init - Low-level initialization of DWC3 Core
   * @dwc: Pointer to our controller context structure
-@@ -1387,6 +1405,8 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1389,6 +1407,8 @@ static int dwc3_core_init(struct dwc3 *d
  
        dwc3_config_soc_bus(dwc);
  
@@ -246,7 +246,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        ret = dwc3_phy_power_on(dwc);
        if (ret)
                goto err_exit_phy;
-@@ -1491,6 +1511,24 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1493,6 +1513,24 @@ static int dwc3_core_init(struct dwc3 *d
                dwc3_writel(dwc->regs, DWC3_LLUCTL, reg);
        }
  
@@ -271,7 +271,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        return 0;
  
  err_power_off_phy:
-@@ -1676,6 +1714,7 @@ static void dwc3_get_properties(struct d
+@@ -1678,6 +1716,7 @@ static void dwc3_get_properties(struct d
        u8                      tx_thr_num_pkt_prd = 0;
        u8                      tx_max_burst_prd = 0;
        u8                      tx_fifo_resize_max_num;
@@ -279,7 +279,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  
        /* default to highest possible threshold */
        lpm_nyet_threshold = 0xf;
-@@ -1696,6 +1735,9 @@ static void dwc3_get_properties(struct d
+@@ -1698,6 +1737,9 @@ static void dwc3_get_properties(struct d
         */
        tx_fifo_resize_max_num = 6;
  
@@ -289,7 +289,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        dwc->maximum_speed = usb_get_maximum_speed(dev);
        dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev);
        dwc->dr_mode = usb_get_dr_mode(dev);
-@@ -1810,6 +1852,9 @@ static void dwc3_get_properties(struct d
+@@ -1812,6 +1854,9 @@ static void dwc3_get_properties(struct d
        dwc->dis_split_quirk = device_property_read_bool(dev,
                                "snps,dis-split-quirk");
  
@@ -299,7 +299,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        dwc->lpm_nyet_threshold = lpm_nyet_threshold;
        dwc->tx_de_emphasis = tx_de_emphasis;
  
-@@ -1827,6 +1872,8 @@ static void dwc3_get_properties(struct d
+@@ -1829,6 +1874,8 @@ static void dwc3_get_properties(struct d
        dwc->tx_thr_num_pkt_prd = tx_thr_num_pkt_prd;
        dwc->tx_max_burst_prd = tx_max_burst_prd;
  
@@ -308,7 +308,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num;
  }
  
-@@ -2185,6 +2232,12 @@ static int dwc3_probe(struct platform_de
+@@ -2187,6 +2234,12 @@ static int dwc3_probe(struct platform_de
        if (IS_ERR(dwc->usb_psy))
                return dev_err_probe(dev, PTR_ERR(dwc->usb_psy), "couldn't get usb power supply\n");
  
@@ -341,7 +341,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
   * @hsphy_interface: "utmi" or "ulpi"
   * @connected: true when we're connected to a host, false otherwise
   * @softconnect: true when gadget connect is called, false when disconnect runs
-@@ -1337,6 +1341,7 @@ struct dwc3 {
+@@ -1338,6 +1342,7 @@ struct dwc3 {
        u8                      tx_max_burst_prd;
        u8                      tx_fifo_resize_max_num;
        u8                      clear_stall_protocol;
index f8e80fc4d0bcff6f209942c23593102987387184..f3247b6e05d02fb1ac15400cc33966ec60c678f1 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
 
 --- a/drivers/usb/dwc3/core.c
 +++ b/drivers/usb/dwc3/core.c
-@@ -1486,6 +1486,9 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1488,6 +1488,9 @@ static int dwc3_core_init(struct dwc3 *d
                if (dwc->parkmode_disable_hs_quirk)
                        reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS;
  
@@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
                if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY)) {
                        if (dwc->maximum_speed == USB_SPEED_FULL ||
                            dwc->maximum_speed == USB_SPEED_HIGH)
-@@ -1832,6 +1835,8 @@ static void dwc3_get_properties(struct d
+@@ -1834,6 +1837,8 @@ static void dwc3_get_properties(struct d
                                "snps,parkmode-disable-ss-quirk");
        dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev,
                                "snps,parkmode-disable-hs-quirk");
@@ -62,7 +62,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
   * @gfladj_refclk_lpm_sel: set if we need to enable SOF/ITP counter
   *                          running based on ref_clk
   * @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
-@@ -1385,6 +1388,7 @@ struct dwc3 {
+@@ -1386,6 +1389,7 @@ struct dwc3 {
        unsigned                ulpi_ext_vbus_drv:1;
        unsigned                parkmode_disable_ss_quirk:1;
        unsigned                parkmode_disable_hs_quirk:1;
index b7cd28f44ce0edc75aa6c1fb0d4b5493f61062ac..30fde17d908ee65102d65d770b48f6bbe537780d 100644 (file)
@@ -84,9 +84,9 @@ Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
  #include <linux/numa_memblks.h>
 +#include <linux/cma.h>
  #include <asm/numa.h>
+ #include <acpi/acpi_numa.h>
  
- #define FAKE_NODE_MIN_SIZE    ((u64)32 << 20)
-@@ -51,6 +52,7 @@ static int __init emu_setup_memblk(struc
+@@ -52,6 +53,7 @@ static int __init emu_setup_memblk(struc
  {
        struct numa_memblk *eb = &ei->blk[ei->nr_blks];
        struct numa_memblk *pb = &pi->blk[phys_blk];
@@ -94,7 +94,7 @@ Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
  
        if (ei->nr_blks >= NR_NODE_MEMBLKS) {
                pr_err("NUMA: Too many emulated memblks, failing emulation\n");
-@@ -62,6 +64,10 @@ static int __init emu_setup_memblk(struc
+@@ -63,6 +65,10 @@ static int __init emu_setup_memblk(struc
        eb->end = pb->start + size;
        eb->nid = nid;
  
index 92cb7e948156e919c732dc5ad018c1e75cee913c..2a61d97e14683ddc050da6c88dd7ee6fe9f3df89 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
 
 --- a/drivers/usb/dwc3/core.c
 +++ b/drivers/usb/dwc3/core.c
-@@ -1480,6 +1480,12 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1482,6 +1482,12 @@ static int dwc3_core_init(struct dwc3 *d
                if (dwc->dis_tx_ipgap_linecheck_quirk)
                        reg |= DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS;
  
@@ -35,7 +35,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
                if (dwc->parkmode_disable_ss_quirk)
                        reg |= DWC3_GUCTL1_PARKMODE_DISABLE_SS;
  
-@@ -1831,6 +1837,10 @@ static void dwc3_get_properties(struct d
+@@ -1833,6 +1839,10 @@ static void dwc3_get_properties(struct d
                                "snps,resume-hs-terminations");
        dwc->ulpi_ext_vbus_drv = device_property_read_bool(dev,
                                "snps,ulpi-ext-vbus-drv");
@@ -66,7 +66,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
   * @parkmode_disable_ss_quirk: If set, disable park mode feature for all
   *                    Superspeed instances.
   * @parkmode_disable_hs_quirk: If set, disable park mode feature for all
-@@ -1386,6 +1390,8 @@ struct dwc3 {
+@@ -1387,6 +1391,8 @@ struct dwc3 {
        unsigned                dis_tx_ipgap_linecheck_quirk:1;
        unsigned                resume_hs_terminations:1;
        unsigned                ulpi_ext_vbus_drv:1;
index a299c6c57e5546789d784caa6ceea10cd7f05ae4..ec963fd3e733f8eab13ad569e6a667e52a246b33 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/drivers/nvme/host/pci.c
 +++ b/drivers/nvme/host/pci.c
-@@ -2106,6 +2106,7 @@ static void nvme_free_host_mem(struct nv
+@@ -2109,6 +2109,7 @@ static void nvme_free_host_mem(struct nv
        dev->nr_host_mem_descs = 0;
  }
  
@@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
  static int __nvme_alloc_host_mem(struct nvme_dev *dev, u64 preferred,
                u32 chunk_size)
  {
-@@ -2174,9 +2175,11 @@ out:
+@@ -2177,9 +2178,11 @@ out:
        dev->host_mem_descs = NULL;
        return -ENOMEM;
  }
@@ -38,7 +38,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
        u64 min_chunk = min_t(u64, preferred, PAGE_SIZE * MAX_ORDER_NR_PAGES);
        u64 hmminds = max_t(u32, dev->ctrl.hmminds * 4096, PAGE_SIZE * 2);
        u64 chunk_size;
-@@ -2189,6 +2192,7 @@ static int nvme_alloc_host_mem(struct nv
+@@ -2192,6 +2195,7 @@ static int nvme_alloc_host_mem(struct nv
                        nvme_free_host_mem(dev);
                }
        }
index 842c9b0d306d38fc0780cc11ad70cec3b7dc1919..599713bc23dbe78fab7277bbfe958cd669d353a9 100644 (file)
@@ -97,7 +97,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        help
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -3658,6 +3658,11 @@ static int xmit_one(struct sk_buff *skb,
+@@ -3671,6 +3671,11 @@ static int xmit_one(struct sk_buff *skb,
        if (dev_nit_active(dev))
                dev_queue_xmit_nit(skb, dev);
  
index 045e1a5f0e6ef9070f4b84cfb7ae1d63603f39fc..06b45a1a7124409dbcfe11f2bae935157efff6ef 100644 (file)
@@ -247,7 +247,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  }
 --- a/mm/vmstat.c
 +++ b/mm/vmstat.c
-@@ -2195,10 +2195,12 @@ void __init init_mm_internals(void)
+@@ -2197,10 +2197,12 @@ void __init init_mm_internals(void)
        start_shepherd_timer();
  #endif
  #ifdef CONFIG_PROC_FS
index c786e6ed44cb66f8245126542671360a06363537..2f31adbfb26673f6d50aedf006268e389a302cfd 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.12 = .66
-LINUX_KERNEL_HASH-6.12.66 = ba3897a1c060b05a03cb4dda6f20d8c75e6f73c88b217744823a915056536eaf
+LINUX_VERSION-6.12 = .67
+LINUX_KERNEL_HASH-6.12.67 = 16805dc62e1fa5ef8a3f466f3f44a2efb171b5206d6840ced4ba5475cf12c432
index 4cc0b3ed24f98de34051a13307373f7f194ef9ab..fdfacd8dee979f649c659aad22f1e535df032b0b 100644 (file)
@@ -35,7 +35,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                | NETIF_F_HW_CSUM
 --- a/drivers/net/macvlan.c
 +++ b/drivers/net/macvlan.c
-@@ -897,7 +897,7 @@ static int macvlan_hwtstamp_set(struct n
+@@ -903,7 +903,7 @@ static int macvlan_hwtstamp_set(struct n
  static struct lock_class_key macvlan_netdev_addr_lock_key;
  
  #define ALWAYS_ON_OFFLOADS \
index c058600752d919df109536f79c5ba23ff0290a18..e8a36919b4830f4d8161e5ea852657b1e2066e80 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
 
 --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
 +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
-@@ -435,7 +435,8 @@ static int rockchip_usb2phy_extcon_regis
+@@ -433,7 +433,8 @@ static int rockchip_usb2phy_extcon_regis
                                                rockchip_usb2phy_extcon_cable);
  
                if (IS_ERR(edev))
@@ -28,4 +28,4 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
 +                                           "failed to allocate extcon device\n");
  
                ret = devm_extcon_dev_register(rphy->dev, edev);
-               if (ret) {
+               if (ret)
index 7e4fa9b0bf45881576d08a05ac0882927e24800f..e04e6bb878740cef02e99b98c209408b6c9c0842 100644 (file)
@@ -83,7 +83,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
                init.parent_names = &clk_name;
                init.num_parents = 1;
        } else {
-@@ -1407,11 +1425,13 @@ static int rockchip_usb2phy_probe(struct
+@@ -1408,16 +1426,26 @@ static int rockchip_usb2phy_probe(struct
        if (IS_ERR(rphy->phy_reset))
                return PTR_ERR(rphy->phy_reset);
  
@@ -101,10 +101,8 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
 +      rphy->num_clks = ret < 0 ? 0 : ret;
  
        ret = rockchip_usb2phy_clk480m_register(rphy);
-       if (ret) {
-@@ -1419,6 +1439,14 @@ static int rockchip_usb2phy_probe(struct
-               return ret;
-       }
+       if (ret)
+               return dev_err_probe(dev, ret, "failed to register 480m output clock\n");
  
 +      ret = clk_bulk_prepare_enable(rphy->num_clks, rphy->clks);
 +      if (ret)
index d44ab4abbed9713f9a73ce1119fc159a3cd80a19..56046f9ab23b3aae48e2b18b6ade1546e29e7d44 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
 
 --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
 +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
-@@ -1524,6 +1524,30 @@ static int rk3128_usb2phy_tuning(struct
+@@ -1521,6 +1521,30 @@ static int rk3128_usb2phy_tuning(struct
                                BIT(2) << BIT_WRITEABLE_SHIFT | 0);
  }
  
@@ -48,7 +48,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
  static int rk3588_usb2phy_tuning(struct rockchip_usb2phy *rphy)
  {
        int ret;
-@@ -1952,6 +1976,84 @@ static const struct rockchip_usb2phy_cfg
+@@ -1949,6 +1973,84 @@ static const struct rockchip_usb2phy_cfg
        { /* sentinel */ }
  };
  
@@ -133,7 +133,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
  static const struct rockchip_usb2phy_cfg rk3588_phy_cfgs[] = {
        {
                .reg = 0x0000,
-@@ -2123,6 +2225,7 @@ static const struct of_device_id rockchi
+@@ -2120,6 +2222,7 @@ static const struct of_device_id rockchi
        { .compatible = "rockchip,rk3366-usb2phy", .data = &rk3366_phy_cfgs },
        { .compatible = "rockchip,rk3399-usb2phy", .data = &rk3399_phy_cfgs },
        { .compatible = "rockchip,rk3568-usb2phy", .data = &rk3568_phy_cfgs },
index 98d0b2c3262230d88a6d338600827f4abad6e971..6054edeeefe2bc53889f20815bd89a30a19c8ac0 100644 (file)
@@ -86,7 +86,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
  }
  
  static unsigned long
-@@ -577,7 +567,6 @@ static int rockchip_usb2phy_power_on(str
+@@ -574,7 +564,6 @@ static int rockchip_usb2phy_power_on(str
  {
        struct rockchip_usb2phy_port *rport = phy_get_drvdata(phy);
        struct rockchip_usb2phy *rphy = dev_get_drvdata(phy->dev.parent);
@@ -94,7 +94,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
        int ret;
  
        dev_dbg(&rport->phy->dev, "port power on\n");
-@@ -589,7 +578,7 @@ static int rockchip_usb2phy_power_on(str
+@@ -586,7 +575,7 @@ static int rockchip_usb2phy_power_on(str
        if (ret)
                return ret;
  
@@ -103,7 +103,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
        if (ret) {
                clk_disable_unprepare(rphy->clk480m);
                return ret;
-@@ -618,7 +607,6 @@ static int rockchip_usb2phy_power_off(st
+@@ -615,7 +604,6 @@ static int rockchip_usb2phy_power_off(st
  {
        struct rockchip_usb2phy_port *rport = phy_get_drvdata(phy);
        struct rockchip_usb2phy *rphy = dev_get_drvdata(phy->dev.parent);
@@ -111,7 +111,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
        int ret;
  
        dev_dbg(&rport->phy->dev, "port power off\n");
-@@ -626,7 +614,7 @@ static int rockchip_usb2phy_power_off(st
+@@ -623,7 +611,7 @@ static int rockchip_usb2phy_power_off(st
        if (rport->suspended)
                return 0;
  
@@ -120,7 +120,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
        if (ret)
                return ret;
  
-@@ -790,28 +778,22 @@ static const char *chg_to_string(enum po
+@@ -787,28 +775,22 @@ static const char *chg_to_string(enum po
  static void rockchip_chg_enable_dcd(struct rockchip_usb2phy *rphy,
                                    bool en)
  {
@@ -155,33 +155,33 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
  }
  
  #define CHG_DCD_POLL_TIME     (100 * HZ / 1000)
-@@ -823,7 +805,6 @@ static void rockchip_chg_detect_work(str
+@@ -820,7 +802,6 @@ static void rockchip_chg_detect_work(str
        struct rockchip_usb2phy_port *rport =
                container_of(work, struct rockchip_usb2phy_port, chg_work.work);
        struct rockchip_usb2phy *rphy = dev_get_drvdata(rport->phy->dev.parent);
 -      struct regmap *base = get_reg_base(rphy);
-       bool is_dcd, tmout, vout;
+       bool is_dcd, tmout, vout, vbus_attach;
        unsigned long delay;
  
 @@ -834,7 +815,7 @@ static void rockchip_chg_detect_work(str
-               if (!rport->suspended)
                        rockchip_usb2phy_power_off(rport->phy);
                /* put the controller in non-driving mode */
--              property_enable(base, &rphy->phy_cfg->chg_det.opmode, false);
-+              property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, false);
+               if (!vbus_attach)
+-                      property_enable(base, &rphy->phy_cfg->chg_det.opmode, false);
++                      property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, false);
                /* Start DCD processing stage 1 */
                rockchip_chg_enable_dcd(rphy, true);
                rphy->chg_state = USB_CHG_STATE_WAIT_FOR_DCD;
-@@ -897,7 +878,7 @@ static void rockchip_chg_detect_work(str
-               fallthrough;
+@@ -898,7 +879,7 @@ static void rockchip_chg_detect_work(str
        case USB_CHG_STATE_DETECTED:
                /* put the controller in normal mode */
--              property_enable(base, &rphy->phy_cfg->chg_det.opmode, true);
-+              property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, true);
+               if (!vbus_attach)
+-                      property_enable(base, &rphy->phy_cfg->chg_det.opmode, true);
++                      property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, true);
                rockchip_usb2phy_otg_sm_work(&rport->otg_sm_work.work);
                dev_dbg(&rport->phy->dev, "charger = %s\n",
                         chg_to_string(rphy->chg_type));
-@@ -1352,29 +1333,14 @@ static int rockchip_usb2phy_probe(struct
+@@ -1353,29 +1334,14 @@ static int rockchip_usb2phy_probe(struct
        if (!rphy)
                return -ENOMEM;
  
index eeb79f5a2f91c317f8976c970594f7158235c00d..b977ae1130c662ea9279e40eac1a977740aba11a 100644 (file)
@@ -107,7 +107,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
  }
  
  static unsigned long
-@@ -1335,9 +1360,13 @@ static int rockchip_usb2phy_probe(struct
+@@ -1336,9 +1361,13 @@ static int rockchip_usb2phy_probe(struct
  
        if (!dev->parent || !dev->parent->of_node ||
            of_property_present(np, "rockchip,usbgrf")) {
index 1a77cbf75181c4a3a973b862e7b6e03c0b87eaf7..27f3bb09b8145a7b20c5c7d2a40c0a928d0f4eb9 100644 (file)
@@ -28,7 +28,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
 
 --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
 +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
-@@ -1519,6 +1519,28 @@ static int rk3128_usb2phy_tuning(struct
+@@ -1516,6 +1516,28 @@ static int rk3128_usb2phy_tuning(struct
                                BIT(2) << BIT_WRITEABLE_SHIFT | 0);
  }
  
@@ -57,7 +57,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
  static int rk3576_usb2phy_tuning(struct rockchip_usb2phy *rphy)
  {
        int ret;
-@@ -1901,6 +1923,57 @@ static const struct rockchip_usb2phy_cfg
+@@ -1898,6 +1920,57 @@ static const struct rockchip_usb2phy_cfg
        { /* sentinel */ }
  };
  
@@ -115,7 +115,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
  static const struct rockchip_usb2phy_cfg rk3568_phy_cfgs[] = {
        {
                .reg = 0xfe8a0000,
-@@ -2219,6 +2292,7 @@ static const struct of_device_id rockchi
+@@ -2216,6 +2289,7 @@ static const struct of_device_id rockchi
        { .compatible = "rockchip,rk3328-usb2phy", .data = &rk3328_phy_cfgs },
        { .compatible = "rockchip,rk3366-usb2phy", .data = &rk3366_phy_cfgs },
        { .compatible = "rockchip,rk3399-usb2phy", .data = &rk3399_phy_cfgs },