From fd9b9cc78bb0a7749938677729f81433f108d3ca Mon Sep 17 00:00:00 2001 From: Beginner <70857188+Beginner-Go@users.noreply.github.com> Date: Sat, 7 Dec 2024 15:13:57 +0800 Subject: [PATCH 1/2] kernel: refresh `6.6` patches (#13179) --- ...092-MMC-added-alternative-MMC-driver.patch | 6 +- ...r8169-add-support-for-RTL8126A-rev.b.patch | 44 ++--- .../041-block-fit-partition-parser.patch | 4 +- ...-arm64-dts-qcom-ipq5018-add-watchdog.patch | 6 +- ...qcom-scm-document-IPQ5018-compatible.patch | 2 - ...-indicate-that-SDI-shoud-be-disabled.patch | 28 --- ...-phy-qcom-m31-Add-IPQ5018-compatible.patch | 2 - ...ings-usb-dwc3-Add-IPQ5018-compatible.patch | 2 - ...s-qcom-ipq5018-Add-USB-related-nodes.patch | 20 +- ...qcom-ipq5018-add-QUP1-SPI-controller.patch | 14 +- ...k-qcom-a53pll-add-IPQ5018-compatible.patch | 2 - ...apss-ipq-pll-add-support-for-IPQ5018.patch | 6 +- ...m-ipq5018-enable-the-CPUFreq-support.patch | 36 +--- ...add-few-more-reserved-memory-regions.patch | 18 +- ...-dt-bindings-pwm-add-IPQ6018-binding.patch | 3 - ...river-for-qualcomm-ipq6018-pwm-block.patch | 7 - ...-tsens-add-support-for-IPQ5018-tsens.patch | 12 +- ...0154-dts-qcom-IPQ5018-add-tsens-node.patch | 12 +- ...ndings-phy-qcom-document-PCIe-uniphy.patch | 3 - ...-qcom-IPQ5018-add-PCIe-related-nodes.patch | 10 +- ...-ops-for-IPQ5018-to-fix-boot-failure.patch | 2 - ...pss-ipq-pll-fix-PLL-rate-for-IPQ5018.patch | 2 - ...arm64-dts-qcom-IPQ5018-add-TCSR-node.patch | 2 +- ...018-enable-the-download-mode-support.patch | 2 +- ...-arm64-dts-qcom-ipq5018-Add-PWM-node.patch | 2 +- ...64-dts-qcom-ipq5018-Add-crypto-nodes.patch | 2 +- ...arm64-dts-qcom-ipq5018-Add-PRNG-node.patch | 2 +- ...dts-qcom-ipq5018-Add-QUP1-UART2-node.patch | 2 +- ...4-dts-qcom-ipq5018-Add-QUP3-I2C-node.patch | 2 +- ...ndings-Introduce-qcom-spi-qpic-snand.patch | 3 - ...wnand-qcom-cleanup-qcom_nandc-driver.patch | 184 +++++++++--------- ...d-qcom-Add-qcom-prefix-to-common-api.patch | 116 ++++++----- ...04-mtd-nand-Add-qpic_common-API-file.patch | 36 ++-- ...nand-qcom-use-FIELD_PREP-and-GENMASK.patch | 21 +- ...pi-spi-qpic-fixes-compilation-issues.patch | 1 + ...and-qpic-only-support-max-4-bytes-ID.patch | 7 +- ...arm64-dts-qcom-ipq5018-Add-nand-node.patch | 2 +- ...pq5018-Add-more-nand-compatible-for-.patch | 2 +- ...k-qcom-Add-CMN-PLL-clock-controller-.patch | 9 - ...-PLL-clock-controller-driver-for-IPQ.patch | 12 +- ...clk-qcom-cmn-pll-add-IPQ5018-support.patch | 11 +- ...s-qcom-ipq5018-Add-ethernet-cmn-node.patch | 2 +- ...ntroduce-IPQ5018-internal-PHY-driver.patch | 10 - ...arm64-dts-qcom-ipq5018-add-mdio-node.patch | 2 +- ...m64-dts-qcom-ipq5018-add-ge_phy-node.patch | 8 +- ...remove-the-unsupported-clk-combinati.patch | 9 +- ...22-clk-gcc-ipq5018-hack-for-qca-ssdk.patch | 13 +- ...always-enable-SGMII-auto-negotiation.patch | 7 +- ...c-qcom-Add-support-for-multipd-model.patch | 3 - ...m-ipq5332-add-support-to-pass-metada.patch | 11 +- ...m-ipq5332-add-msa-lock-unlock-suppor.patch | 14 +- ...-q6v5-Add-multipd-interrupts-support.patch | 27 +-- ...mpd-split-q6_wcss-to-rootpd-and-user.patch | 47 +++-- ...q6v5_mpd-fix-incorrent-use-of-rproc-.patch | 19 +- .../0812-mdt_loader-support-MPD.patch | 23 +-- ...moteproc-qcom_q6v5_mpd-enable-clocks.patch | 7 +- ...teproc-qcom_q6v5_mpd-support-ipq5018.patch | 21 +- ...64-dts-qcom-ipq5018-add-wifi-support.patch | 2 +- ...arm64-dts-qcom-ipq6018-add-wifi-node.patch | 2 +- ...07-soc-qcom-fix-smp2p-ack-on-ipq6018.patch | 2 +- ...pq6018-assign-QDSS_AT-clock-to-wifi-.patch | 2 +- ...-r8169-add-LED-configuration-from-OF.patch | 6 +- 62 files changed, 338 insertions(+), 558 deletions(-) delete mode 100644 target/linux/qualcommax/patches-6.6/0069-v6.7-arm64-dts-qcom-IPQ5018-indicate-that-SDI-shoud-be-disabled.patch diff --git a/target/linux/bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch b/target/linux/bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch index aebb491f32af30..48baa904039e33 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch @@ -285,7 +285,7 @@ Signed-off-by: Phil Elwell static inline int mmc_blk_part_switch(struct mmc_card *card, unsigned int part_type); static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq, -@@ -3066,6 +3073,8 @@ static int mmc_blk_probe(struct mmc_card +@@ -3016,6 +3023,8 @@ static int mmc_blk_probe(struct mmc_card { struct mmc_blk_data *md; int ret = 0; @@ -294,7 +294,7 @@ Signed-off-by: Phil Elwell /* * Check that the card supports the command class(es) we need. -@@ -3073,7 +3082,16 @@ static int mmc_blk_probe(struct mmc_card +@@ -3023,7 +3032,16 @@ static int mmc_blk_probe(struct mmc_card if (!(card->csd.cmdclass & CCC_BLOCK_READ)) return -ENODEV; @@ -312,7 +312,7 @@ Signed-off-by: Phil Elwell card->complete_wq = alloc_workqueue("mmc_complete", WQ_MEM_RECLAIM | WQ_HIGHPRI, 0); -@@ -3088,6 +3106,17 @@ static int mmc_blk_probe(struct mmc_card +@@ -3038,6 +3056,17 @@ static int mmc_blk_probe(struct mmc_card goto out_free; } diff --git a/target/linux/generic/backport-6.6/780-22-v6.12-r8169-add-support-for-RTL8126A-rev.b.patch b/target/linux/generic/backport-6.6/780-22-v6.12-r8169-add-support-for-RTL8126A-rev.b.patch index 5295fe235f3e61..a825627e743919 100644 --- a/target/linux/generic/backport-6.6/780-22-v6.12-r8169-add-support-for-RTL8126A-rev.b.patch +++ b/target/linux/generic/backport-6.6/780-22-v6.12-r8169-add-support-for-RTL8126A-rev.b.patch @@ -44,7 +44,7 @@ Signed-off-by: Jakub Kicinski }; static const struct pci_device_id rtl8169_pci_tbl[] = { -@@ -1201,7 +1203,7 @@ static void rtl_writephy(struct rtl8169_ +@@ -1228,7 +1230,7 @@ static void rtl_writephy(struct rtl8169_ case RTL_GIGA_MAC_VER_31: r8168dp_2_mdio_write(tp, location, val); break; @@ -53,7 +53,7 @@ Signed-off-by: Jakub Kicinski r8168g_mdio_write(tp, location, val); break; default: -@@ -1216,7 +1218,7 @@ static int rtl_readphy(struct rtl8169_pr +@@ -1243,7 +1245,7 @@ static int rtl_readphy(struct rtl8169_pr case RTL_GIGA_MAC_VER_28: case RTL_GIGA_MAC_VER_31: return r8168dp_2_mdio_read(tp, location); @@ -62,7 +62,7 @@ Signed-off-by: Jakub Kicinski return r8168g_mdio_read(tp, location); default: return r8169_mdio_read(tp, location); -@@ -1425,7 +1427,7 @@ static void rtl_set_d3_pll_down(struct r +@@ -1452,7 +1454,7 @@ static void rtl_set_d3_pll_down(struct r case RTL_GIGA_MAC_VER_25 ... RTL_GIGA_MAC_VER_26: case RTL_GIGA_MAC_VER_29 ... RTL_GIGA_MAC_VER_30: case RTL_GIGA_MAC_VER_32 ... RTL_GIGA_MAC_VER_37: @@ -71,7 +71,7 @@ Signed-off-by: Jakub Kicinski if (enable) RTL_W8(tp, PMCH, RTL_R8(tp, PMCH) & ~D3_NO_PLL_DOWN); else -@@ -1592,7 +1594,7 @@ static void __rtl8169_set_wol(struct rtl +@@ -1619,7 +1621,7 @@ static void __rtl8169_set_wol(struct rtl break; case RTL_GIGA_MAC_VER_34: case RTL_GIGA_MAC_VER_37: @@ -80,7 +80,7 @@ Signed-off-by: Jakub Kicinski if (wolopts) rtl_mod_config2(tp, 0, PME_SIGNAL); else -@@ -2071,6 +2073,7 @@ static void rtl_set_eee_txidle_timer(str +@@ -2098,6 +2100,7 @@ static void rtl_set_eee_txidle_timer(str case RTL_GIGA_MAC_VER_61: case RTL_GIGA_MAC_VER_63: case RTL_GIGA_MAC_VER_65: @@ -88,7 +88,7 @@ Signed-off-by: Jakub Kicinski tp->tx_lpi_timer = timer_val; RTL_W16(tp, EEE_TXIDLE_TIMER_8125, timer_val); break; -@@ -2200,6 +2203,7 @@ static enum mac_version rtl8169_get_mac_ +@@ -2227,6 +2230,7 @@ static enum mac_version rtl8169_get_mac_ enum mac_version ver; } mac_info[] = { /* 8126A family. */ @@ -96,7 +96,7 @@ Signed-off-by: Jakub Kicinski { 0x7cf, 0x649, RTL_GIGA_MAC_VER_65 }, /* 8125B family. */ -@@ -2471,6 +2475,7 @@ static void rtl_init_rxcfg(struct rtl816 +@@ -2498,6 +2502,7 @@ static void rtl_init_rxcfg(struct rtl816 break; case RTL_GIGA_MAC_VER_63: case RTL_GIGA_MAC_VER_65: @@ -104,7 +104,7 @@ Signed-off-by: Jakub Kicinski RTL_W32(tp, RxConfig, RX_FETCH_DFLT_8125 | RX_DMA_BURST | RX_PAUSE_SLOT_ON); break; -@@ -2657,7 +2662,7 @@ static void rtl_wait_txrx_fifo_empty(str +@@ -2684,7 +2689,7 @@ static void rtl_wait_txrx_fifo_empty(str case RTL_GIGA_MAC_VER_61 ... RTL_GIGA_MAC_VER_61: rtl_loop_wait_high(tp, &rtl_rxtx_empty_cond, 100, 42); break; @@ -113,7 +113,7 @@ Signed-off-by: Jakub Kicinski RTL_W8(tp, ChipCmd, RTL_R8(tp, ChipCmd) | StopReq); rtl_loop_wait_high(tp, &rtl_rxtx_empty_cond, 100, 42); rtl_loop_wait_high(tp, &rtl_rxtx_empty_cond_2, 100, 42); -@@ -2900,7 +2905,7 @@ static void rtl_enable_exit_l1(struct rt +@@ -2927,7 +2932,7 @@ static void rtl_enable_exit_l1(struct rt case RTL_GIGA_MAC_VER_37 ... RTL_GIGA_MAC_VER_38: rtl_eri_set_bits(tp, 0xd4, 0x0c00); break; @@ -122,7 +122,7 @@ Signed-off-by: Jakub Kicinski r8168_mac_ocp_modify(tp, 0xc0ac, 0, 0x1f80); break; default: -@@ -2914,7 +2919,7 @@ static void rtl_disable_exit_l1(struct r +@@ -2941,7 +2946,7 @@ static void rtl_disable_exit_l1(struct r case RTL_GIGA_MAC_VER_34 ... RTL_GIGA_MAC_VER_38: rtl_eri_clear_bits(tp, 0xd4, 0x1f00); break; @@ -131,7 +131,7 @@ Signed-off-by: Jakub Kicinski r8168_mac_ocp_modify(tp, 0xc0ac, 0x1f80, 0); break; default: -@@ -2941,6 +2946,7 @@ static void rtl_hw_aspm_clkreq_enable(st +@@ -2968,6 +2973,7 @@ static void rtl_hw_aspm_clkreq_enable(st rtl_mod_config5(tp, 0, ASPM_en); switch (tp->mac_version) { case RTL_GIGA_MAC_VER_65: @@ -139,7 +139,7 @@ Signed-off-by: Jakub Kicinski val8 = RTL_R8(tp, INT_CFG0_8125) | INT_CFG0_CLKREQEN; RTL_W8(tp, INT_CFG0_8125, val8); break; -@@ -2951,7 +2957,7 @@ static void rtl_hw_aspm_clkreq_enable(st +@@ -2978,7 +2984,7 @@ static void rtl_hw_aspm_clkreq_enable(st switch (tp->mac_version) { case RTL_GIGA_MAC_VER_46 ... RTL_GIGA_MAC_VER_48: @@ -148,7 +148,7 @@ Signed-off-by: Jakub Kicinski /* reset ephy tx/rx disable timer */ r8168_mac_ocp_modify(tp, 0xe094, 0xff00, 0); /* chip can trigger L1.2 */ -@@ -2963,7 +2969,7 @@ static void rtl_hw_aspm_clkreq_enable(st +@@ -2990,7 +2996,7 @@ static void rtl_hw_aspm_clkreq_enable(st } else { switch (tp->mac_version) { case RTL_GIGA_MAC_VER_46 ... RTL_GIGA_MAC_VER_48: @@ -157,7 +157,7 @@ Signed-off-by: Jakub Kicinski r8168_mac_ocp_modify(tp, 0xe092, 0x00ff, 0); break; default: -@@ -2972,6 +2978,7 @@ static void rtl_hw_aspm_clkreq_enable(st +@@ -2999,6 +3005,7 @@ static void rtl_hw_aspm_clkreq_enable(st switch (tp->mac_version) { case RTL_GIGA_MAC_VER_65: @@ -165,7 +165,7 @@ Signed-off-by: Jakub Kicinski val8 = RTL_R8(tp, INT_CFG0_8125) & ~INT_CFG0_CLKREQEN; RTL_W8(tp, INT_CFG0_8125, val8); break; -@@ -3691,10 +3698,12 @@ static void rtl_hw_start_8125_common(str +@@ -3718,10 +3725,12 @@ static void rtl_hw_start_8125_common(str /* disable new tx descriptor format */ r8168_mac_ocp_modify(tp, 0xeb58, 0x0001, 0x0000); @@ -180,7 +180,7 @@ Signed-off-by: Jakub Kicinski r8168_mac_ocp_modify(tp, 0xe614, 0x0700, 0x0400); else if (tp->mac_version == RTL_GIGA_MAC_VER_63) r8168_mac_ocp_modify(tp, 0xe614, 0x0700, 0x0200); -@@ -3712,7 +3721,8 @@ static void rtl_hw_start_8125_common(str +@@ -3739,7 +3748,8 @@ static void rtl_hw_start_8125_common(str r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0030); r8168_mac_ocp_modify(tp, 0xe040, 0x1000, 0x0000); r8168_mac_ocp_modify(tp, 0xea1c, 0x0003, 0x0001); @@ -190,7 +190,7 @@ Signed-off-by: Jakub Kicinski r8168_mac_ocp_modify(tp, 0xea1c, 0x0300, 0x0000); else r8168_mac_ocp_modify(tp, 0xea1c, 0x0004, 0x0000); -@@ -3826,6 +3836,7 @@ static void rtl_hw_config(struct rtl8169 +@@ -3853,6 +3863,7 @@ static void rtl_hw_config(struct rtl8169 [RTL_GIGA_MAC_VER_61] = rtl_hw_start_8125a_2, [RTL_GIGA_MAC_VER_63] = rtl_hw_start_8125b, [RTL_GIGA_MAC_VER_65] = rtl_hw_start_8126a, @@ -198,7 +198,7 @@ Signed-off-by: Jakub Kicinski }; if (hw_configs[tp->mac_version]) -@@ -3846,6 +3857,7 @@ static void rtl_hw_start_8125(struct rtl +@@ -3873,6 +3884,7 @@ static void rtl_hw_start_8125(struct rtl break; case RTL_GIGA_MAC_VER_63: case RTL_GIGA_MAC_VER_65: @@ -206,7 +206,7 @@ Signed-off-by: Jakub Kicinski for (i = 0xa00; i < 0xa80; i += 4) RTL_W32(tp, i, 0); RTL_W16(tp, INT_CFG1_8125, 0x0000); -@@ -4074,7 +4086,7 @@ static void rtl8169_cleanup(struct rtl81 +@@ -4101,7 +4113,7 @@ static void rtl8169_cleanup(struct rtl81 RTL_W8(tp, ChipCmd, RTL_R8(tp, ChipCmd) | StopReq); rtl_loop_wait_high(tp, &rtl_txcfg_empty_cond, 100, 666); break; @@ -215,7 +215,7 @@ Signed-off-by: Jakub Kicinski rtl_enable_rxdvgate(tp); fsleep(2000); break; -@@ -4225,7 +4237,7 @@ static unsigned int rtl_quirk_packet_pad +@@ -4252,7 +4264,7 @@ static unsigned int rtl_quirk_packet_pad switch (tp->mac_version) { case RTL_GIGA_MAC_VER_34: @@ -224,7 +224,7 @@ Signed-off-by: Jakub Kicinski padto = max_t(unsigned int, padto, ETH_ZLEN); break; default: -@@ -5259,7 +5271,7 @@ static void rtl_hw_initialize(struct rtl +@@ -5288,7 +5300,7 @@ static void rtl_hw_initialize(struct rtl case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48: rtl_hw_init_8168g(tp); break; @@ -235,7 +235,7 @@ Signed-off-by: Jakub Kicinski default: --- a/drivers/net/ethernet/realtek/r8169_phy_config.c +++ b/drivers/net/ethernet/realtek/r8169_phy_config.c -@@ -1159,6 +1159,7 @@ void r8169_hw_phy_config(struct rtl8169_ +@@ -1161,6 +1161,7 @@ void r8169_hw_phy_config(struct rtl8169_ [RTL_GIGA_MAC_VER_61] = rtl8125a_2_hw_phy_config, [RTL_GIGA_MAC_VER_63] = rtl8125b_hw_phy_config, [RTL_GIGA_MAC_VER_65] = rtl8126a_hw_phy_config, diff --git a/target/linux/mediatek/patches-6.6/041-block-fit-partition-parser.patch b/target/linux/mediatek/patches-6.6/041-block-fit-partition-parser.patch index 72233d5fcd7349..e64f5dc24157e3 100644 --- a/target/linux/mediatek/patches-6.6/041-block-fit-partition-parser.patch +++ b/target/linux/mediatek/patches-6.6/041-block-fit-partition-parser.patch @@ -92,7 +92,7 @@ Subject: [PATCH] kernel: add block fit partition parser #ifdef CONFIG_SGI_PARTITION sgi_partition, #endif -@@ -462,6 +468,11 @@ static struct block_device *add_partitio +@@ -464,6 +470,11 @@ static struct block_device *add_partitio goto out_del; } @@ -104,7 +104,7 @@ Subject: [PATCH] kernel: add block fit partition parser /* everything is up and running, commence */ err = xa_insert(&disk->part_tbl, partno, bdev, GFP_KERNEL); if (err) -@@ -654,6 +665,11 @@ static bool blk_add_partition(struct gen +@@ -658,6 +669,11 @@ static bool blk_add_partition(struct gen (state->parts[p].flags & ADDPART_FLAG_RAID)) md_autodetect_dev(part->bd_dev); diff --git a/target/linux/qualcommax/patches-6.6/0065-v6.7-arm64-dts-qcom-ipq5018-add-watchdog.patch b/target/linux/qualcommax/patches-6.6/0065-v6.7-arm64-dts-qcom-ipq5018-add-watchdog.patch index cedf6cf02dab61..e6f42a2280019c 100644 --- a/target/linux/qualcommax/patches-6.6/0065-v6.7-arm64-dts-qcom-ipq5018-add-watchdog.patch +++ b/target/linux/qualcommax/patches-6.6/0065-v6.7-arm64-dts-qcom-ipq5018-add-watchdog.patch @@ -13,12 +13,10 @@ Signed-off-by: Bjorn Andersson arch/arm64/boot/dts/qcom/ipq5018.dtsi | 7 +++++++ 1 file changed, 7 insertions(+) -diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -index 9f13d2dcdfd589..288758c91379df 100644 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -181,6 +181,13 @@ - }; +@@ -391,6 +391,13 @@ + clock-names = "xo"; }; + watchdog: watchdog@b017000 { diff --git a/target/linux/qualcommax/patches-6.6/0068-v6.7-dt-bindings-qcom-scm-document-IPQ5018-compatible.patch b/target/linux/qualcommax/patches-6.6/0068-v6.7-dt-bindings-qcom-scm-document-IPQ5018-compatible.patch index d3c3fa8571621e..d36ccddd279297 100644 --- a/target/linux/qualcommax/patches-6.6/0068-v6.7-dt-bindings-qcom-scm-document-IPQ5018-compatible.patch +++ b/target/linux/qualcommax/patches-6.6/0068-v6.7-dt-bindings-qcom-scm-document-IPQ5018-compatible.patch @@ -13,8 +13,6 @@ Signed-off-by: Bjorn Andersson Documentation/devicetree/bindings/firmware/qcom,scm.yaml | 1 + 1 file changed, 1 insertion(+) -diff --git a/Documentation/devicetree/bindings/firmware/qcom,scm.yaml b/Documentation/devicetree/bindings/firmware/qcom,scm.yaml -index cb706145ae04c1..0613a37a851af4 100644 --- a/Documentation/devicetree/bindings/firmware/qcom,scm.yaml +++ b/Documentation/devicetree/bindings/firmware/qcom,scm.yaml @@ -24,6 +24,7 @@ properties: diff --git a/target/linux/qualcommax/patches-6.6/0069-v6.7-arm64-dts-qcom-IPQ5018-indicate-that-SDI-shoud-be-disabled.patch b/target/linux/qualcommax/patches-6.6/0069-v6.7-arm64-dts-qcom-IPQ5018-indicate-that-SDI-shoud-be-disabled.patch deleted file mode 100644 index 93b33feee0335d..00000000000000 --- a/target/linux/qualcommax/patches-6.6/0069-v6.7-arm64-dts-qcom-IPQ5018-indicate-that-SDI-shoud-be-disabled.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 79796e87215db9587d6c66ec6f6781e091bc6464 Mon Sep 17 00:00:00 2001 -From: Robert Marko -Date: Wed, 16 Aug 2023 18:45:41 +0200 -Subject: [PATCH] arm64: dts: qcom: ipq5018: indicate that SDI should be - disabled - -Now that SCM has support for indicating that SDI has been enabled by -default, lets set the property so SCM disables it during probing. - -Signed-off-by: Robert Marko -Link: https://lore.kernel.org/r/20230816164641.3371878-4-robimarko@gmail.com -Signed-off-by: Bjorn Andersson ---- - arch/arm64/boot/dts/qcom/ipq5018.dtsi | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -index 288758c91379df..38ffdc3cbdcd7c 100644 ---- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi -+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -57,6 +57,7 @@ - firmware { - scm { - compatible = "qcom,scm-ipq5018", "qcom,scm"; -+ qcom,sdi-enabled; - }; - }; - diff --git a/target/linux/qualcommax/patches-6.6/0070-v6.7-dt-bindings-phy-qcom-m31-Add-IPQ5018-compatible.patch b/target/linux/qualcommax/patches-6.6/0070-v6.7-dt-bindings-phy-qcom-m31-Add-IPQ5018-compatible.patch index 13e4fb103af3b1..777212249e5e04 100644 --- a/target/linux/qualcommax/patches-6.6/0070-v6.7-dt-bindings-phy-qcom-m31-Add-IPQ5018-compatible.patch +++ b/target/linux/qualcommax/patches-6.6/0070-v6.7-dt-bindings-phy-qcom-m31-Add-IPQ5018-compatible.patch @@ -13,8 +13,6 @@ Signed-off-by: Vinod Koul .../devicetree/bindings/phy/qcom,ipq5332-usb-hsphy.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -diff --git a/Documentation/devicetree/bindings/phy/qcom,ipq5332-usb-hsphy.yaml b/Documentation/devicetree/bindings/phy/qcom,ipq5332-usb-hsphy.yaml -index 2671a048c926c2..e77576d06c0e4e 100644 --- a/Documentation/devicetree/bindings/phy/qcom,ipq5332-usb-hsphy.yaml +++ b/Documentation/devicetree/bindings/phy/qcom,ipq5332-usb-hsphy.yaml @@ -17,7 +17,9 @@ description: diff --git a/target/linux/qualcommax/patches-6.6/0072-v6.7-dt-bindings-usb-dwc3-Add-IPQ5018-compatible.patch b/target/linux/qualcommax/patches-6.6/0072-v6.7-dt-bindings-usb-dwc3-Add-IPQ5018-compatible.patch index be6b3eac69a40a..146fcbff098f02 100644 --- a/target/linux/qualcommax/patches-6.6/0072-v6.7-dt-bindings-usb-dwc3-Add-IPQ5018-compatible.patch +++ b/target/linux/qualcommax/patches-6.6/0072-v6.7-dt-bindings-usb-dwc3-Add-IPQ5018-compatible.patch @@ -13,8 +13,6 @@ Signed-off-by: Greg Kroah-Hartman Documentation/devicetree/bindings/usb/qcom,dwc3.yaml | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml -index 67591057f2349b..1ad62e55dfe2e2 100644 --- a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml +++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml @@ -14,6 +14,7 @@ properties: diff --git a/target/linux/qualcommax/patches-6.6/0073-v6.8-arm64-dts-qcom-ipq5018-Add-USB-related-nodes.patch b/target/linux/qualcommax/patches-6.6/0073-v6.8-arm64-dts-qcom-ipq5018-Add-USB-related-nodes.patch index 38eaa281639e6c..5fb0c0bd1f2fd6 100644 --- a/target/linux/qualcommax/patches-6.6/0073-v6.8-arm64-dts-qcom-ipq5018-Add-USB-related-nodes.patch +++ b/target/linux/qualcommax/patches-6.6/0073-v6.8-arm64-dts-qcom-ipq5018-Add-USB-related-nodes.patch @@ -14,13 +14,11 @@ Signed-off-by: Bjorn Andersson arch/arm64/boot/dts/qcom/ipq5018.dtsi | 54 +++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) -diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -index 38ffdc3cbdcd7c..340b90cc17db85 100644 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -94,6 +94,19 @@ - #size-cells = <1>; - ranges = <0 0 0 0xffffffff>; +@@ -204,6 +204,19 @@ + status = "disabled"; + }; + usbphy0: phy@5b000 { + compatible = "qcom,ipq5018-usb-hsphy"; @@ -38,11 +36,10 @@ index 38ffdc3cbdcd7c..340b90cc17db85 100644 tlmm: pinctrl@1000000 { compatible = "qcom,ipq5018-tlmm"; reg = <0x01000000 0x300000>; -@@ -156,6 +169,47 @@ - status = "disabled"; +@@ -300,6 +313,47 @@ }; -+ usb: usb@8af8800 { + usb: usb@8af8800 { + compatible = "qcom,ipq5018-dwc3", "qcom,dwc3"; + reg = <0x08af8800 0x400>; + @@ -83,6 +80,7 @@ index 38ffdc3cbdcd7c..340b90cc17db85 100644 + }; + }; + - intc: interrupt-controller@b000000 { - compatible = "qcom,msm-qgic2"; - reg = <0x0b000000 0x1000>, /* GICD */ ++ usb: usb@8af8800 { + compatible = "qcom,ipq5018-dwc3", "qcom,dwc3"; + reg = <0x08af8800 0x400>; + diff --git a/target/linux/qualcommax/patches-6.6/0074-v6.8-arm64-dts-qcom-ipq5018-add-QUP1-SPI-controller.patch b/target/linux/qualcommax/patches-6.6/0074-v6.8-arm64-dts-qcom-ipq5018-add-QUP1-SPI-controller.patch index c06cfa7572f30a..a0e901a46b6083 100644 --- a/target/linux/qualcommax/patches-6.6/0074-v6.8-arm64-dts-qcom-ipq5018-add-QUP1-SPI-controller.patch +++ b/target/linux/qualcommax/patches-6.6/0074-v6.8-arm64-dts-qcom-ipq5018-add-QUP1-SPI-controller.patch @@ -14,12 +14,10 @@ Signed-off-by: Bjorn Andersson arch/arm64/boot/dts/qcom/ipq5018.dtsi | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) -diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -index 340b90cc17db85..0b739077ed7079 100644 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -159,6 +159,16 @@ - status = "disabled"; +@@ -288,6 +288,16 @@ + qcom,ee = <0>; }; + blsp_dma: dma-controller@7884000 { @@ -35,7 +33,7 @@ index 340b90cc17db85..0b739077ed7079 100644 blsp1_uart1: serial@78af000 { compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; reg = <0x078af000 0x200>; -@@ -169,6 +179,20 @@ +@@ -298,6 +308,20 @@ status = "disabled"; }; @@ -53,6 +51,6 @@ index 340b90cc17db85..0b739077ed7079 100644 + status = "disabled"; + }; + - usb: usb@8af8800 { - compatible = "qcom,ipq5018-dwc3", "qcom,dwc3"; - reg = <0x08af8800 0x400>; + blsp1_spi1: spi@78b5000 { + compatible = "qcom,spi-qup-v2.2.1"; + #address-cells = <1>; diff --git a/target/linux/qualcommax/patches-6.6/0075-v6.8-dt-bindings-clock-qcom-a53pll-add-IPQ5018-compatible.patch b/target/linux/qualcommax/patches-6.6/0075-v6.8-dt-bindings-clock-qcom-a53pll-add-IPQ5018-compatible.patch index 25e0f825338bb0..314afa76d256d4 100644 --- a/target/linux/qualcommax/patches-6.6/0075-v6.8-dt-bindings-clock-qcom-a53pll-add-IPQ5018-compatible.patch +++ b/target/linux/qualcommax/patches-6.6/0075-v6.8-dt-bindings-clock-qcom-a53pll-add-IPQ5018-compatible.patch @@ -13,8 +13,6 @@ Signed-off-by: Bjorn Andersson Documentation/devicetree/bindings/clock/qcom,a53pll.yaml | 1 + 1 file changed, 1 insertion(+) -diff --git a/Documentation/devicetree/bindings/clock/qcom,a53pll.yaml b/Documentation/devicetree/bindings/clock/qcom,a53pll.yaml -index 9436266828afaf..5ca927a8b1d538 100644 --- a/Documentation/devicetree/bindings/clock/qcom,a53pll.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,a53pll.yaml @@ -16,6 +16,7 @@ description: diff --git a/target/linux/qualcommax/patches-6.6/0076-v6.8-clk-qcom-apss-ipq-pll-add-support-for-IPQ5018.patch b/target/linux/qualcommax/patches-6.6/0076-v6.8-clk-qcom-apss-ipq-pll-add-support-for-IPQ5018.patch index f8eb8365939081..46dede07caf3f4 100644 --- a/target/linux/qualcommax/patches-6.6/0076-v6.8-clk-qcom-apss-ipq-pll-add-support-for-IPQ5018.patch +++ b/target/linux/qualcommax/patches-6.6/0076-v6.8-clk-qcom-apss-ipq-pll-add-support-for-IPQ5018.patch @@ -16,11 +16,9 @@ Signed-off-by: Bjorn Andersson drivers/clk/qcom/apss-ipq-pll.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) -diff --git a/drivers/clk/qcom/apss-ipq-pll.c b/drivers/clk/qcom/apss-ipq-pll.c -index 41279e5437a620..678b805f13d455 100644 --- a/drivers/clk/qcom/apss-ipq-pll.c +++ b/drivers/clk/qcom/apss-ipq-pll.c -@@ -73,6 +73,20 @@ static struct clk_alpha_pll ipq_pll_stromer_plus = { +@@ -73,6 +73,20 @@ static struct clk_alpha_pll ipq_pll_stro }, }; @@ -54,7 +52,7 @@ index 41279e5437a620..678b805f13d455 100644 static struct apss_pll_data ipq5332_pll_data = { .pll_type = CLK_ALPHA_PLL_TYPE_STROMER_PLUS, .pll = &ipq_pll_stromer_plus, -@@ -195,6 +215,7 @@ static int apss_ipq_pll_probe(struct platform_device *pdev) +@@ -195,6 +215,7 @@ static int apss_ipq_pll_probe(struct pla } static const struct of_device_id apss_ipq_pll_match_table[] = { diff --git a/target/linux/qualcommax/patches-6.6/0077-v6.8-arm64-dts-qcom-ipq5018-enable-the-CPUFreq-support.patch b/target/linux/qualcommax/patches-6.6/0077-v6.8-arm64-dts-qcom-ipq5018-enable-the-CPUFreq-support.patch index 8b2262d7692ec4..ed4ce27463e46f 100644 --- a/target/linux/qualcommax/patches-6.6/0077-v6.8-arm64-dts-qcom-ipq5018-enable-the-CPUFreq-support.patch +++ b/target/linux/qualcommax/patches-6.6/0077-v6.8-arm64-dts-qcom-ipq5018-enable-the-CPUFreq-support.patch @@ -14,40 +14,12 @@ Reviewed-by: Krzysztof Kozlowski Link: https://lore.kernel.org/r/20230925102826.405446-4-quic_gokulsri@quicinc.com Signed-off-by: Bjorn Andersson --- - arch/arm64/boot/dts/qcom/ipq5018.dtsi | 40 +++++++++++++++++++++++++++ - 1 file changed, 40 insertions(+) + arch/arm64/boot/dts/qcom/ipq5018.dtsi | 37 +++++++++++++++++++++++++++ + 1 file changed, 37 insertions(+) -diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -index 0b739077ed7079..ae31bd72f0b739 100644 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -5,6 +5,7 @@ - * Copyright (c) 2023 The Linux Foundation. All rights reserved. - */ - -+#include - #include - #include - #include -@@ -36,6 +37,8 @@ - reg = <0x0>; - enable-method = "psci"; - next-level-cache = <&L2_0>; -+ clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>; -+ operating-points-v2 = <&cpu_opp_table>; - }; - - CPU1: cpu@1 { -@@ -44,6 +47,8 @@ - reg = <0x1>; - enable-method = "psci"; - next-level-cache = <&L2_0>; -+ clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>; -+ operating-points-v2 = <&cpu_opp_table>; - }; - - L2_0: l2-cache { -@@ -54,6 +59,25 @@ +@@ -76,6 +76,25 @@ }; }; @@ -73,7 +45,7 @@ index 0b739077ed7079..ae31bd72f0b739 100644 firmware { scm { compatible = "qcom,scm-ipq5018", "qcom,scm"; -@@ -267,6 +291,24 @@ +@@ -476,6 +495,24 @@ clocks = <&sleep_clk>; }; diff --git a/target/linux/qualcommax/patches-6.6/0078-v6.8-arm64-dts-qcom-ipq5018-add-few-more-reserved-memory-regions.patch b/target/linux/qualcommax/patches-6.6/0078-v6.8-arm64-dts-qcom-ipq5018-add-few-more-reserved-memory-regions.patch index 97631e715a483f..2b165c59b0b4ea 100644 --- a/target/linux/qualcommax/patches-6.6/0078-v6.8-arm64-dts-qcom-ipq5018-add-few-more-reserved-memory-regions.patch +++ b/target/linux/qualcommax/patches-6.6/0078-v6.8-arm64-dts-qcom-ipq5018-add-few-more-reserved-memory-regions.patch @@ -26,9 +26,9 @@ Signed-off-by: Bjorn Andersson --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -106,6 +106,24 @@ - #size-cells = <2>; - ranges; +@@ -141,6 +141,24 @@ + hwlocks = <&tcsr_mutex 3>; + }; + bootloader@4a800000 { + reg = <0x0 0x4a800000 0x0 0x200000>; @@ -51,16 +51,16 @@ Signed-off-by: Bjorn Andersson tz_region: tz@4ac00000 { reg = <0x0 0x4ac00000 0x0 0x200000>; no-map; -@@ -166,6 +184,12 @@ - #power-domain-cells = <1>; +@@ -275,6 +293,12 @@ }; -+ tcsr_mutex: hwlock@1905000 { + tcsr_mutex: hwlock@1905000 { + compatible = "qcom,tcsr-mutex"; + reg = <0x01905000 0x20000>; + #hwlock-cells = <1>; + }; + - sdhc_1: mmc@7804000 { - compatible = "qcom,ipq5018-sdhci", "qcom,sdhci-msm-v5"; - reg = <0x7804000 0x1000>; ++ tcsr_mutex: hwlock@1905000 { + compatible = "qcom,tcsr-mutex"; + reg = <0x01905000 0x20000>; + #hwlock-cells = <1>; diff --git a/target/linux/qualcommax/patches-6.6/0140-dt-bindings-pwm-add-IPQ6018-binding.patch b/target/linux/qualcommax/patches-6.6/0140-dt-bindings-pwm-add-IPQ6018-binding.patch index ecc5c9ade08353..bba8b3457a9aeb 100644 --- a/target/linux/qualcommax/patches-6.6/0140-dt-bindings-pwm-add-IPQ6018-binding.patch +++ b/target/linux/qualcommax/patches-6.6/0140-dt-bindings-pwm-add-IPQ6018-binding.patch @@ -10,9 +10,6 @@ Co-developed-by: Baruch Siach Signed-off-by: Baruch Siach Signed-off-by: Devi Priya --- -diff --git a/Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml b/Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml -new file mode 100644 -index 000000000000..6d0d7ed271f7 --- /dev/null +++ b/Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml @@ -0,0 +1,45 @@ diff --git a/target/linux/qualcommax/patches-6.6/0141-pwm-driver-for-qualcomm-ipq6018-pwm-block.patch b/target/linux/qualcommax/patches-6.6/0141-pwm-driver-for-qualcomm-ipq6018-pwm-block.patch index 28f60829e17ae7..f4f396a2c19620 100644 --- a/target/linux/qualcommax/patches-6.6/0141-pwm-driver-for-qualcomm-ipq6018-pwm-block.patch +++ b/target/linux/qualcommax/patches-6.6/0141-pwm-driver-for-qualcomm-ipq6018-pwm-block.patch @@ -12,8 +12,6 @@ Co-developed-by: Baruch Siach Signed-off-by: Baruch Siach Signed-off-by: Devi Priya --- -diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig -index 8ebcddf91f7b..c2d51680823a 100644 --- a/drivers/pwm/Kconfig +++ b/drivers/pwm/Kconfig @@ -282,6 +282,18 @@ config PWM_INTEL_LGM @@ -35,8 +33,6 @@ index 8ebcddf91f7b..c2d51680823a 100644 config PWM_IQS620A tristate "Azoteq IQS620A PWM support" depends on MFD_IQS62X || COMPILE_TEST -diff --git a/drivers/pwm/Makefile b/drivers/pwm/Makefile -index c822389c2a24..1b69e8cb2b91 100644 --- a/drivers/pwm/Makefile +++ b/drivers/pwm/Makefile @@ -24,6 +24,7 @@ obj-$(CONFIG_PWM_IMX1) += pwm-imx1.o @@ -47,9 +43,6 @@ index c822389c2a24..1b69e8cb2b91 100644 obj-$(CONFIG_PWM_IQS620A) += pwm-iqs620a.o obj-$(CONFIG_PWM_JZ4740) += pwm-jz4740.o obj-$(CONFIG_PWM_KEEMBAY) += pwm-keembay.o -diff --git a/drivers/pwm/pwm-ipq.c b/drivers/pwm/pwm-ipq.c -new file mode 100644 -index 000000000000..5dbe46bb56d6 --- /dev/null +++ b/drivers/pwm/pwm-ipq.c @@ -0,0 +1,282 @@ diff --git a/target/linux/qualcommax/patches-6.6/0153-thermal-qcom-tsens-add-support-for-IPQ5018-tsens.patch b/target/linux/qualcommax/patches-6.6/0153-thermal-qcom-tsens-add-support-for-IPQ5018-tsens.patch index 477a050fd2bc93..aeae326c70b84d 100644 --- a/target/linux/qualcommax/patches-6.6/0153-thermal-qcom-tsens-add-support-for-IPQ5018-tsens.patch +++ b/target/linux/qualcommax/patches-6.6/0153-thermal-qcom-tsens-add-support-for-IPQ5018-tsens.patch @@ -13,11 +13,9 @@ Signed-off-by: Sricharan Ramabadhran drivers/thermal/qcom/tsens.h | 2 +- 3 files changed, 64 insertions(+), 1 deletion(-) -diff --git a/drivers/thermal/qcom/tsens-v1.c b/drivers/thermal/qcom/tsens-v1.c -index dc1c4ae2d8b0..acee2064f83e 100644 --- a/drivers/thermal/qcom/tsens-v1.c +++ b/drivers/thermal/qcom/tsens-v1.c -@@ -79,6 +79,18 @@ static struct tsens_features tsens_v1_feat = { +@@ -79,6 +79,18 @@ static struct tsens_features tsens_v1_fe .trip_max_temp = 120000, }; @@ -36,7 +34,7 @@ index dc1c4ae2d8b0..acee2064f83e 100644 static const struct reg_field tsens_v1_regfields[MAX_REGFIELDS] = { /* ----- SROT ------ */ /* VERSION */ -@@ -150,6 +162,41 @@ static int __init init_8956(struct tsens_priv *priv) { +@@ -150,6 +162,41 @@ static int __init init_8956(struct tsens return init_common(priv); } @@ -95,11 +93,9 @@ index dc1c4ae2d8b0..acee2064f83e 100644 + .feat = &tsens_v1_ipq5018_feat, + .fields = tsens_v1_regfields, +}; -diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c -index 0a43ccf02ec4..c792b9dc6676 100644 --- a/drivers/thermal/qcom/tsens.c +++ b/drivers/thermal/qcom/tsens.c -@@ -1101,6 +1101,9 @@ static SIMPLE_DEV_PM_OPS(tsens_pm_ops, tsens_suspend, tsens_resume); +@@ -1101,6 +1101,9 @@ static SIMPLE_DEV_PM_OPS(tsens_pm_ops, t static const struct of_device_id tsens_table[] = { { @@ -109,8 +105,6 @@ index 0a43ccf02ec4..c792b9dc6676 100644 .compatible = "qcom,ipq8064-tsens", .data = &data_8960, }, { -diff --git a/drivers/thermal/qcom/tsens.h b/drivers/thermal/qcom/tsens.h -index e254cd2df904..b6594b546d11 100644 --- a/drivers/thermal/qcom/tsens.h +++ b/drivers/thermal/qcom/tsens.h @@ -645,7 +645,7 @@ extern struct tsens_plat_data data_8960; diff --git a/target/linux/qualcommax/patches-6.6/0154-dts-qcom-IPQ5018-add-tsens-node.patch b/target/linux/qualcommax/patches-6.6/0154-dts-qcom-IPQ5018-add-tsens-node.patch index 4f9b8abfa53b00..b520e610435775 100644 --- a/target/linux/qualcommax/patches-6.6/0154-dts-qcom-IPQ5018-add-tsens-node.patch +++ b/target/linux/qualcommax/patches-6.6/0154-dts-qcom-IPQ5018-add-tsens-node.patch @@ -15,7 +15,7 @@ Signed-off-by: Sricharan Ramabadhran --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -149,6 +149,117 @@ +@@ -254,6 +254,117 @@ status = "disabled"; }; @@ -133,11 +133,10 @@ Signed-off-by: Sricharan Ramabadhran tlmm: pinctrl@1000000 { compatible = "qcom,ipq5018-tlmm"; reg = <0x01000000 0x300000>; -@@ -391,6 +502,64 @@ - }; - }; +@@ -651,6 +762,64 @@ + }; }; -+ + + thermal-zones { + cpu-thermal { + polling-delay-passive = <0>; @@ -195,6 +194,7 @@ Signed-off-by: Sricharan Ramabadhran + }; + }; + }; - ++ timer { compatible = "arm,armv8-timer"; + interrupts = , diff --git a/target/linux/qualcommax/patches-6.6/0155-dt-bindings-phy-qcom-document-PCIe-uniphy.patch b/target/linux/qualcommax/patches-6.6/0155-dt-bindings-phy-qcom-document-PCIe-uniphy.patch index 3ccbd01d2e1345..a66d027ce9e854 100644 --- a/target/linux/qualcommax/patches-6.6/0155-dt-bindings-phy-qcom-document-PCIe-uniphy.patch +++ b/target/linux/qualcommax/patches-6.6/0155-dt-bindings-phy-qcom-document-PCIe-uniphy.patch @@ -10,9 +10,6 @@ Signed-off-by: Nitheesh Sekar 1 file changed, 77 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/qcom,uniphy-pcie-28lp.yaml -diff --git a/Documentation/devicetree/bindings/phy/qcom,ipq5018-uniphy-pcie.yaml b/Documentation/devicetree/bindings/phy/qcom,ipq5018-uniphy-pcie.yaml -new file mode 100644 -index 000000000000..6b2574f9532e --- /dev/null +++ b/Documentation/devicetree/bindings/phy/qcom,ipq5018-uniphy-pcie.yaml @@ -0,0 +1,77 @@ diff --git a/target/linux/qualcommax/patches-6.6/0159-arm64-dts-qcom-IPQ5018-add-PCIe-related-nodes.patch b/target/linux/qualcommax/patches-6.6/0159-arm64-dts-qcom-IPQ5018-add-PCIe-related-nodes.patch index c7741814a4d444..1641cd0a8d5d39 100644 --- a/target/linux/qualcommax/patches-6.6/0159-arm64-dts-qcom-IPQ5018-add-PCIe-related-nodes.patch +++ b/target/linux/qualcommax/patches-6.6/0159-arm64-dts-qcom-IPQ5018-add-PCIe-related-nodes.patch @@ -12,7 +12,7 @@ Signed-off-by: Nitheesh Sekar --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -149,6 +149,38 @@ +@@ -254,6 +254,38 @@ status = "disabled"; }; @@ -51,7 +51,7 @@ Signed-off-by: Nitheesh Sekar qfprom: qfprom@a0000 { compatible = "qcom,ipq5018-qfprom", "qcom,qfprom"; reg = <0xa0000 0x1000>; -@@ -283,8 +315,8 @@ +@@ -388,8 +420,8 @@ reg = <0x01800000 0x80000>; clocks = <&xo_board_clk>, <&sleep_clk>, @@ -62,8 +62,8 @@ Signed-off-by: Nitheesh Sekar <0>, <0>, <0>, -@@ -501,6 +533,142 @@ - status = "disabled"; +@@ -818,6 +850,142 @@ + }; }; }; + @@ -204,4 +204,4 @@ Signed-off-by: Nitheesh Sekar + }; }; - thermal-zones { + timer { diff --git a/target/linux/qualcommax/patches-6.6/0162-clk-qcom-apss-ipq-pll-use-stromer-ops-for-IPQ5018-to-fix-boot-failure.patch b/target/linux/qualcommax/patches-6.6/0162-clk-qcom-apss-ipq-pll-use-stromer-ops-for-IPQ5018-to-fix-boot-failure.patch index be2c6b7615881c..ea6f61b57fca6c 100644 --- a/target/linux/qualcommax/patches-6.6/0162-clk-qcom-apss-ipq-pll-use-stromer-ops-for-IPQ5018-to-fix-boot-failure.patch +++ b/target/linux/qualcommax/patches-6.6/0162-clk-qcom-apss-ipq-pll-use-stromer-ops-for-IPQ5018-to-fix-boot-failure.patch @@ -28,8 +28,6 @@ Signed-off-by: Gabor Juhos drivers/clk/qcom/apss-ipq-pll.c | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) -diff --git a/drivers/clk/qcom/apss-ipq-pll.c b/drivers/clk/qcom/apss-ipq-pll.c -index 678b805f13d45..dfffec2f06ae7 100644 --- a/drivers/clk/qcom/apss-ipq-pll.c +++ b/drivers/clk/qcom/apss-ipq-pll.c @@ -55,6 +55,29 @@ static struct clk_alpha_pll ipq_pll_huay diff --git a/target/linux/qualcommax/patches-6.6/0163-clk-qcom-apss-ipq-pll-fix-PLL-rate-for-IPQ5018.patch b/target/linux/qualcommax/patches-6.6/0163-clk-qcom-apss-ipq-pll-fix-PLL-rate-for-IPQ5018.patch index dbd74161ad4a1d..4bf0598c360eb2 100644 --- a/target/linux/qualcommax/patches-6.6/0163-clk-qcom-apss-ipq-pll-fix-PLL-rate-for-IPQ5018.patch +++ b/target/linux/qualcommax/patches-6.6/0163-clk-qcom-apss-ipq-pll-fix-PLL-rate-for-IPQ5018.patch @@ -19,8 +19,6 @@ Signed-off-by: Gabor Juhos drivers/clk/qcom/apss-ipq-pll.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -diff --git a/drivers/clk/qcom/apss-ipq-pll.c b/drivers/clk/qcom/apss-ipq-pll.c -index 678b805f13d45..5e3da5558f4e0 100644 --- a/drivers/clk/qcom/apss-ipq-pll.c +++ b/drivers/clk/qcom/apss-ipq-pll.c @@ -97,7 +97,7 @@ static struct clk_alpha_pll ipq_pll_stro diff --git a/target/linux/qualcommax/patches-6.6/0302-arm64-dts-qcom-IPQ5018-add-TCSR-node.patch b/target/linux/qualcommax/patches-6.6/0302-arm64-dts-qcom-IPQ5018-add-TCSR-node.patch index e982cf06d73826..9f4386a29dc7f7 100644 --- a/target/linux/qualcommax/patches-6.6/0302-arm64-dts-qcom-IPQ5018-add-TCSR-node.patch +++ b/target/linux/qualcommax/patches-6.6/0302-arm64-dts-qcom-IPQ5018-add-TCSR-node.patch @@ -8,7 +8,7 @@ Signed-off-by: George Moussalem --- --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -333,6 +333,11 @@ +@@ -447,6 +447,11 @@ #hwlock-cells = <1>; }; diff --git a/target/linux/qualcommax/patches-6.6/0303-arm64-dts-qcom-IPQ5018-enable-the-download-mode-support.patch b/target/linux/qualcommax/patches-6.6/0303-arm64-dts-qcom-IPQ5018-enable-the-download-mode-support.patch index 265695d1c4e5cb..5707e685896da8 100644 --- a/target/linux/qualcommax/patches-6.6/0303-arm64-dts-qcom-IPQ5018-enable-the-download-mode-support.patch +++ b/target/linux/qualcommax/patches-6.6/0303-arm64-dts-qcom-IPQ5018-enable-the-download-mode-support.patch @@ -9,7 +9,7 @@ Signed-off-by: George Moussalem --- --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -82,6 +82,7 @@ +@@ -99,6 +99,7 @@ scm { compatible = "qcom,scm-ipq5018", "qcom,scm"; qcom,sdi-enabled; diff --git a/target/linux/qualcommax/patches-6.6/0306-arm64-dts-qcom-ipq5018-Add-PWM-node.patch b/target/linux/qualcommax/patches-6.6/0306-arm64-dts-qcom-ipq5018-Add-PWM-node.patch index f6542f26619fb0..74b82ea0a06f7f 100644 --- a/target/linux/qualcommax/patches-6.6/0306-arm64-dts-qcom-ipq5018-Add-PWM-node.patch +++ b/target/linux/qualcommax/patches-6.6/0306-arm64-dts-qcom-ipq5018-Add-PWM-node.patch @@ -8,7 +8,7 @@ Signed-off-by: George Moussalem --- --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -339,6 +339,16 @@ +@@ -453,6 +453,16 @@ reg = <0x01937000 0x21000>; }; diff --git a/target/linux/qualcommax/patches-6.6/0324-arm64-dts-qcom-ipq5018-Add-crypto-nodes.patch b/target/linux/qualcommax/patches-6.6/0324-arm64-dts-qcom-ipq5018-Add-crypto-nodes.patch index 135624d97acbde..97ddceb957d174 100644 --- a/target/linux/qualcommax/patches-6.6/0324-arm64-dts-qcom-ipq5018-Add-crypto-nodes.patch +++ b/target/linux/qualcommax/patches-6.6/0324-arm64-dts-qcom-ipq5018-Add-crypto-nodes.patch @@ -8,7 +8,7 @@ Signed-off-by: George Moussalem --- --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -293,6 +293,30 @@ +@@ -398,6 +398,30 @@ #thermal-sensor-cells = <1>; }; diff --git a/target/linux/qualcommax/patches-6.6/0337-arm64-dts-qcom-ipq5018-Add-PRNG-node.patch b/target/linux/qualcommax/patches-6.6/0337-arm64-dts-qcom-ipq5018-Add-PRNG-node.patch index 1154e6368931ca..72551502fa6032 100644 --- a/target/linux/qualcommax/patches-6.6/0337-arm64-dts-qcom-ipq5018-Add-PRNG-node.patch +++ b/target/linux/qualcommax/patches-6.6/0337-arm64-dts-qcom-ipq5018-Add-PRNG-node.patch @@ -8,7 +8,7 @@ Signed-off-by: George Moussalem --- --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -254,6 +254,14 @@ +@@ -359,6 +359,14 @@ }; }; diff --git a/target/linux/qualcommax/patches-6.6/0339-arm64-dts-qcom-ipq5018-Add-QUP1-UART2-node.patch b/target/linux/qualcommax/patches-6.6/0339-arm64-dts-qcom-ipq5018-Add-QUP1-UART2-node.patch index 8fa688a7ad6783..788d6cb925d71e 100644 --- a/target/linux/qualcommax/patches-6.6/0339-arm64-dts-qcom-ipq5018-Add-QUP1-UART2-node.patch +++ b/target/linux/qualcommax/patches-6.6/0339-arm64-dts-qcom-ipq5018-Add-QUP1-UART2-node.patch @@ -8,7 +8,7 @@ Signed-off-by: George Moussalem --- --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -418,6 +418,16 @@ +@@ -542,6 +542,16 @@ status = "disabled"; }; diff --git a/target/linux/qualcommax/patches-6.6/0340-arm64-dts-qcom-ipq5018-Add-QUP3-I2C-node.patch b/target/linux/qualcommax/patches-6.6/0340-arm64-dts-qcom-ipq5018-Add-QUP3-I2C-node.patch index 87edba2c14bc1c..94002f7b54aaef 100644 --- a/target/linux/qualcommax/patches-6.6/0340-arm64-dts-qcom-ipq5018-Add-QUP3-I2C-node.patch +++ b/target/linux/qualcommax/patches-6.6/0340-arm64-dts-qcom-ipq5018-Add-QUP3-I2C-node.patch @@ -8,7 +8,7 @@ Signed-off-by: George Moussalem --- --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -442,6 +442,21 @@ +@@ -580,6 +580,21 @@ status = "disabled"; }; diff --git a/target/linux/qualcommax/patches-6.6/0401-spi-dt-bindings-Introduce-qcom-spi-qpic-snand.patch b/target/linux/qualcommax/patches-6.6/0401-spi-dt-bindings-Introduce-qcom-spi-qpic-snand.patch index e3c45a28c28357..433db36871d540 100644 --- a/target/linux/qualcommax/patches-6.6/0401-spi-dt-bindings-Introduce-qcom-spi-qpic-snand.patch +++ b/target/linux/qualcommax/patches-6.6/0401-spi-dt-bindings-Introduce-qcom-spi-qpic-snand.patch @@ -9,9 +9,6 @@ SPI-NAND page cache operations. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Md Sadre Alam --- -diff --git a/Documentation/devicetree/bindings/spi/qcom,spi-qpic-snand.yaml b/Documentation/devicetree/bindings/spi/qcom,spi-qpic-snand.yaml -new file mode 100644 -index 000000000000..f0d9f7643849 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/qcom,spi-qpic-snand.yaml @@ -0,0 +1,83 @@ diff --git a/target/linux/qualcommax/patches-6.6/0402-mtd-rawnand-qcom-cleanup-qcom_nandc-driver.patch b/target/linux/qualcommax/patches-6.6/0402-mtd-rawnand-qcom-cleanup-qcom_nandc-driver.patch index b7ea4fab57f24e..91dceaa3a67e1c 100644 --- a/target/linux/qualcommax/patches-6.6/0402-mtd-rawnand-qcom-cleanup-qcom_nandc-driver.patch +++ b/target/linux/qualcommax/patches-6.6/0402-mtd-rawnand-qcom-cleanup-qcom_nandc-driver.patch @@ -14,8 +14,6 @@ cleanup qcom_nandc driver as below Signed-off-by: Md Sadre Alam --- -diff --git a/drivers/mtd/nand/raw/qcom_nandc.c b/drivers/mtd/nand/raw/qcom_nandc.c -index b8cff9240b28..d134329330fe 100644 --- a/drivers/mtd/nand/raw/qcom_nandc.c +++ b/drivers/mtd/nand/raw/qcom_nandc.c @@ -189,17 +189,6 @@ @@ -90,7 +88,7 @@ index b8cff9240b28..d134329330fe 100644 bool use_codeword_fixup; }; -@@ -613,19 +599,11 @@ static void clear_bam_transaction(struct qcom_nand_controller *nandc) +@@ -613,19 +599,11 @@ static void clear_bam_transaction(struct { struct bam_transaction *bam_txn = nandc->bam_txn; @@ -112,7 +110,7 @@ index b8cff9240b28..d134329330fe 100644 sg_init_table(bam_txn->cmd_sgl, nandc->max_cwperpage * QPIC_PER_CW_CMD_SGL); -@@ -640,17 +618,7 @@ static void qpic_bam_dma_done(void *data) +@@ -640,17 +618,7 @@ static void qpic_bam_dma_done(void *data { struct bam_transaction *bam_txn = data; @@ -131,7 +129,7 @@ index b8cff9240b28..d134329330fe 100644 } static inline struct qcom_nand_host *to_qcom_nand_host(struct nand_chip *chip) -@@ -676,10 +644,9 @@ static inline void nandc_write(struct qcom_nand_controller *nandc, int offset, +@@ -676,10 +644,9 @@ static inline void nandc_write(struct qc iowrite32(val, nandc->base + offset); } @@ -144,7 +142,7 @@ index b8cff9240b28..d134329330fe 100644 return; if (is_cpu) -@@ -694,93 +661,90 @@ static inline void nandc_read_buffer_sync(struct qcom_nand_controller *nandc, +@@ -694,93 +661,90 @@ static inline void nandc_read_buffer_syn DMA_FROM_DEVICE); } @@ -200,14 +198,27 @@ index b8cff9240b28..d134329330fe 100644 - default: - return NULL; - } -+/* Helper to check the code word, whether it is last cw or not */ -+static bool qcom_nandc_is_last_cw(struct nand_ecc_ctrl *ecc, int cw) -+{ -+ return cw == (ecc->steps - 1); - } - +-} +- -static void nandc_set_reg(struct nand_chip *chip, int offset, - u32 val) +-{ +- struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip); +- struct nandc_regs *regs = nandc->regs; +- __le32 *reg; +- +- reg = offset_to_nandc_reg(regs, offset); +- +- if (reg) +- *reg = cpu_to_le32(val); +-} +- + /* Helper to check the code word, whether it is last cw or not */ + static bool qcom_nandc_is_last_cw(struct nand_ecc_ctrl *ecc, int cw) + { + return cw == (ecc->steps - 1); + } + +/** + * nandc_set_read_loc_first() - to set read location first register + * @chip: NAND Private Flash Chip Data @@ -221,12 +232,8 @@ index b8cff9240b28..d134329330fe 100644 +static void nandc_set_read_loc_first(struct nand_chip *chip, + int reg_base, u32 cw_offset, + u32 read_size, u32 is_last_read_loc) - { - struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip); -- struct nandc_regs *regs = nandc->regs; -- __le32 *reg; -- -- reg = offset_to_nandc_reg(regs, offset); ++{ ++ struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip); + __le32 locreg_val; + u32 val = (((cw_offset) << READ_LOCATION_OFFSET) | + ((read_size) << READ_LOCATION_SIZE) | @@ -263,16 +270,9 @@ index b8cff9240b28..d134329330fe 100644 + u32 val = (((cw_offset) << READ_LOCATION_OFFSET) | + ((read_size) << READ_LOCATION_SIZE) | + ((is_last_read_loc) << READ_LOCATION_LAST)); - -- if (reg) -- *reg = cpu_to_le32(val); --} ++ + locreg_val = cpu_to_le32(val); - --/* Helper to check the code word, whether it is last cw or not */ --static bool qcom_nandc_is_last_cw(struct nand_ecc_ctrl *ecc, int cw) --{ -- return cw == (ecc->steps - 1); ++ + if (reg_base == NAND_READ_LOCATION_LAST_CW_0) + nandc->regs->read_location_last0 = locreg_val; + else if (reg_base == NAND_READ_LOCATION_LAST_CW_1) @@ -281,8 +281,8 @@ index b8cff9240b28..d134329330fe 100644 + nandc->regs->read_location_last2 = locreg_val; + else if (reg_base == NAND_READ_LOCATION_LAST_CW_3) + nandc->regs->read_location_last3 = locreg_val; - } - ++} ++ /* helper to configure location register values */ static void nandc_set_read_loc(struct nand_chip *chip, int cw, int reg, - int cw_offset, int read_size, int is_last_read_loc) @@ -303,7 +303,7 @@ index b8cff9240b28..d134329330fe 100644 return nandc_set_read_loc_last(chip, reg_base, cw_offset, read_size, is_last_read_loc); else -@@ -792,12 +756,13 @@ static void nandc_set_read_loc(struct nand_chip *chip, int cw, int reg, +@@ -792,12 +756,13 @@ static void nandc_set_read_loc(struct na static void set_address(struct qcom_nand_host *host, u16 column, int page) { struct nand_chip *chip = &host->chip; @@ -319,7 +319,7 @@ index b8cff9240b28..d134329330fe 100644 } /* -@@ -811,41 +776,43 @@ static void set_address(struct qcom_nand_host *host, u16 column, int page) +@@ -811,41 +776,43 @@ static void set_address(struct qcom_nand static void update_rw_regs(struct qcom_nand_host *host, int num_cw, bool read, int cw) { struct nand_chip *chip = &host->chip; @@ -384,7 +384,7 @@ index b8cff9240b28..d134329330fe 100644 if (read) nandc_set_read_loc(chip, cw, 0, 0, host->use_ecc ? -@@ -1121,7 +1088,7 @@ static int read_reg_dma(struct qcom_nand_controller *nandc, int first, +@@ -1121,7 +1088,7 @@ static int read_reg_dma(struct qcom_nand if (first == NAND_DEV_CMD_VLD || first == NAND_DEV_CMD1) first = dev_cmd_reg_addr(nandc, first); @@ -393,7 +393,7 @@ index b8cff9240b28..d134329330fe 100644 return prep_bam_dma_desc_cmd(nandc, true, first, vaddr, num_regs, flags); -@@ -1136,25 +1103,16 @@ static int read_reg_dma(struct qcom_nand_controller *nandc, int first, +@@ -1136,25 +1103,16 @@ static int read_reg_dma(struct qcom_nand * write_reg_dma: prepares a descriptor to write a given number of * contiguous registers * @@ -423,7 +423,7 @@ index b8cff9240b28..d134329330fe 100644 if (first == NAND_EXEC_CMD) flags |= NAND_BAM_NWD; -@@ -1165,7 +1123,7 @@ static int write_reg_dma(struct qcom_nand_controller *nandc, int first, +@@ -1165,7 +1123,7 @@ static int write_reg_dma(struct qcom_nan if (first == NAND_DEV_CMD_VLD_RESTORE || first == NAND_DEV_CMD_VLD) first = dev_cmd_reg_addr(nandc, NAND_DEV_CMD_VLD); @@ -432,7 +432,7 @@ index b8cff9240b28..d134329330fe 100644 return prep_bam_dma_desc_cmd(nandc, false, first, vaddr, num_regs, flags); -@@ -1188,7 +1146,7 @@ static int write_reg_dma(struct qcom_nand_controller *nandc, int first, +@@ -1188,7 +1146,7 @@ static int write_reg_dma(struct qcom_nan static int read_data_dma(struct qcom_nand_controller *nandc, int reg_off, const u8 *vaddr, int size, unsigned int flags) { @@ -441,7 +441,7 @@ index b8cff9240b28..d134329330fe 100644 return prep_bam_dma_desc_data(nandc, true, vaddr, size, flags); return prep_adm_dma_desc(nandc, true, reg_off, vaddr, size, false); -@@ -1206,7 +1164,7 @@ static int read_data_dma(struct qcom_nand_controller *nandc, int reg_off, +@@ -1206,7 +1164,7 @@ static int read_data_dma(struct qcom_nan static int write_data_dma(struct qcom_nand_controller *nandc, int reg_off, const u8 *vaddr, int size, unsigned int flags) { @@ -450,7 +450,7 @@ index b8cff9240b28..d134329330fe 100644 return prep_bam_dma_desc_data(nandc, false, vaddr, size, flags); return prep_adm_dma_desc(nandc, false, reg_off, vaddr, size, false); -@@ -1220,13 +1178,14 @@ static void config_nand_page_read(struct nand_chip *chip) +@@ -1220,13 +1178,14 @@ static void config_nand_page_read(struct { struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip); @@ -472,7 +472,7 @@ index b8cff9240b28..d134329330fe 100644 } /* -@@ -1239,16 +1198,16 @@ config_nand_cw_read(struct nand_chip *chip, bool use_ecc, int cw) +@@ -1239,16 +1198,16 @@ config_nand_cw_read(struct nand_chip *ch struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip); struct nand_ecc_ctrl *ecc = &chip->ecc; @@ -496,7 +496,7 @@ index b8cff9240b28..d134329330fe 100644 if (use_ecc) { read_reg_dma(nandc, NAND_FLASH_STATUS, 2, 0); -@@ -1279,10 +1238,10 @@ static void config_nand_page_write(struct nand_chip *chip) +@@ -1279,10 +1238,10 @@ static void config_nand_page_write(struc { struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip); @@ -511,7 +511,7 @@ index b8cff9240b28..d134329330fe 100644 NAND_BAM_NEXT_SGL); } -@@ -1294,13 +1253,13 @@ static void config_nand_cw_write(struct nand_chip *chip) +@@ -1294,13 +1253,13 @@ static void config_nand_cw_write(struct { struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip); @@ -529,7 +529,7 @@ index b8cff9240b28..d134329330fe 100644 } /* helpers to submit/free our list of dma descriptors */ -@@ -1311,7 +1270,7 @@ static int submit_descs(struct qcom_nand_controller *nandc) +@@ -1311,7 +1270,7 @@ static int submit_descs(struct qcom_nand struct bam_transaction *bam_txn = nandc->bam_txn; int ret = 0; @@ -538,7 +538,7 @@ index b8cff9240b28..d134329330fe 100644 if (bam_txn->rx_sgl_pos > bam_txn->rx_sgl_start) { ret = prepare_bam_async_desc(nandc, nandc->rx_chan, 0); if (ret) -@@ -1336,14 +1295,9 @@ static int submit_descs(struct qcom_nand_controller *nandc) +@@ -1336,14 +1295,9 @@ static int submit_descs(struct qcom_nand list_for_each_entry(desc, &nandc->desc_list, node) cookie = dmaengine_submit(desc->dma_desc); @@ -554,7 +554,7 @@ index b8cff9240b28..d134329330fe 100644 dma_async_issue_pending(nandc->tx_chan); dma_async_issue_pending(nandc->rx_chan); -@@ -1365,7 +1319,7 @@ static int submit_descs(struct qcom_nand_controller *nandc) +@@ -1365,7 +1319,7 @@ err_unmap_free_desc: list_for_each_entry_safe(desc, n, &nandc->desc_list, node) { list_del(&desc->node); @@ -563,7 +563,7 @@ index b8cff9240b28..d134329330fe 100644 dma_unmap_sg(nandc->dev, desc->bam_sgl, desc->sgl_cnt, desc->dir); else -@@ -1382,7 +1336,7 @@ static int submit_descs(struct qcom_nand_controller *nandc) +@@ -1382,7 +1336,7 @@ err_unmap_free_desc: static void clear_read_regs(struct qcom_nand_controller *nandc) { nandc->reg_read_pos = 0; @@ -572,7 +572,7 @@ index b8cff9240b28..d134329330fe 100644 } /* -@@ -1446,7 +1400,7 @@ static int check_flash_errors(struct qcom_nand_host *host, int cw_cnt) +@@ -1446,7 +1400,7 @@ static int check_flash_errors(struct qco struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip); int i; @@ -581,7 +581,7 @@ index b8cff9240b28..d134329330fe 100644 for (i = 0; i < cw_cnt; i++) { u32 flash = le32_to_cpu(nandc->reg_read_buf[i]); -@@ -1476,7 +1430,7 @@ qcom_nandc_read_cw_raw(struct mtd_info *mtd, struct nand_chip *chip, +@@ -1476,7 +1430,7 @@ qcom_nandc_read_cw_raw(struct mtd_info * clear_read_regs(nandc); host->use_ecc = false; @@ -590,7 +590,7 @@ index b8cff9240b28..d134329330fe 100644 raw_cw = ecc->steps - 1; clear_bam_transaction(nandc); -@@ -1497,7 +1451,7 @@ qcom_nandc_read_cw_raw(struct mtd_info *mtd, struct nand_chip *chip, +@@ -1497,7 +1451,7 @@ qcom_nandc_read_cw_raw(struct mtd_info * oob_size2 = host->ecc_bytes_hw + host->spare_bytes; } @@ -599,7 +599,7 @@ index b8cff9240b28..d134329330fe 100644 nandc_set_read_loc(chip, cw, 0, read_loc, data_size1, 0); read_loc += data_size1; -@@ -1621,7 +1575,7 @@ static int parse_read_errors(struct qcom_nand_host *host, u8 *data_buf, +@@ -1621,7 +1575,7 @@ static int parse_read_errors(struct qcom u8 *data_buf_start = data_buf, *oob_buf_start = oob_buf; buf = (struct read_stats *)nandc->reg_read_buf; @@ -608,7 +608,7 @@ index b8cff9240b28..d134329330fe 100644 for (i = 0; i < ecc->steps; i++, buf++) { u32 flash, buffer, erased_cw; -@@ -1734,7 +1688,7 @@ static int read_page_ecc(struct qcom_nand_host *host, u8 *data_buf, +@@ -1734,7 +1688,7 @@ static int read_page_ecc(struct qcom_nan oob_size = host->ecc_bytes_hw + host->spare_bytes; } @@ -617,7 +617,7 @@ index b8cff9240b28..d134329330fe 100644 if (data_buf && oob_buf) { nandc_set_read_loc(chip, i, 0, 0, data_size, 0); nandc_set_read_loc(chip, i, 1, data_size, -@@ -2455,14 +2409,14 @@ static int qcom_nand_attach_chip(struct nand_chip *chip) +@@ -2455,14 +2409,14 @@ static int qcom_nand_attach_chip(struct mtd_set_ooblayout(mtd, &qcom_nand_ooblayout_ops); /* Free the initially allocated BAM transaction for reading the ONFI params */ @@ -634,7 +634,7 @@ index b8cff9240b28..d134329330fe 100644 nandc->bam_txn = alloc_bam_transaction(nandc); if (!nandc->bam_txn) { dev_err(nandc->dev, -@@ -2522,7 +2476,7 @@ static int qcom_nand_attach_chip(struct nand_chip *chip) +@@ -2522,7 +2476,7 @@ static int qcom_nand_attach_chip(struct | ecc_mode << ECC_MODE | host->ecc_bytes_hw << ECC_PARITY_SIZE_BYTES_BCH; @@ -643,7 +643,7 @@ index b8cff9240b28..d134329330fe 100644 host->ecc_buf_cfg = 0x203 << NUM_STEPS; host->clrflashstatus = FS_READY_BSY_N; -@@ -2556,7 +2510,7 @@ static int qcom_op_cmd_mapping(struct nand_chip *chip, u8 opcode, +@@ -2556,7 +2510,7 @@ static int qcom_op_cmd_mapping(struct na cmd = OP_FETCH_ID; break; case NAND_CMD_PARAM: @@ -652,7 +652,7 @@ index b8cff9240b28..d134329330fe 100644 cmd = OP_PAGE_READ_ONFI_READ; else cmd = OP_PAGE_READ; -@@ -2609,7 +2563,7 @@ static int qcom_parse_instructions(struct nand_chip *chip, +@@ -2609,7 +2563,7 @@ static int qcom_parse_instructions(struc if (ret < 0) return ret; @@ -661,7 +661,7 @@ index b8cff9240b28..d134329330fe 100644 q_op->rdy_delay_ns = instr->delay_ns; break; -@@ -2619,10 +2573,10 @@ static int qcom_parse_instructions(struct nand_chip *chip, +@@ -2619,10 +2573,10 @@ static int qcom_parse_instructions(struc addrs = &instr->ctx.addr.addrs[offset]; for (i = 0; i < min_t(unsigned int, 4, naddrs); i++) @@ -674,7 +674,7 @@ index b8cff9240b28..d134329330fe 100644 q_op->rdy_delay_ns = instr->delay_ns; break; -@@ -2663,7 +2617,7 @@ static int qcom_wait_rdy_poll(struct nand_chip *chip, unsigned int time_ms) +@@ -2663,7 +2617,7 @@ static int qcom_wait_rdy_poll(struct nan unsigned long start = jiffies + msecs_to_jiffies(time_ms); u32 flash; @@ -683,7 +683,7 @@ index b8cff9240b28..d134329330fe 100644 do { flash = le32_to_cpu(nandc->reg_read_buf[0]); -@@ -2706,11 +2660,11 @@ static int qcom_read_status_exec(struct nand_chip *chip, +@@ -2706,11 +2660,11 @@ static int qcom_read_status_exec(struct clear_read_regs(nandc); clear_bam_transaction(nandc); @@ -699,7 +699,7 @@ index b8cff9240b28..d134329330fe 100644 read_reg_dma(nandc, NAND_FLASH_STATUS, 1, NAND_BAM_NEXT_SGL); ret = submit_descs(nandc); -@@ -2719,7 +2673,7 @@ static int qcom_read_status_exec(struct nand_chip *chip, +@@ -2719,7 +2673,7 @@ static int qcom_read_status_exec(struct goto err_out; } @@ -708,7 +708,7 @@ index b8cff9240b28..d134329330fe 100644 for (i = 0; i < num_cw; i++) { flash_status = le32_to_cpu(nandc->reg_read_buf[i]); -@@ -2763,16 +2717,14 @@ static int qcom_read_id_type_exec(struct nand_chip *chip, const struct nand_subo +@@ -2763,16 +2717,14 @@ static int qcom_read_id_type_exec(struct clear_read_regs(nandc); clear_bam_transaction(nandc); @@ -717,14 +717,14 @@ index b8cff9240b28..d134329330fe 100644 - nandc_set_reg(chip, NAND_ADDR1, q_op.addr2_reg); - nandc_set_reg(chip, NAND_FLASH_CHIP_SELECT, - nandc->props->is_bam ? 0 : DM_EN); -- -- nandc_set_reg(chip, NAND_EXEC_CMD, 1); + nandc->regs->cmd = q_op.cmd_reg; + nandc->regs->addr0 = q_op.addr1_reg; + nandc->regs->addr1 = q_op.addr2_reg; + nandc->regs->chip_sel = cpu_to_le32(nandc->props->supports_bam ? 0 : DM_EN); + nandc->regs->exec = cpu_to_le32(1); +- nandc_set_reg(chip, NAND_EXEC_CMD, 1); +- - write_reg_dma(nandc, NAND_FLASH_CMD, 4, NAND_BAM_NEXT_SGL); - write_reg_dma(nandc, NAND_EXEC_CMD, 1, NAND_BAM_NEXT_SGL); + write_reg_dma(nandc, &nandc->regs->cmd, NAND_FLASH_CMD, 4, NAND_BAM_NEXT_SGL); @@ -732,7 +732,7 @@ index b8cff9240b28..d134329330fe 100644 read_reg_dma(nandc, NAND_READ_ID, 1, NAND_BAM_NEXT_SGL); -@@ -2786,7 +2738,7 @@ static int qcom_read_id_type_exec(struct nand_chip *chip, const struct nand_subo +@@ -2786,7 +2738,7 @@ static int qcom_read_id_type_exec(struct op_id = q_op.data_instr_idx; len = nand_subop_get_data_len(subop, op_id); @@ -741,7 +741,7 @@ index b8cff9240b28..d134329330fe 100644 memcpy(instr->ctx.data.buf.in, nandc->reg_read_buf, len); err_out: -@@ -2807,15 +2759,14 @@ static int qcom_misc_cmd_type_exec(struct nand_chip *chip, const struct nand_sub +@@ -2807,15 +2759,14 @@ static int qcom_misc_cmd_type_exec(struc if (q_op.flag == OP_PROGRAM_PAGE) { goto wait_rdy; @@ -764,7 +764,7 @@ index b8cff9240b28..d134329330fe 100644 return 0; } -@@ -2826,14 +2777,14 @@ static int qcom_misc_cmd_type_exec(struct nand_chip *chip, const struct nand_sub +@@ -2826,14 +2777,14 @@ static int qcom_misc_cmd_type_exec(struc clear_read_regs(nandc); clear_bam_transaction(nandc); @@ -785,7 +785,7 @@ index b8cff9240b28..d134329330fe 100644 read_reg_dma(nandc, NAND_FLASH_STATUS, 1, NAND_BAM_NEXT_SGL); ret = submit_descs(nandc); -@@ -2864,7 +2815,7 @@ static int qcom_param_page_type_exec(struct nand_chip *chip, const struct nand_ +@@ -2864,7 +2815,7 @@ static int qcom_param_page_type_exec(str if (ret) return ret; @@ -794,27 +794,11 @@ index b8cff9240b28..d134329330fe 100644 nandc->buf_count = 0; nandc->buf_start = 0; -@@ -2872,38 +2823,38 @@ static int qcom_param_page_type_exec(struct nand_chip *chip, const struct nand_ +@@ -2872,38 +2823,38 @@ static int qcom_param_page_type_exec(str clear_read_regs(nandc); clear_bam_transaction(nandc); - nandc_set_reg(chip, NAND_FLASH_CMD, q_op.cmd_reg); -- -- nandc_set_reg(chip, NAND_ADDR0, 0); -- nandc_set_reg(chip, NAND_ADDR1, 0); -- nandc_set_reg(chip, NAND_DEV0_CFG0, 0 << CW_PER_PAGE -- | 512 << UD_SIZE_BYTES -- | 5 << NUM_ADDR_CYCLES -- | 0 << SPARE_SIZE_BYTES); -- nandc_set_reg(chip, NAND_DEV0_CFG1, 7 << NAND_RECOVERY_CYCLES -- | 0 << CS_ACTIVE_BSY -- | 17 << BAD_BLOCK_BYTE_NUM -- | 1 << BAD_BLOCK_IN_SPARE_AREA -- | 2 << WR_RD_BSY_GAP -- | 0 << WIDE_FLASH -- | 1 << DEV0_CFG1_ECC_DISABLE); -- if (!nandc->props->qpic_v2) -- nandc_set_reg(chip, NAND_EBI2_ECC_BUF_CFG, 1 << ECC_CFG_ECC_DISABLE); + nandc->regs->cmd = q_op.cmd_reg; + nandc->regs->addr0 = 0; + nandc->regs->addr1 = 0; @@ -831,7 +815,22 @@ index b8cff9240b28..d134329330fe 100644 + | 2 << WR_RD_BSY_GAP + | 0 << WIDE_FLASH + | 1 << DEV0_CFG1_ECC_DISABLE); -+ + +- nandc_set_reg(chip, NAND_ADDR0, 0); +- nandc_set_reg(chip, NAND_ADDR1, 0); +- nandc_set_reg(chip, NAND_DEV0_CFG0, 0 << CW_PER_PAGE +- | 512 << UD_SIZE_BYTES +- | 5 << NUM_ADDR_CYCLES +- | 0 << SPARE_SIZE_BYTES); +- nandc_set_reg(chip, NAND_DEV0_CFG1, 7 << NAND_RECOVERY_CYCLES +- | 0 << CS_ACTIVE_BSY +- | 17 << BAD_BLOCK_BYTE_NUM +- | 1 << BAD_BLOCK_IN_SPARE_AREA +- | 2 << WR_RD_BSY_GAP +- | 0 << WIDE_FLASH +- | 1 << DEV0_CFG1_ECC_DISABLE); +- if (!nandc->props->qpic_v2) +- nandc_set_reg(chip, NAND_EBI2_ECC_BUF_CFG, 1 << ECC_CFG_ECC_DISABLE); + if (!nandc->props->qpic_version2) + nandc->regs->ecc_buf_cfg = cpu_to_le32(1 << ECC_CFG_ECC_DISABLE); @@ -849,18 +848,19 @@ index b8cff9240b28..d134329330fe 100644 } - nandc_set_reg(chip, NAND_EXEC_CMD, 1); -+ nandc->regs->exec = cpu_to_le32(1); - +- - if (!nandc->props->qpic_v2) { - nandc_set_reg(chip, NAND_DEV_CMD1_RESTORE, nandc->cmd1); - nandc_set_reg(chip, NAND_DEV_CMD_VLD_RESTORE, nandc->vld); ++ nandc->regs->exec = cpu_to_le32(1); ++ + if (!nandc->props->qpic_version2) { + nandc->regs->orig_cmd1 = cpu_to_le32(nandc->cmd1); + nandc->regs->orig_vld = cpu_to_le32(nandc->vld); } instr = q_op.data_instr; -@@ -2912,9 +2863,9 @@ static int qcom_param_page_type_exec(struct nand_chip *chip, const struct nand_ +@@ -2912,9 +2863,9 @@ static int qcom_param_page_type_exec(str nandc_set_read_loc(chip, 0, 0, 0, len, 1); @@ -873,7 +873,7 @@ index b8cff9240b28..d134329330fe 100644 } nandc->buf_count = len; -@@ -2926,9 +2877,10 @@ static int qcom_param_page_type_exec(struct nand_chip *chip, const struct nand_ +@@ -2926,9 +2877,10 @@ static int qcom_param_page_type_exec(str nandc->buf_count, 0); /* restore CMD1 and VLD regs */ @@ -887,7 +887,7 @@ index b8cff9240b28..d134329330fe 100644 } ret = submit_descs(nandc); -@@ -3017,7 +2969,7 @@ static const struct nand_controller_ops qcom_nandc_ops = { +@@ -3017,7 +2969,7 @@ static const struct nand_controller_ops static void qcom_nandc_unalloc(struct qcom_nand_controller *nandc) { @@ -896,7 +896,7 @@ index b8cff9240b28..d134329330fe 100644 if (!dma_mapping_error(nandc->dev, nandc->reg_read_dma)) dma_unmap_single(nandc->dev, nandc->reg_read_dma, MAX_REG_RD * -@@ -3070,7 +3022,7 @@ static int qcom_nandc_alloc(struct qcom_nand_controller *nandc) +@@ -3070,7 +3022,7 @@ static int qcom_nandc_alloc(struct qcom_ if (!nandc->reg_read_buf) return -ENOMEM; @@ -905,7 +905,7 @@ index b8cff9240b28..d134329330fe 100644 nandc->reg_read_dma = dma_map_single(nandc->dev, nandc->reg_read_buf, MAX_REG_RD * -@@ -3151,15 +3103,15 @@ static int qcom_nandc_setup(struct qcom_nand_controller *nandc) +@@ -3151,15 +3103,15 @@ static int qcom_nandc_setup(struct qcom_ u32 nand_ctrl; /* kill onenand */ @@ -924,7 +924,7 @@ index b8cff9240b28..d134329330fe 100644 nand_ctrl = nandc_read(nandc, NAND_CTRL); /* -@@ -3176,7 +3128,7 @@ static int qcom_nandc_setup(struct qcom_nand_controller *nandc) +@@ -3176,7 +3128,7 @@ static int qcom_nandc_setup(struct qcom_ } /* save the original values of these registers */ @@ -933,7 +933,7 @@ index b8cff9240b28..d134329330fe 100644 nandc->cmd1 = nandc_read(nandc, dev_cmd_reg_addr(nandc, NAND_DEV_CMD1)); nandc->vld = NAND_DEV_CMD_VLD_VAL; } -@@ -3349,7 +3301,7 @@ static int qcom_nandc_parse_dt(struct platform_device *pdev) +@@ -3349,7 +3301,7 @@ static int qcom_nandc_parse_dt(struct pl struct device_node *np = nandc->dev->of_node; int ret; @@ -942,7 +942,7 @@ index b8cff9240b28..d134329330fe 100644 ret = of_property_read_u32(np, "qcom,cmd-crci", &nandc->cmd_crci); if (ret) { -@@ -3474,30 +3426,30 @@ static void qcom_nandc_remove(struct platform_device *pdev) +@@ -3474,30 +3426,30 @@ static void qcom_nandc_remove(struct pla static const struct qcom_nandc_props ipq806x_nandc_props = { .ecc_modes = (ECC_RS_4BIT | ECC_BCH_8BIT), diff --git a/target/linux/qualcommax/patches-6.6/0403-mtd-rawnand-qcom-Add-qcom-prefix-to-common-api.patch b/target/linux/qualcommax/patches-6.6/0403-mtd-rawnand-qcom-Add-qcom-prefix-to-common-api.patch index 4fcefe0bcbcaf4..0bce70c1753a2c 100644 --- a/target/linux/qualcommax/patches-6.6/0403-mtd-rawnand-qcom-Add-qcom-prefix-to-common-api.patch +++ b/target/linux/qualcommax/patches-6.6/0403-mtd-rawnand-qcom-Add-qcom-prefix-to-common-api.patch @@ -7,8 +7,6 @@ used by spi nand driver and raw nand driver. Signed-off-by: Md Sadre Alam --- -diff --git a/drivers/mtd/nand/raw/qcom_nandc.c b/drivers/mtd/nand/raw/qcom_nandc.c -index d134329330fe..daf8f73b25bc 100644 --- a/drivers/mtd/nand/raw/qcom_nandc.c +++ b/drivers/mtd/nand/raw/qcom_nandc.c @@ -53,7 +53,7 @@ @@ -38,7 +36,7 @@ index d134329330fe..daf8f73b25bc 100644 { struct bam_transaction *bam_txn = nandc->bam_txn; -@@ -559,7 +559,7 @@ static void free_bam_transaction(struct qcom_nand_controller *nandc) +@@ -559,7 +559,7 @@ static void free_bam_transaction(struct /* Allocates and Initializes the BAM transaction */ static struct bam_transaction * @@ -47,7 +45,7 @@ index d134329330fe..daf8f73b25bc 100644 { struct bam_transaction *bam_txn; size_t bam_txn_size; -@@ -595,7 +595,7 @@ alloc_bam_transaction(struct qcom_nand_controller *nandc) +@@ -595,7 +595,7 @@ alloc_bam_transaction(struct qcom_nand_c } /* Clears the BAM transaction indexes */ @@ -56,7 +54,7 @@ index d134329330fe..daf8f73b25bc 100644 { struct bam_transaction *bam_txn = nandc->bam_txn; -@@ -614,7 +614,7 @@ static void clear_bam_transaction(struct qcom_nand_controller *nandc) +@@ -614,7 +614,7 @@ static void clear_bam_transaction(struct } /* Callback for DMA descriptor completion */ @@ -65,7 +63,7 @@ index d134329330fe..daf8f73b25bc 100644 { struct bam_transaction *bam_txn = data; -@@ -644,7 +644,7 @@ static inline void nandc_write(struct qcom_nand_controller *nandc, int offset, +@@ -644,7 +644,7 @@ static inline void nandc_write(struct qc iowrite32(val, nandc->base + offset); } @@ -74,7 +72,7 @@ index d134329330fe..daf8f73b25bc 100644 { if (!nandc->props->supports_bam) return; -@@ -824,9 +824,9 @@ static void update_rw_regs(struct qcom_nand_host *host, int num_cw, bool read, i +@@ -824,9 +824,9 @@ static void update_rw_regs(struct qcom_n * for BAM. This descriptor will be added in the NAND DMA descriptor queue * which will be submitted to DMA engine. */ @@ -87,7 +85,7 @@ index d134329330fe..daf8f73b25bc 100644 { struct desc_info *desc; struct scatterlist *sgl; -@@ -903,9 +903,9 @@ static int prepare_bam_async_desc(struct qcom_nand_controller *nandc, +@@ -903,9 +903,9 @@ static int prepare_bam_async_desc(struct * NAND_BAM_NEXT_SGL will be used for starting the separate SGL * after the current command element. */ @@ -100,7 +98,7 @@ index d134329330fe..daf8f73b25bc 100644 { int bam_ce_size; int i, ret; -@@ -943,9 +943,9 @@ static int prep_bam_dma_desc_cmd(struct qcom_nand_controller *nandc, bool read, +@@ -943,9 +943,9 @@ static int prep_bam_dma_desc_cmd(struct bam_txn->bam_ce_start = bam_txn->bam_ce_pos; if (flags & NAND_BAM_NWD) { @@ -113,7 +111,7 @@ index d134329330fe..daf8f73b25bc 100644 if (ret) return ret; } -@@ -958,9 +958,8 @@ static int prep_bam_dma_desc_cmd(struct qcom_nand_controller *nandc, bool read, +@@ -958,9 +958,8 @@ static int prep_bam_dma_desc_cmd(struct * Prepares the data descriptor for BAM DMA which will be used for NAND * data reads and writes. */ @@ -125,7 +123,7 @@ index d134329330fe..daf8f73b25bc 100644 { int ret; struct bam_transaction *bam_txn = nandc->bam_txn; -@@ -979,8 +978,8 @@ static int prep_bam_dma_desc_data(struct qcom_nand_controller *nandc, bool read, +@@ -979,8 +978,8 @@ static int prep_bam_dma_desc_data(struct * is not set, form the DMA descriptor */ if (!(flags & NAND_BAM_NO_EOT)) { @@ -136,7 +134,7 @@ index d134329330fe..daf8f73b25bc 100644 if (ret) return ret; } -@@ -989,9 +988,9 @@ static int prep_bam_dma_desc_data(struct qcom_nand_controller *nandc, bool read, +@@ -989,9 +988,9 @@ static int prep_bam_dma_desc_data(struct return 0; } @@ -149,7 +147,7 @@ index d134329330fe..daf8f73b25bc 100644 { struct desc_info *desc; struct dma_async_tx_descriptor *dma_desc; -@@ -1069,15 +1068,15 @@ static int prep_adm_dma_desc(struct qcom_nand_controller *nandc, bool read, +@@ -1069,15 +1068,15 @@ err: } /* @@ -168,7 +166,7 @@ index d134329330fe..daf8f73b25bc 100644 { bool flow_control = false; void *vaddr; -@@ -1089,18 +1088,18 @@ static int read_reg_dma(struct qcom_nand_controller *nandc, int first, +@@ -1089,18 +1088,18 @@ static int read_reg_dma(struct qcom_nand first = dev_cmd_reg_addr(nandc, first); if (nandc->props->supports_bam) @@ -190,7 +188,7 @@ index d134329330fe..daf8f73b25bc 100644 * contiguous registers * * @vaddr: contnigeous memory from where register value will -@@ -1109,8 +1108,8 @@ static int read_reg_dma(struct qcom_nand_controller *nandc, int first, +@@ -1109,8 +1108,8 @@ static int read_reg_dma(struct qcom_nand * @num_regs: number of registers to write * @flags: flags to control DMA descriptor preparation */ @@ -201,7 +199,7 @@ index d134329330fe..daf8f73b25bc 100644 { bool flow_control = false; -@@ -1124,18 +1123,18 @@ static int write_reg_dma(struct qcom_nand_controller *nandc, __le32 *vaddr, +@@ -1124,18 +1123,18 @@ static int write_reg_dma(struct qcom_nan first = dev_cmd_reg_addr(nandc, NAND_DEV_CMD_VLD); if (nandc->props->supports_bam) @@ -223,7 +221,7 @@ index d134329330fe..daf8f73b25bc 100644 * controller's internal buffer to the buffer 'vaddr' * * @reg_off: offset within the controller's data buffer -@@ -1143,17 +1142,17 @@ static int write_reg_dma(struct qcom_nand_controller *nandc, __le32 *vaddr, +@@ -1143,17 +1142,17 @@ static int write_reg_dma(struct qcom_nan * @size: DMA transaction size in bytes * @flags: flags to control DMA descriptor preparation */ @@ -246,7 +244,7 @@ index d134329330fe..daf8f73b25bc 100644 * 'vaddr' to the controller's internal buffer * * @reg_off: offset within the controller's data buffer -@@ -1161,13 +1160,13 @@ static int read_data_dma(struct qcom_nand_controller *nandc, int reg_off, +@@ -1161,13 +1160,13 @@ static int read_data_dma(struct qcom_nan * @size: DMA transaction size in bytes * @flags: flags to control DMA descriptor preparation */ @@ -264,7 +262,7 @@ index d134329330fe..daf8f73b25bc 100644 } /* -@@ -1178,14 +1177,14 @@ static void config_nand_page_read(struct nand_chip *chip) +@@ -1178,14 +1177,14 @@ static void config_nand_page_read(struct { struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip); @@ -286,7 +284,7 @@ index d134329330fe..daf8f73b25bc 100644 } /* -@@ -1204,17 +1203,17 @@ config_nand_cw_read(struct nand_chip *chip, bool use_ecc, int cw) +@@ -1204,17 +1203,17 @@ config_nand_cw_read(struct nand_chip *ch reg = &nandc->regs->read_location_last0; if (nandc->props->supports_bam) @@ -311,7 +309,7 @@ index d134329330fe..daf8f73b25bc 100644 } } -@@ -1238,11 +1237,11 @@ static void config_nand_page_write(struct nand_chip *chip) +@@ -1238,11 +1237,11 @@ static void config_nand_page_write(struc { struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip); @@ -327,7 +325,7 @@ index d134329330fe..daf8f73b25bc 100644 } /* -@@ -1253,17 +1252,18 @@ static void config_nand_cw_write(struct nand_chip *chip) +@@ -1253,17 +1252,18 @@ static void config_nand_cw_write(struct { struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip); @@ -352,7 +350,7 @@ index d134329330fe..daf8f73b25bc 100644 { struct desc_info *desc, *n; dma_cookie_t cookie = 0; -@@ -1272,21 +1272,21 @@ static int submit_descs(struct qcom_nand_controller *nandc) +@@ -1272,21 +1272,21 @@ static int submit_descs(struct qcom_nand if (nandc->props->supports_bam) { if (bam_txn->rx_sgl_pos > bam_txn->rx_sgl_start) { @@ -379,7 +377,7 @@ index d134329330fe..daf8f73b25bc 100644 if (ret) goto err_unmap_free_desc; } -@@ -1296,7 +1296,7 @@ static int submit_descs(struct qcom_nand_controller *nandc) +@@ -1296,7 +1296,7 @@ static int submit_descs(struct qcom_nand cookie = dmaengine_submit(desc->dma_desc); if (nandc->props->supports_bam) { @@ -388,7 +386,7 @@ index d134329330fe..daf8f73b25bc 100644 bam_txn->last_cmd_desc->callback_param = bam_txn; dma_async_issue_pending(nandc->tx_chan); -@@ -1314,7 +1314,7 @@ static int submit_descs(struct qcom_nand_controller *nandc) +@@ -1314,7 +1314,7 @@ static int submit_descs(struct qcom_nand err_unmap_free_desc: /* * Unmap the dma sg_list and free the desc allocated by both @@ -397,7 +395,7 @@ index d134329330fe..daf8f73b25bc 100644 */ list_for_each_entry_safe(desc, n, &nandc->desc_list, node) { list_del(&desc->node); -@@ -1333,10 +1333,10 @@ static int submit_descs(struct qcom_nand_controller *nandc) +@@ -1333,10 +1333,10 @@ err_unmap_free_desc: } /* reset the register read buffer for next NAND operation */ @@ -410,7 +408,7 @@ index d134329330fe..daf8f73b25bc 100644 } /* -@@ -1400,7 +1400,7 @@ static int check_flash_errors(struct qcom_nand_host *host, int cw_cnt) +@@ -1400,7 +1400,7 @@ static int check_flash_errors(struct qco struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip); int i; @@ -419,7 +417,7 @@ index d134329330fe..daf8f73b25bc 100644 for (i = 0; i < cw_cnt; i++) { u32 flash = le32_to_cpu(nandc->reg_read_buf[i]); -@@ -1427,13 +1427,13 @@ qcom_nandc_read_cw_raw(struct mtd_info *mtd, struct nand_chip *chip, +@@ -1427,13 +1427,13 @@ qcom_nandc_read_cw_raw(struct mtd_info * nand_read_page_op(chip, page, 0, NULL, 0); nandc->buf_count = 0; nandc->buf_start = 0; @@ -435,7 +433,7 @@ index d134329330fe..daf8f73b25bc 100644 set_address(host, host->cw_size * cw, page); update_rw_regs(host, 1, true, raw_cw); config_nand_page_read(chip); -@@ -1466,18 +1466,18 @@ qcom_nandc_read_cw_raw(struct mtd_info *mtd, struct nand_chip *chip, +@@ -1466,18 +1466,18 @@ qcom_nandc_read_cw_raw(struct mtd_info * config_nand_cw_read(chip, false, raw_cw); @@ -459,7 +457,7 @@ index d134329330fe..daf8f73b25bc 100644 if (ret) { dev_err(nandc->dev, "failure to read raw cw %d\n", cw); return ret; -@@ -1575,7 +1575,7 @@ static int parse_read_errors(struct qcom_nand_host *host, u8 *data_buf, +@@ -1575,7 +1575,7 @@ static int parse_read_errors(struct qcom u8 *data_buf_start = data_buf, *oob_buf_start = oob_buf; buf = (struct read_stats *)nandc->reg_read_buf; @@ -468,7 +466,7 @@ index d134329330fe..daf8f73b25bc 100644 for (i = 0; i < ecc->steps; i++, buf++) { u32 flash, buffer, erased_cw; -@@ -1704,8 +1704,8 @@ static int read_page_ecc(struct qcom_nand_host *host, u8 *data_buf, +@@ -1704,8 +1704,8 @@ static int read_page_ecc(struct qcom_nan config_nand_cw_read(chip, true, i); if (data_buf) @@ -479,7 +477,7 @@ index d134329330fe..daf8f73b25bc 100644 /* * when ecc is enabled, the controller doesn't read the real -@@ -1720,8 +1720,8 @@ static int read_page_ecc(struct qcom_nand_host *host, u8 *data_buf, +@@ -1720,8 +1720,8 @@ static int read_page_ecc(struct qcom_nan for (j = 0; j < host->bbm_size; j++) *oob_buf++ = 0xff; @@ -490,7 +488,7 @@ index d134329330fe..daf8f73b25bc 100644 } if (data_buf) -@@ -1730,7 +1730,7 @@ static int read_page_ecc(struct qcom_nand_host *host, u8 *data_buf, +@@ -1730,7 +1730,7 @@ static int read_page_ecc(struct qcom_nan oob_buf += oob_size; } @@ -499,7 +497,7 @@ index d134329330fe..daf8f73b25bc 100644 if (ret) { dev_err(nandc->dev, "failure to read page/oob\n"); return ret; -@@ -1751,7 +1751,7 @@ static int copy_last_cw(struct qcom_nand_host *host, int page) +@@ -1751,7 +1751,7 @@ static int copy_last_cw(struct qcom_nand int size; int ret; @@ -508,7 +506,7 @@ index d134329330fe..daf8f73b25bc 100644 size = host->use_ecc ? host->cw_data : host->cw_size; -@@ -1763,9 +1763,9 @@ static int copy_last_cw(struct qcom_nand_host *host, int page) +@@ -1763,9 +1763,9 @@ static int copy_last_cw(struct qcom_nand config_nand_single_cw_page_read(chip, host->use_ecc, ecc->steps - 1); @@ -520,7 +518,7 @@ index d134329330fe..daf8f73b25bc 100644 if (ret) dev_err(nandc->dev, "failed to copy last codeword\n"); -@@ -1851,14 +1851,14 @@ static int qcom_nandc_read_page(struct nand_chip *chip, u8 *buf, +@@ -1851,14 +1851,14 @@ static int qcom_nandc_read_page(struct n nandc->buf_count = 0; nandc->buf_start = 0; host->use_ecc = true; @@ -537,7 +535,7 @@ index d134329330fe..daf8f73b25bc 100644 return read_page_ecc(host, data_buf, oob_buf, page); } -@@ -1899,8 +1899,8 @@ static int qcom_nandc_read_oob(struct nand_chip *chip, int page) +@@ -1899,8 +1899,8 @@ static int qcom_nandc_read_oob(struct na if (host->nr_boot_partitions) qcom_nandc_codeword_fixup(host, page); @@ -548,7 +546,7 @@ index d134329330fe..daf8f73b25bc 100644 host->use_ecc = true; set_address(host, 0, page); -@@ -1927,8 +1927,8 @@ static int qcom_nandc_write_page(struct nand_chip *chip, const u8 *buf, +@@ -1927,8 +1927,8 @@ static int qcom_nandc_write_page(struct set_address(host, 0, page); nandc->buf_count = 0; nandc->buf_start = 0; @@ -559,7 +557,7 @@ index d134329330fe..daf8f73b25bc 100644 data_buf = (u8 *)buf; oob_buf = chip->oob_poi; -@@ -1949,8 +1949,8 @@ static int qcom_nandc_write_page(struct nand_chip *chip, const u8 *buf, +@@ -1949,8 +1949,8 @@ static int qcom_nandc_write_page(struct oob_size = ecc->bytes; } @@ -570,7 +568,7 @@ index d134329330fe..daf8f73b25bc 100644 /* * when ECC is enabled, we don't really need to write anything -@@ -1962,8 +1962,8 @@ static int qcom_nandc_write_page(struct nand_chip *chip, const u8 *buf, +@@ -1962,8 +1962,8 @@ static int qcom_nandc_write_page(struct if (qcom_nandc_is_last_cw(ecc, i)) { oob_buf += host->bbm_size; @@ -581,7 +579,7 @@ index d134329330fe..daf8f73b25bc 100644 } config_nand_cw_write(chip); -@@ -1972,7 +1972,7 @@ static int qcom_nandc_write_page(struct nand_chip *chip, const u8 *buf, +@@ -1972,7 +1972,7 @@ static int qcom_nandc_write_page(struct oob_buf += oob_size; } @@ -590,7 +588,7 @@ index d134329330fe..daf8f73b25bc 100644 if (ret) { dev_err(nandc->dev, "failure to write page\n"); return ret; -@@ -1997,8 +1997,8 @@ static int qcom_nandc_write_page_raw(struct nand_chip *chip, +@@ -1997,8 +1997,8 @@ static int qcom_nandc_write_page_raw(str qcom_nandc_codeword_fixup(host, page); nand_prog_page_begin_op(chip, page, 0, NULL, 0); @@ -601,7 +599,7 @@ index d134329330fe..daf8f73b25bc 100644 data_buf = (u8 *)buf; oob_buf = chip->oob_poi; -@@ -2024,28 +2024,28 @@ static int qcom_nandc_write_page_raw(struct nand_chip *chip, +@@ -2024,28 +2024,28 @@ static int qcom_nandc_write_page_raw(str oob_size2 = host->ecc_bytes_hw + host->spare_bytes; } @@ -638,7 +636,7 @@ index d134329330fe..daf8f73b25bc 100644 if (ret) { dev_err(nandc->dev, "failure to write raw page\n"); return ret; -@@ -2075,7 +2075,7 @@ static int qcom_nandc_write_oob(struct nand_chip *chip, int page) +@@ -2075,7 +2075,7 @@ static int qcom_nandc_write_oob(struct n qcom_nandc_codeword_fixup(host, page); host->use_ecc = true; @@ -647,7 +645,7 @@ index d134329330fe..daf8f73b25bc 100644 /* calculate the data and oob size for the last codeword/step */ data_size = ecc->size - ((ecc->steps - 1) << 2); -@@ -2090,11 +2090,11 @@ static int qcom_nandc_write_oob(struct nand_chip *chip, int page) +@@ -2090,11 +2090,11 @@ static int qcom_nandc_write_oob(struct n update_rw_regs(host, 1, false, 0); config_nand_page_write(chip); @@ -662,7 +660,7 @@ index d134329330fe..daf8f73b25bc 100644 if (ret) { dev_err(nandc->dev, "failure to write oob\n"); return ret; -@@ -2121,7 +2121,7 @@ static int qcom_nandc_block_bad(struct nand_chip *chip, loff_t ofs) +@@ -2121,7 +2121,7 @@ static int qcom_nandc_block_bad(struct n */ host->use_ecc = false; @@ -671,7 +669,7 @@ index d134329330fe..daf8f73b25bc 100644 ret = copy_last_cw(host, page); if (ret) goto err; -@@ -2148,8 +2148,8 @@ static int qcom_nandc_block_markbad(struct nand_chip *chip, loff_t ofs) +@@ -2148,8 +2148,8 @@ static int qcom_nandc_block_markbad(stru struct nand_ecc_ctrl *ecc = &chip->ecc; int page, ret; @@ -682,7 +680,7 @@ index d134329330fe..daf8f73b25bc 100644 /* * to mark the BBM as bad, we flash the entire last codeword with 0s. -@@ -2166,11 +2166,11 @@ static int qcom_nandc_block_markbad(struct nand_chip *chip, loff_t ofs) +@@ -2166,11 +2166,11 @@ static int qcom_nandc_block_markbad(stru update_rw_regs(host, 1, false, ecc->steps - 1); config_nand_page_write(chip); @@ -697,7 +695,7 @@ index d134329330fe..daf8f73b25bc 100644 if (ret) { dev_err(nandc->dev, "failure to update BBM\n"); return ret; -@@ -2410,14 +2410,14 @@ static int qcom_nand_attach_chip(struct nand_chip *chip) +@@ -2410,14 +2410,14 @@ static int qcom_nand_attach_chip(struct mtd_set_ooblayout(mtd, &qcom_nand_ooblayout_ops); /* Free the initially allocated BAM transaction for reading the ONFI params */ if (nandc->props->supports_bam) @@ -714,7 +712,7 @@ index d134329330fe..daf8f73b25bc 100644 if (!nandc->bam_txn) { dev_err(nandc->dev, "failed to allocate bam transaction\n"); -@@ -2617,7 +2617,7 @@ static int qcom_wait_rdy_poll(struct nand_chip *chip, unsigned int time_ms) +@@ -2617,7 +2617,7 @@ static int qcom_wait_rdy_poll(struct nan unsigned long start = jiffies + msecs_to_jiffies(time_ms); u32 flash; @@ -723,7 +721,7 @@ index d134329330fe..daf8f73b25bc 100644 do { flash = le32_to_cpu(nandc->reg_read_buf[0]); -@@ -2657,23 +2657,23 @@ static int qcom_read_status_exec(struct nand_chip *chip, +@@ -2657,23 +2657,23 @@ static int qcom_read_status_exec(struct nandc->buf_start = 0; host->use_ecc = false; @@ -754,7 +752,7 @@ index d134329330fe..daf8f73b25bc 100644 for (i = 0; i < num_cw; i++) { flash_status = le32_to_cpu(nandc->reg_read_buf[i]); -@@ -2714,8 +2714,8 @@ static int qcom_read_id_type_exec(struct nand_chip *chip, const struct nand_subo +@@ -2714,8 +2714,8 @@ static int qcom_read_id_type_exec(struct nandc->buf_start = 0; host->use_ecc = false; @@ -765,7 +763,7 @@ index d134329330fe..daf8f73b25bc 100644 nandc->regs->cmd = q_op.cmd_reg; nandc->regs->addr0 = q_op.addr1_reg; -@@ -2723,12 +2723,12 @@ static int qcom_read_id_type_exec(struct nand_chip *chip, const struct nand_subo +@@ -2723,12 +2723,12 @@ static int qcom_read_id_type_exec(struct nandc->regs->chip_sel = cpu_to_le32(nandc->props->supports_bam ? 0 : DM_EN); nandc->regs->exec = cpu_to_le32(1); @@ -782,7 +780,7 @@ index d134329330fe..daf8f73b25bc 100644 if (ret) { dev_err(nandc->dev, "failure in submitting read id descriptor\n"); goto err_out; -@@ -2738,7 +2738,7 @@ static int qcom_read_id_type_exec(struct nand_chip *chip, const struct nand_subo +@@ -2738,7 +2738,7 @@ static int qcom_read_id_type_exec(struct op_id = q_op.data_instr_idx; len = nand_subop_get_data_len(subop, op_id); @@ -791,7 +789,7 @@ index d134329330fe..daf8f73b25bc 100644 memcpy(instr->ctx.data.buf.in, nandc->reg_read_buf, len); err_out: -@@ -2774,20 +2774,20 @@ static int qcom_misc_cmd_type_exec(struct nand_chip *chip, const struct nand_sub +@@ -2774,20 +2774,20 @@ static int qcom_misc_cmd_type_exec(struc nandc->buf_start = 0; host->use_ecc = false; @@ -819,7 +817,7 @@ index d134329330fe..daf8f73b25bc 100644 if (ret) { dev_err(nandc->dev, "failure in submitting misc descriptor\n"); goto err_out; -@@ -2820,8 +2820,8 @@ static int qcom_param_page_type_exec(struct nand_chip *chip, const struct nand_ +@@ -2820,8 +2820,8 @@ static int qcom_param_page_type_exec(str nandc->buf_count = 0; nandc->buf_start = 0; host->use_ecc = false; @@ -830,7 +828,7 @@ index d134329330fe..daf8f73b25bc 100644 nandc->regs->cmd = q_op.cmd_reg; nandc->regs->addr0 = 0; -@@ -2864,8 +2864,8 @@ static int qcom_param_page_type_exec(struct nand_chip *chip, const struct nand_ +@@ -2864,8 +2864,8 @@ static int qcom_param_page_type_exec(str nandc_set_read_loc(chip, 0, 0, 0, len, 1); if (!nandc->props->qpic_version2) { @@ -841,7 +839,7 @@ index d134329330fe..daf8f73b25bc 100644 } nandc->buf_count = len; -@@ -2873,17 +2873,17 @@ static int qcom_param_page_type_exec(struct nand_chip *chip, const struct nand_ +@@ -2873,17 +2873,17 @@ static int qcom_param_page_type_exec(str config_nand_single_cw_page_read(chip, false, 0); @@ -865,7 +863,7 @@ index d134329330fe..daf8f73b25bc 100644 if (ret) { dev_err(nandc->dev, "failure in submitting param page descriptor\n"); goto err_out; -@@ -3067,7 +3067,7 @@ static int qcom_nandc_alloc(struct qcom_nand_controller *nandc) +@@ -3067,7 +3067,7 @@ static int qcom_nandc_alloc(struct qcom_ * maximum codeword size */ nandc->max_cwperpage = 1; diff --git a/target/linux/qualcommax/patches-6.6/0404-mtd-nand-Add-qpic_common-API-file.patch b/target/linux/qualcommax/patches-6.6/0404-mtd-nand-Add-qpic_common-API-file.patch index 72e332d257e2db..e992e261af0752 100644 --- a/target/linux/qualcommax/patches-6.6/0404-mtd-nand-Add-qpic_common-API-file.patch +++ b/target/linux/qualcommax/patches-6.6/0404-mtd-nand-Add-qpic_common-API-file.patch @@ -8,13 +8,11 @@ driver and qpic spi nand driver. Signed-off-by: Md Sadre Alam --- -diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile -index 19e1291ac4d5..760a6e4efdac 100644 --- a/drivers/mtd/nand/Makefile +++ b/drivers/mtd/nand/Makefile -@@ -4,6 +4,10 @@ nandcore-objs := core.o bbt.o - obj-$(CONFIG_MTD_NAND_CORE) += nandcore.o +@@ -5,6 +5,10 @@ obj-$(CONFIG_MTD_NAND_CORE) += nandcore. obj-$(CONFIG_MTD_NAND_ECC_MEDIATEK) += ecc-mtk.o + obj-$(CONFIG_MTD_NAND_MTK_BMT) += mtk_bmt.o mtk_bmt_v2.o mtk_bmt_bbt.o mtk_bmt_nmbm.o +ifeq ($(CONFIG_MTD_NAND_QCOM),y) +obj-y += qpic_common.o @@ -23,9 +21,6 @@ index 19e1291ac4d5..760a6e4efdac 100644 obj-y += onenand/ obj-y += raw/ obj-y += spi/ -diff --git a/drivers/mtd/nand/qpic_common.c b/drivers/mtd/nand/qpic_common.c -new file mode 100644 -index 000000000000..2fe1a82307b4 --- /dev/null +++ b/drivers/mtd/nand/qpic_common.c @@ -0,0 +1,738 @@ @@ -767,8 +762,6 @@ index 000000000000..2fe1a82307b4 + qcom_nandc_unalloc(nandc); + return ret; +} -diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig -index d0aaccf72d78..47f5a7561a73 100644 --- a/drivers/mtd/nand/raw/Kconfig +++ b/drivers/mtd/nand/raw/Kconfig @@ -330,7 +330,7 @@ config MTD_NAND_HISI504 @@ -780,8 +773,6 @@ index d0aaccf72d78..47f5a7561a73 100644 depends on ARCH_QCOM || COMPILE_TEST depends on HAS_IOMEM help -diff --git a/drivers/mtd/nand/raw/qcom_nandc.c b/drivers/mtd/nand/raw/qcom_nandc.c -index daf8f73b25bc..91f1eb781cb2 100644 --- a/drivers/mtd/nand/raw/qcom_nandc.c +++ b/drivers/mtd/nand/raw/qcom_nandc.c @@ -15,417 +15,7 @@ @@ -1301,7 +1292,7 @@ index daf8f73b25bc..91f1eb781cb2 100644 static inline struct qcom_nand_host *to_qcom_nand_host(struct nand_chip *chip) { return container_of(chip, struct qcom_nand_host, chip); -@@ -629,8 +128,8 @@ static inline struct qcom_nand_host *to_qcom_nand_host(struct nand_chip *chip) +@@ -629,8 +128,8 @@ static inline struct qcom_nand_host *to_ static inline struct qcom_nand_controller * get_qcom_nand_controller(struct nand_chip *chip) { @@ -1312,7 +1303,7 @@ index daf8f73b25bc..91f1eb781cb2 100644 } static inline u32 nandc_read(struct qcom_nand_controller *nandc, int offset) -@@ -644,23 +143,6 @@ static inline void nandc_write(struct qcom_nand_controller *nandc, int offset, +@@ -644,23 +143,6 @@ static inline void nandc_write(struct qc iowrite32(val, nandc->base + offset); } @@ -1336,11 +1327,10 @@ index daf8f73b25bc..91f1eb781cb2 100644 /* Helper to check the code word, whether it is last cw or not */ static bool qcom_nandc_is_last_cw(struct nand_ecc_ctrl *ecc, int cw) { -@@ -819,356 +301,6 @@ static void update_rw_regs(struct qcom_nand_host *host, int num_cw, bool read, i - host->cw_data : host->cw_size, 1); +@@ -820,356 +302,6 @@ static void update_rw_regs(struct qcom_n } --/* + /* - * Maps the scatter gather list for DMA transfer and forms the DMA descriptor - * for BAM. This descriptor will be added in the NAND DMA descriptor queue - * which will be submitted to DMA engine. @@ -1690,10 +1680,11 @@ index daf8f73b25bc..91f1eb781cb2 100644 - return qcom_prep_adm_dma_desc(nandc, false, reg_off, vaddr, size, false); -} - - /* +-/* * Helper to prepare DMA descriptors for configuring registers * before reading a NAND page. -@@ -1262,83 +394,6 @@ static void config_nand_cw_write(struct nand_chip *chip) + */ +@@ -1262,83 +394,6 @@ static void config_nand_cw_write(struct NAND_BAM_NEXT_SGL); } @@ -1777,7 +1768,7 @@ index daf8f73b25bc..91f1eb781cb2 100644 /* * when using BCH ECC, the HW flags an error in NAND_FLASH_STATUS if it read * an erased CW, and reports an erased CW in NAND_ERASED_CW_DETECT_STATUS. -@@ -2967,141 +2022,14 @@ static const struct nand_controller_ops qcom_nandc_ops = { +@@ -2967,141 +2022,14 @@ static const struct nand_controller_ops .exec_op = qcom_nand_exec_op, }; @@ -1922,7 +1913,7 @@ index daf8f73b25bc..91f1eb781cb2 100644 /* kill onenand */ if (!nandc->props->nandc_part_of_qpic) nandc_write(nandc, SFLASHC_BURST_CFG, 0); -@@ -3240,7 +2168,7 @@ static int qcom_nand_host_init_and_register(struct qcom_nand_controller *nandc, +@@ -3240,7 +2168,7 @@ static int qcom_nand_host_init_and_regis chip->legacy.block_bad = qcom_nandc_block_bad; chip->legacy.block_markbad = qcom_nandc_block_markbad; @@ -1931,7 +1922,7 @@ index daf8f73b25bc..91f1eb781cb2 100644 chip->options |= NAND_NO_SUBPAGE_WRITE | NAND_USES_DMA | NAND_SKIP_BBTSCAN; -@@ -3323,17 +2251,21 @@ static int qcom_nandc_parse_dt(struct platform_device *pdev) +@@ -3323,17 +2251,21 @@ static int qcom_nandc_parse_dt(struct pl static int qcom_nandc_probe(struct platform_device *pdev) { struct qcom_nand_controller *nandc; @@ -1954,9 +1945,6 @@ index daf8f73b25bc..91f1eb781cb2 100644 dev_data = of_device_get_match_data(dev); if (!dev_data) { -diff --git a/include/linux/mtd/nand-qpic-common.h b/include/linux/mtd/nand-qpic-common.h -new file mode 100644 -index 000000000000..425994429387 --- /dev/null +++ b/include/linux/mtd/nand-qpic-common.h @@ -0,0 +1,468 @@ diff --git a/target/linux/qualcommax/patches-6.6/0405-mtd-rawnand-qcom-use-FIELD_PREP-and-GENMASK.patch b/target/linux/qualcommax/patches-6.6/0405-mtd-rawnand-qcom-use-FIELD_PREP-and-GENMASK.patch index 542a44a7392fe8..5f8ff3ed561e17 100644 --- a/target/linux/qualcommax/patches-6.6/0405-mtd-rawnand-qcom-use-FIELD_PREP-and-GENMASK.patch +++ b/target/linux/qualcommax/patches-6.6/0405-mtd-rawnand-qcom-use-FIELD_PREP-and-GENMASK.patch @@ -8,11 +8,9 @@ more readable. Signed-off-by: Md Sadre Alam --- -diff --git a/drivers/mtd/nand/raw/qcom_nandc.c b/drivers/mtd/nand/raw/qcom_nandc.c -index 91f1eb781cb2..c1159dbc8eba 100644 --- a/drivers/mtd/nand/raw/qcom_nandc.c +++ b/drivers/mtd/nand/raw/qcom_nandc.c -@@ -281,7 +281,7 @@ static void update_rw_regs(struct qcom_nand_host *host, int num_cw, bool read, i +@@ -281,7 +281,7 @@ static void update_rw_regs(struct qcom_n (num_cw - 1) << CW_PER_PAGE); cfg1 = cpu_to_le32(host->cfg1_raw); @@ -21,7 +19,7 @@ index 91f1eb781cb2..c1159dbc8eba 100644 } nandc->regs->cmd = cmd; -@@ -1494,42 +1494,41 @@ static int qcom_nand_attach_chip(struct nand_chip *chip) +@@ -1494,42 +1494,41 @@ static int qcom_nand_attach_chip(struct host->cw_size = host->cw_data + ecc->bytes; bad_block_byte = mtd->writesize - host->cw_size * (cwperpage - 1) + 1; @@ -99,7 +97,7 @@ index 91f1eb781cb2..c1159dbc8eba 100644 if (!nandc->props->qpic_version2) host->ecc_buf_cfg = 0x203 << NUM_STEPS; -@@ -1882,21 +1881,21 @@ static int qcom_param_page_type_exec(struct nand_chip *chip, const struct nand_ +@@ -1882,21 +1881,21 @@ static int qcom_param_page_type_exec(str nandc->regs->addr0 = 0; nandc->regs->addr1 = 0; @@ -107,11 +105,7 @@ index 91f1eb781cb2..c1159dbc8eba 100644 - | 512 << UD_SIZE_BYTES - | 5 << NUM_ADDR_CYCLES - | 0 << SPARE_SIZE_BYTES); -+ host->cfg0 = FIELD_PREP(CW_PER_PAGE_MASK, 0) | -+ FIELD_PREP(UD_SIZE_BYTES_MASK, 512) | -+ FIELD_PREP(NUM_ADDR_CYCLES_MASK, 5) | -+ FIELD_PREP(SPARE_SIZE_BYTES_MASK, 0); - +- - nandc->regs->cfg1 = cpu_to_le32(7 << NAND_RECOVERY_CYCLES - | 0 << CS_ACTIVE_BSY - | 17 << BAD_BLOCK_BYTE_NUM @@ -119,6 +113,11 @@ index 91f1eb781cb2..c1159dbc8eba 100644 - | 2 << WR_RD_BSY_GAP - | 0 << WIDE_FLASH - | 1 << DEV0_CFG1_ECC_DISABLE); ++ host->cfg0 = FIELD_PREP(CW_PER_PAGE_MASK, 0) | ++ FIELD_PREP(UD_SIZE_BYTES_MASK, 512) | ++ FIELD_PREP(NUM_ADDR_CYCLES_MASK, 5) | ++ FIELD_PREP(SPARE_SIZE_BYTES_MASK, 0); ++ + host->cfg1 = FIELD_PREP(NAND_RECOVERY_CYCLES_MASK, 7) | + FIELD_PREP(BAD_BLOCK_BYTE_NUM_MASK, 17) | + FIELD_PREP(CS_ACTIVE_BSY, 0) | @@ -133,8 +132,6 @@ index 91f1eb781cb2..c1159dbc8eba 100644 /* configure CMD1 and VLD for ONFI param probing in QPIC v1 */ if (!nandc->props->qpic_version2) { -diff --git a/include/linux/mtd/nand-qpic-common.h b/include/linux/mtd/nand-qpic-common.h -index 425994429387..e79c79775eb8 100644 --- a/include/linux/mtd/nand-qpic-common.h +++ b/include/linux/mtd/nand-qpic-common.h @@ -70,35 +70,42 @@ diff --git a/target/linux/qualcommax/patches-6.6/0408-spi-spi-qpic-fixes-compilation-issues.patch b/target/linux/qualcommax/patches-6.6/0408-spi-spi-qpic-fixes-compilation-issues.patch index 226e6059bcf8fe..9cf56af552bf48 100644 --- a/target/linux/qualcommax/patches-6.6/0408-spi-spi-qpic-fixes-compilation-issues.patch +++ b/target/linux/qualcommax/patches-6.6/0408-spi-spi-qpic-fixes-compilation-issues.patch @@ -27,3 +27,4 @@ + .remove_new = qcom_spi_remove, }; module_platform_driver(qcom_spi_driver); + diff --git a/target/linux/qualcommax/patches-6.6/0412-mtd-spinand-qpic-only-support-max-4-bytes-ID.patch b/target/linux/qualcommax/patches-6.6/0412-mtd-spinand-qpic-only-support-max-4-bytes-ID.patch index 993cd233f1944a..76a61030107880 100644 --- a/target/linux/qualcommax/patches-6.6/0412-mtd-spinand-qpic-only-support-max-4-bytes-ID.patch +++ b/target/linux/qualcommax/patches-6.6/0412-mtd-spinand-qpic-only-support-max-4-bytes-ID.patch @@ -8,11 +8,9 @@ Signed-off-by: hzy drivers/mtd/nand/spi/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c -index 4c54a962c5d6..1a8ac8e20f6e 100644 --- a/drivers/mtd/nand/spi/core.c +++ b/drivers/mtd/nand/spi/core.c -@@ -1086,7 +1086,7 @@ int spinand_match_and_init(struct spinand_device *spinand, +@@ -1086,7 +1086,7 @@ int spinand_match_and_init(struct spinan if (rdid_method != info->devid.method) continue; @@ -21,6 +19,3 @@ index 4c54a962c5d6..1a8ac8e20f6e 100644 continue; nand->memorg = table[i].memorg; --- -2.40.1 - diff --git a/target/linux/qualcommax/patches-6.6/0421-arm64-dts-qcom-ipq5018-Add-nand-node.patch b/target/linux/qualcommax/patches-6.6/0421-arm64-dts-qcom-ipq5018-Add-nand-node.patch index f69f65855bdead..b725400d778283 100644 --- a/target/linux/qualcommax/patches-6.6/0421-arm64-dts-qcom-ipq5018-Add-nand-node.patch +++ b/target/linux/qualcommax/patches-6.6/0421-arm64-dts-qcom-ipq5018-Add-nand-node.patch @@ -10,7 +10,7 @@ Signed-off-by: hzy --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -457,6 +457,36 @@ +@@ -595,6 +595,36 @@ status = "disabled"; }; diff --git a/target/linux/qualcommax/patches-6.6/0431-arm64-dts-qcom-ipq5018-Add-more-nand-compatible-for-.patch b/target/linux/qualcommax/patches-6.6/0431-arm64-dts-qcom-ipq5018-Add-more-nand-compatible-for-.patch index aa5e1de9026775..16f0bfda0be5bb 100644 --- a/target/linux/qualcommax/patches-6.6/0431-arm64-dts-qcom-ipq5018-Add-more-nand-compatible-for-.patch +++ b/target/linux/qualcommax/patches-6.6/0431-arm64-dts-qcom-ipq5018-Add-more-nand-compatible-for-.patch @@ -11,7 +11,7 @@ Signed-off-by: hzy --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -469,7 +469,7 @@ +@@ -607,7 +607,7 @@ }; qpic_nand: qpic-nand@79b0000 { diff --git a/target/linux/qualcommax/patches-6.6/0701-dt-bindings-clock-qcom-Add-CMN-PLL-clock-controller-.patch b/target/linux/qualcommax/patches-6.6/0701-dt-bindings-clock-qcom-Add-CMN-PLL-clock-controller-.patch index fbef3a18aca18d..ad7e08c895eb2b 100644 --- a/target/linux/qualcommax/patches-6.6/0701-dt-bindings-clock-qcom-Add-CMN-PLL-clock-controller-.patch +++ b/target/linux/qualcommax/patches-6.6/0701-dt-bindings-clock-qcom-Add-CMN-PLL-clock-controller-.patch @@ -20,9 +20,6 @@ Reviewed-by: Krzysztof Kozlowski create mode 100644 Documentation/devicetree/bindings/clock/qcom,ipq9574-cmn-pll.yaml create mode 100644 include/dt-bindings/clock/qcom,ipq-cmn-pll.h -diff --git a/Documentation/devicetree/bindings/clock/qcom,ipq9574-cmn-pll.yaml b/Documentation/devicetree/bindings/clock/qcom,ipq9574-cmn-pll.yaml -new file mode 100644 -index 000000000000..7ad04b58a698 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/qcom,ipq9574-cmn-pll.yaml @@ -0,0 +1,70 @@ @@ -96,9 +93,6 @@ index 000000000000..7ad04b58a698 + #clock-cells = <1>; + }; +... -diff --git a/include/dt-bindings/clock/qcom,ipq-cmn-pll.h b/include/dt-bindings/clock/qcom,ipq-cmn-pll.h -new file mode 100644 -index 000000000000..64b228659389 --- /dev/null +++ b/include/dt-bindings/clock/qcom,ipq-cmn-pll.h @@ -0,0 +1,15 @@ @@ -117,6 +111,3 @@ index 000000000000..64b228659389 +#define ETH2_50MHZ_CLK 3 +#define ETH_25MHZ_CLK 4 +#endif --- -2.40.1 - diff --git a/target/linux/qualcommax/patches-6.6/0702-clk-qcom-Add-CMN-PLL-clock-controller-driver-for-IPQ.patch b/target/linux/qualcommax/patches-6.6/0702-clk-qcom-Add-CMN-PLL-clock-controller-driver-for-IPQ.patch index 5e43d6dfe5c889..afccffa67e66bd 100644 --- a/target/linux/qualcommax/patches-6.6/0702-clk-qcom-Add-CMN-PLL-clock-controller-driver-for-IPQ.patch +++ b/target/linux/qualcommax/patches-6.6/0702-clk-qcom-Add-CMN-PLL-clock-controller-driver-for-IPQ.patch @@ -27,8 +27,6 @@ Signed-off-by: Luo Jie 3 files changed, 238 insertions(+) create mode 100644 drivers/clk/qcom/clk-ipq-cmn-pll.c -diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig -index a79b83758389..5a8a09f9c08c 100644 --- a/drivers/clk/qcom/Kconfig +++ b/drivers/clk/qcom/Kconfig @@ -139,6 +139,16 @@ config IPQ_APSS_6018 @@ -48,11 +46,9 @@ index a79b83758389..5a8a09f9c08c 100644 config IPQ_GCC_4019 tristate "IPQ4019 Global Clock Controller" help -diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile -index 4790c8cca426..6214dfbad90f 100644 --- a/drivers/clk/qcom/Makefile +++ b/drivers/clk/qcom/Makefile -@@ -23,6 +23,7 @@ obj-$(CONFIG_APQ_MMCC_8084) += mmcc-apq8084.o +@@ -23,6 +23,7 @@ obj-$(CONFIG_APQ_MMCC_8084) += mmcc-apq8 obj-$(CONFIG_CLK_GFM_LPASS_SM8250) += lpass-gfm-sm8250.o obj-$(CONFIG_IPQ_APSS_PLL) += apss-ipq-pll.o obj-$(CONFIG_IPQ_APSS_6018) += apss-ipq6018.o @@ -60,9 +56,6 @@ index 4790c8cca426..6214dfbad90f 100644 obj-$(CONFIG_IPQ_GCC_4019) += gcc-ipq4019.o obj-$(CONFIG_IPQ_GCC_5018) += gcc-ipq5018.o obj-$(CONFIG_IPQ_GCC_5332) += gcc-ipq5332.o -diff --git a/drivers/clk/qcom/clk-ipq-cmn-pll.c b/drivers/clk/qcom/clk-ipq-cmn-pll.c -new file mode 100644 -index 000000000000..72030a61a131 --- /dev/null +++ b/drivers/clk/qcom/clk-ipq-cmn-pll.c @@ -0,0 +1,227 @@ @@ -293,6 +286,3 @@ index 000000000000..72030a61a131 + +MODULE_DESCRIPTION("Qualcomm Technologies, Inc. IPQ CMN PLL Driver"); +MODULE_LICENSE("GPL"); --- -2.40.1 - diff --git a/target/linux/qualcommax/patches-6.6/0703-clk-qcom-cmn-pll-add-IPQ5018-support.patch b/target/linux/qualcommax/patches-6.6/0703-clk-qcom-cmn-pll-add-IPQ5018-support.patch index 051b99da1ea2d5..9c46fa153c1b3a 100644 --- a/target/linux/qualcommax/patches-6.6/0703-clk-qcom-cmn-pll-add-IPQ5018-support.patch +++ b/target/linux/qualcommax/patches-6.6/0703-clk-qcom-cmn-pll-add-IPQ5018-support.patch @@ -9,8 +9,6 @@ Signed-off-by: hzy drivers/clk/qcom/clk-ipq-cmn-pll.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) -diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig -index 5a8a09f9c08c..556a5a20a78a 100644 --- a/drivers/clk/qcom/Kconfig +++ b/drivers/clk/qcom/Kconfig @@ -141,7 +141,6 @@ config IPQ_APSS_6018 @@ -21,8 +19,6 @@ index 5a8a09f9c08c..556a5a20a78a 100644 help Support for CMN PLL clock controller on IPQ platform. The CMN PLL feeds the reference clocks to the Ethernet devices -diff --git a/drivers/clk/qcom/clk-ipq-cmn-pll.c b/drivers/clk/qcom/clk-ipq-cmn-pll.c -index 72030a61a131..8f2459af3105 100644 --- a/drivers/clk/qcom/clk-ipq-cmn-pll.c +++ b/drivers/clk/qcom/clk-ipq-cmn-pll.c @@ -42,6 +42,9 @@ @@ -35,7 +31,7 @@ index 72030a61a131..8f2459af3105 100644 #define CMN_PLL_REFCLK_SRC_SELECTION 0x28 #define CMN_PLL_REFCLK_SRC_DIV GENMASK(9, 8) -@@ -79,6 +82,28 @@ static const struct cmn_pll_fixed_output_clk ipq9574_output_clks[] = { +@@ -79,6 +82,28 @@ static const struct cmn_pll_fixed_output CLK_PLL_OUTPUT(ETH_25MHZ_CLK, "eth-25mhz", 25000000UL), }; @@ -64,7 +60,7 @@ index 72030a61a131..8f2459af3105 100644 static int ipq_cmn_pll_config(struct device *dev, unsigned long parent_rate) { void __iomem *base; -@@ -181,6 +206,10 @@ static int ipq_cmn_pll_clk_probe(struct platform_device *pdev) +@@ -181,6 +206,10 @@ static int ipq_cmn_pll_clk_probe(struct struct clk *clk; int ret; @@ -75,6 +71,3 @@ index 72030a61a131..8f2459af3105 100644 /* * To access the CMN PLL registers, the GCC AHB & SYSY clocks * for CMN PLL block need to be enabled. --- -2.40.1 - diff --git a/target/linux/qualcommax/patches-6.6/0704-arm64-dts-qcom-ipq5018-Add-ethernet-cmn-node.patch b/target/linux/qualcommax/patches-6.6/0704-arm64-dts-qcom-ipq5018-Add-ethernet-cmn-node.patch index 910847099a5025..a87ab835ae6980 100644 --- a/target/linux/qualcommax/patches-6.6/0704-arm64-dts-qcom-ipq5018-Add-ethernet-cmn-node.patch +++ b/target/linux/qualcommax/patches-6.6/0704-arm64-dts-qcom-ipq5018-Add-ethernet-cmn-node.patch @@ -23,7 +23,7 @@ Signed-off-by: hzy sleep_clk: sleep-clk { compatible = "fixed-clock"; #clock-cells = <0>; -@@ -182,6 +188,19 @@ +@@ -287,6 +293,19 @@ status = "disabled"; }; diff --git a/target/linux/qualcommax/patches-6.6/0711-net-phy-qcom-Introduce-IPQ5018-internal-PHY-driver.patch b/target/linux/qualcommax/patches-6.6/0711-net-phy-qcom-Introduce-IPQ5018-internal-PHY-driver.patch index 76b3ed35b5d640..3fd14dcf6920e1 100644 --- a/target/linux/qualcommax/patches-6.6/0711-net-phy-qcom-Introduce-IPQ5018-internal-PHY-driver.patch +++ b/target/linux/qualcommax/patches-6.6/0711-net-phy-qcom-Introduce-IPQ5018-internal-PHY-driver.patch @@ -11,8 +11,6 @@ Signed-off-by: hzy 3 files changed, 145 insertions(+) create mode 100644 drivers/net/phy/qcom/ipq5018.c -diff --git a/drivers/net/phy/qcom/Kconfig b/drivers/net/phy/qcom/Kconfig -index 570626cc8e14..6487e6f93011 100644 --- a/drivers/net/phy/qcom/Kconfig +++ b/drivers/net/phy/qcom/Kconfig @@ -9,6 +9,12 @@ config AT803X_PHY @@ -28,8 +26,6 @@ index 570626cc8e14..6487e6f93011 100644 config QCA83XX_PHY tristate "Qualcomm Atheros QCA833x PHYs" select QCOM_NET_PHYLIB -diff --git a/drivers/net/phy/qcom/Makefile b/drivers/net/phy/qcom/Makefile -index f24fb550babd..7ebedd3ed0a2 100644 --- a/drivers/net/phy/qcom/Makefile +++ b/drivers/net/phy/qcom/Makefile @@ -1,6 +1,7 @@ @@ -40,9 +36,6 @@ index f24fb550babd..7ebedd3ed0a2 100644 obj-$(CONFIG_QCA83XX_PHY) += qca83xx.o obj-$(CONFIG_QCA808X_PHY) += qca808x.o obj-$(CONFIG_QCA807X_PHY) += qca807x.o -diff --git a/drivers/net/phy/qcom/ipq5018.c b/drivers/net/phy/qcom/ipq5018.c -new file mode 100644 -index 000000000000..497ad28fe63f --- /dev/null +++ b/drivers/net/phy/qcom/ipq5018.c @@ -0,0 +1,138 @@ @@ -184,6 +177,3 @@ index 000000000000..497ad28fe63f + +MODULE_DESCRIPTION("Qualcomm IPQ5018 internal PHY driver"); +MODULE_AUTHOR("Ziyang Huang "); --- -2.40.1 - diff --git a/target/linux/qualcommax/patches-6.6/0712-arm64-dts-qcom-ipq5018-add-mdio-node.patch b/target/linux/qualcommax/patches-6.6/0712-arm64-dts-qcom-ipq5018-add-mdio-node.patch index f37352e6088c48..7ad4ac7a3fc50c 100644 --- a/target/linux/qualcommax/patches-6.6/0712-arm64-dts-qcom-ipq5018-add-mdio-node.patch +++ b/target/linux/qualcommax/patches-6.6/0712-arm64-dts-qcom-ipq5018-add-mdio-node.patch @@ -10,7 +10,7 @@ Signed-off-by: hzy --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -188,6 +188,26 @@ +@@ -293,6 +293,26 @@ status = "disabled"; }; diff --git a/target/linux/qualcommax/patches-6.6/0713-arm64-dts-qcom-ipq5018-add-ge_phy-node.patch b/target/linux/qualcommax/patches-6.6/0713-arm64-dts-qcom-ipq5018-add-ge_phy-node.patch index 1e645599b8e17e..3caa659a0031fb 100644 --- a/target/linux/qualcommax/patches-6.6/0713-arm64-dts-qcom-ipq5018-add-ge_phy-node.patch +++ b/target/linux/qualcommax/patches-6.6/0713-arm64-dts-qcom-ipq5018-add-ge_phy-node.patch @@ -10,7 +10,7 @@ Signed-off-by: hzy --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -196,6 +196,18 @@ +@@ -301,6 +301,18 @@ clocks = <&gcc GCC_MDIO0_AHB_CLK>; clock-names = "gcc_mdio_ahb_clk"; status = "disabled"; @@ -29,7 +29,7 @@ Signed-off-by: hzy }; mdio1: mdio@90000 { -@@ -390,8 +402,8 @@ +@@ -495,8 +507,8 @@ <&pcie_x2phy>, <&pcie_x1phy>, <0>, @@ -38,5 +38,5 @@ Signed-off-by: hzy + <&ge_phy 0>, + <&ge_phy 1>, <0>, - <0>; - #clock-cells = <1>; + <0>, + <&gephy 0>, diff --git a/target/linux/qualcommax/patches-6.6/0721-clk-gcc-ipq5018-remove-the-unsupported-clk-combinati.patch b/target/linux/qualcommax/patches-6.6/0721-clk-gcc-ipq5018-remove-the-unsupported-clk-combinati.patch index 0f74f41d9a651d..47c59f5a9bd164 100644 --- a/target/linux/qualcommax/patches-6.6/0721-clk-gcc-ipq5018-remove-the-unsupported-clk-combinati.patch +++ b/target/linux/qualcommax/patches-6.6/0721-clk-gcc-ipq5018-remove-the-unsupported-clk-combinati.patch @@ -9,11 +9,9 @@ Signed-off-by: hzy drivers/clk/qcom/gcc-ipq5018.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/drivers/clk/qcom/gcc-ipq5018.c b/drivers/clk/qcom/gcc-ipq5018.c -index 3136ba1c2a59..4a8511d5f3a5 100644 --- a/drivers/clk/qcom/gcc-ipq5018.c +++ b/drivers/clk/qcom/gcc-ipq5018.c -@@ -677,7 +677,7 @@ static const struct freq_tbl ftbl_gmac1_rx_clk_src[] = { +@@ -677,7 +677,7 @@ static const struct freq_tbl ftbl_gmac1_ F(2500000, P_UNIPHY_RX, 12.5, 0, 0), F(24000000, P_XO, 1, 0, 0), F(25000000, P_UNIPHY_RX, 2.5, 0, 0), @@ -22,7 +20,7 @@ index 3136ba1c2a59..4a8511d5f3a5 100644 F(125000000, P_UNIPHY_RX, 1, 0, 0), F(312500000, P_UNIPHY_RX, 1, 0, 0), { } -@@ -717,7 +717,7 @@ static const struct freq_tbl ftbl_gmac1_tx_clk_src[] = { +@@ -717,7 +717,7 @@ static const struct freq_tbl ftbl_gmac1_ F(2500000, P_UNIPHY_TX, 12.5, 0, 0), F(24000000, P_XO, 1, 0, 0), F(25000000, P_UNIPHY_TX, 2.5, 0, 0), @@ -31,6 +29,3 @@ index 3136ba1c2a59..4a8511d5f3a5 100644 F(125000000, P_UNIPHY_TX, 1, 0, 0), F(312500000, P_UNIPHY_TX, 1, 0, 0), { } --- -2.40.1 - diff --git a/target/linux/qualcommax/patches-6.6/0722-clk-gcc-ipq5018-hack-for-qca-ssdk.patch b/target/linux/qualcommax/patches-6.6/0722-clk-gcc-ipq5018-hack-for-qca-ssdk.patch index f5ca800c207473..629b095a85fe5c 100644 --- a/target/linux/qualcommax/patches-6.6/0722-clk-gcc-ipq5018-hack-for-qca-ssdk.patch +++ b/target/linux/qualcommax/patches-6.6/0722-clk-gcc-ipq5018-hack-for-qca-ssdk.patch @@ -8,11 +8,9 @@ Signed-off-by: hzy drivers/clk/qcom/gcc-ipq5018.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) -diff --git a/drivers/clk/qcom/gcc-ipq5018.c b/drivers/clk/qcom/gcc-ipq5018.c -index 4a8511d5f3a5..3d65b7dce59d 100644 --- a/drivers/clk/qcom/gcc-ipq5018.c +++ b/drivers/clk/qcom/gcc-ipq5018.c -@@ -335,8 +335,8 @@ static const struct parent_map gcc_xo_gpll4_gpll0_gpll0_out_main_div2_map2[] = { +@@ -335,8 +335,8 @@ static const struct parent_map gcc_xo_gp static const struct clk_parent_data gcc_xo_gephy_gcc_rx_gephy_gcc_tx_ubi32_pll_gpll0[] = { { .index = DT_XO }, @@ -23,7 +21,7 @@ index 4a8511d5f3a5..3d65b7dce59d 100644 { .hw = &ubi32_pll.clkr.hw }, { .hw = &gpll0.clkr.hw }, }; -@@ -351,8 +351,8 @@ static const struct parent_map gcc_xo_gephy_gcc_rx_gephy_gcc_tx_ubi32_pll_gpll0_ +@@ -351,8 +351,8 @@ static const struct parent_map gcc_xo_ge static const struct clk_parent_data gcc_xo_gephy_gcc_tx_gephy_gcc_rx_ubi32_pll_gpll0[] = { { .index = DT_XO }, @@ -34,7 +32,7 @@ index 4a8511d5f3a5..3d65b7dce59d 100644 { .hw = &ubi32_pll.clkr.hw }, { .hw = &gpll0.clkr.hw }, }; -@@ -367,8 +367,8 @@ static const struct parent_map gcc_xo_gephy_gcc_tx_gephy_gcc_rx_ubi32_pll_gpll0_ +@@ -367,8 +367,8 @@ static const struct parent_map gcc_xo_ge static const struct clk_parent_data gcc_xo_uniphy_gcc_rx_uniphy_gcc_tx_ubi32_pll_gpll0[] = { { .index = DT_XO }, @@ -45,7 +43,7 @@ index 4a8511d5f3a5..3d65b7dce59d 100644 { .hw = &ubi32_pll.clkr.hw }, { .hw = &gpll0.clkr.hw }, }; -@@ -383,8 +383,8 @@ static const struct parent_map gcc_xo_uniphy_gcc_rx_uniphy_gcc_tx_ubi32_pll_gpll +@@ -383,8 +383,8 @@ static const struct parent_map gcc_xo_un static const struct clk_parent_data gcc_xo_uniphy_gcc_tx_uniphy_gcc_rx_ubi32_pll_gpll0[] = { { .index = DT_XO }, @@ -56,6 +54,3 @@ index 4a8511d5f3a5..3d65b7dce59d 100644 { .hw = &ubi32_pll.clkr.hw }, { .hw = &gpll0.clkr.hw }, }; --- -2.40.1 - diff --git a/target/linux/qualcommax/patches-6.6/0751-net-dsa-qca8k-always-enable-SGMII-auto-negotiation.patch b/target/linux/qualcommax/patches-6.6/0751-net-dsa-qca8k-always-enable-SGMII-auto-negotiation.patch index df0f1f80d8ae31..3951ef0ed1c730 100644 --- a/target/linux/qualcommax/patches-6.6/0751-net-dsa-qca8k-always-enable-SGMII-auto-negotiation.patch +++ b/target/linux/qualcommax/patches-6.6/0751-net-dsa-qca8k-always-enable-SGMII-auto-negotiation.patch @@ -10,11 +10,9 @@ Signed-off-by: hzy drivers/net/dsa/qca/qca8k-8xxx.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) -diff --git a/drivers/net/dsa/qca/qca8k-8xxx.c b/drivers/net/dsa/qca/qca8k-8xxx.c -index 052fc67339d3..c76c11a7aa39 100644 --- a/drivers/net/dsa/qca/qca8k-8xxx.c +++ b/drivers/net/dsa/qca/qca8k-8xxx.c -@@ -1545,11 +1545,10 @@ static int qca8k_pcs_config(struct phylink_pcs *pcs, unsigned int neg_mode, +@@ -1545,11 +1545,10 @@ static int qca8k_pcs_config(struct phyli return -EINVAL; } @@ -30,6 +28,3 @@ index 052fc67339d3..c76c11a7aa39 100644 if (ret) return ret; --- -2.40.1 - diff --git a/target/linux/qualcommax/patches-6.6/0801-dt-bindings-remoteproc-qcom-Add-support-for-multipd-model.patch b/target/linux/qualcommax/patches-6.6/0801-dt-bindings-remoteproc-qcom-Add-support-for-multipd-model.patch index 4f5209c514a19d..81248e517a5b99 100644 --- a/target/linux/qualcommax/patches-6.6/0801-dt-bindings-remoteproc-qcom-Add-support-for-multipd-model.patch +++ b/target/linux/qualcommax/patches-6.6/0801-dt-bindings-remoteproc-qcom-Add-support-for-multipd-model.patch @@ -8,9 +8,6 @@ IPQ5332, IPQ9574 follows multipd model. Signed-off-by: Manikanta Mylavarapu Reviewed-by: Krzysztof Kozlowski --- -diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,multipd-pil.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,multipd-pil.yaml -new file mode 100644 -index 000000000000..c52ac1640d7a --- /dev/null +++ b/Documentation/devicetree/bindings/remoteproc/qcom,multipd-pil.yaml @@ -0,0 +1,189 @@ diff --git a/target/linux/qualcommax/patches-6.6/0802-firmware-qcom_scm-ipq5332-add-support-to-pass-metada.patch b/target/linux/qualcommax/patches-6.6/0802-firmware-qcom_scm-ipq5332-add-support-to-pass-metada.patch index 910a0d641f4773..677c61f7ac6799 100644 --- a/target/linux/qualcommax/patches-6.6/0802-firmware-qcom_scm-ipq5332-add-support-to-pass-metada.patch +++ b/target/linux/qualcommax/patches-6.6/0802-firmware-qcom_scm-ipq5332-add-support-to-pass-metada.patch @@ -14,11 +14,9 @@ Signed-off-by: Manikanta Mylavarapu drivers/firmware/qcom_scm.h | 1 + 2 files changed, 9 insertions(+) -diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c -index ea4780eb1fb9..e85c0b513938 100644 --- a/drivers/firmware/qcom_scm.c +++ b/drivers/firmware/qcom_scm.c -@@ -592,6 +592,14 @@ int qcom_scm_pas_mem_setup(u32 peripheral, phys_addr_t addr, phys_addr_t size) +@@ -592,6 +592,14 @@ int qcom_scm_pas_mem_setup(u32 periphera if (ret) goto disable_clk; @@ -33,11 +31,9 @@ index ea4780eb1fb9..e85c0b513938 100644 ret = qcom_scm_call(__scm->dev, &desc, &res); qcom_scm_bw_disable(); -diff --git a/drivers/firmware/qcom_scm.h b/drivers/firmware/qcom_scm.h -index 7b68fa820495..e5050af85371 100644 --- a/drivers/firmware/qcom_scm.h +++ b/drivers/firmware/qcom_scm.h -@@ -92,6 +92,7 @@ extern int scm_legacy_call(struct device *dev, const struct qcom_scm_desc *desc, +@@ -92,6 +92,7 @@ extern int scm_legacy_call(struct device #define QCOM_SCM_SVC_PIL 0x02 #define QCOM_SCM_PIL_PAS_INIT_IMAGE 0x01 @@ -45,6 +41,3 @@ index 7b68fa820495..e5050af85371 100644 #define QCOM_SCM_PIL_PAS_MEM_SETUP 0x02 #define QCOM_SCM_PIL_PAS_AUTH_AND_RESET 0x05 #define QCOM_SCM_PIL_PAS_SHUTDOWN 0x06 --- -2.40.1 - diff --git a/target/linux/qualcommax/patches-6.6/0803-firmware-qcom_scm-ipq5332-add-msa-lock-unlock-suppor.patch b/target/linux/qualcommax/patches-6.6/0803-firmware-qcom_scm-ipq5332-add-msa-lock-unlock-suppor.patch index bdfe25cbe0e1ce..06c6b0475659f5 100644 --- a/target/linux/qualcommax/patches-6.6/0803-firmware-qcom_scm-ipq5332-add-msa-lock-unlock-suppor.patch +++ b/target/linux/qualcommax/patches-6.6/0803-firmware-qcom_scm-ipq5332-add-msa-lock-unlock-suppor.patch @@ -15,11 +15,9 @@ Signed-off-by: Manikanta Mylavarapu include/linux/firmware/qcom/qcom_scm.h | 2 + 3 files changed, 82 insertions(+) -diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c -index e85c0b513938..70fca012d672 100644 --- a/drivers/firmware/qcom_scm.c +++ b/drivers/firmware/qcom_scm.c -@@ -712,6 +712,84 @@ bool qcom_scm_pas_supported(u32 peripheral) +@@ -712,6 +712,84 @@ bool qcom_scm_pas_supported(u32 peripher } EXPORT_SYMBOL_GPL(qcom_scm_pas_supported); @@ -104,11 +102,9 @@ index e85c0b513938..70fca012d672 100644 static int __qcom_scm_pas_mss_reset(struct device *dev, bool reset) { struct qcom_scm_desc desc = { -diff --git a/drivers/firmware/qcom_scm.h b/drivers/firmware/qcom_scm.h -index e5050af85371..345410b56a82 100644 --- a/drivers/firmware/qcom_scm.h +++ b/drivers/firmware/qcom_scm.h -@@ -98,6 +98,8 @@ extern int scm_legacy_call(struct device *dev, const struct qcom_scm_desc *desc, +@@ -98,6 +98,8 @@ extern int scm_legacy_call(struct device #define QCOM_SCM_PIL_PAS_SHUTDOWN 0x06 #define QCOM_SCM_PIL_PAS_IS_SUPPORTED 0x07 #define QCOM_SCM_PIL_PAS_MSS_RESET 0x0a @@ -117,11 +113,9 @@ index e5050af85371..345410b56a82 100644 #define QCOM_SCM_SVC_IO 0x05 #define QCOM_SCM_IO_READ 0x01 -diff --git a/include/linux/firmware/qcom/qcom_scm.h b/include/linux/firmware/qcom/qcom_scm.h -index 0c091a3f6d49..58c476941e71 100644 --- a/include/linux/firmware/qcom/qcom_scm.h +++ b/include/linux/firmware/qcom/qcom_scm.h -@@ -81,6 +81,8 @@ extern int qcom_scm_pas_mem_setup(u32 peripheral, phys_addr_t addr, +@@ -81,6 +81,8 @@ extern int qcom_scm_pas_mem_setup(u32 pe extern int qcom_scm_pas_auth_and_reset(u32 peripheral); extern int qcom_scm_pas_shutdown(u32 peripheral); extern bool qcom_scm_pas_supported(u32 peripheral); @@ -130,5 +124,3 @@ index 0c091a3f6d49..58c476941e71 100644 extern int qcom_scm_io_readl(phys_addr_t addr, unsigned int *val); extern int qcom_scm_io_writel(phys_addr_t addr, unsigned int val); --- -2.40.1 diff --git a/target/linux/qualcommax/patches-6.6/0804-remoteproc-qcom-q6v5-Add-multipd-interrupts-support.patch b/target/linux/qualcommax/patches-6.6/0804-remoteproc-qcom-q6v5-Add-multipd-interrupts-support.patch index d3c046571c9661..4e955435b2df0f 100644 --- a/target/linux/qualcommax/patches-6.6/0804-remoteproc-qcom-q6v5-Add-multipd-interrupts-support.patch +++ b/target/linux/qualcommax/patches-6.6/0804-remoteproc-qcom-q6v5-Add-multipd-interrupts-support.patch @@ -17,11 +17,9 @@ Signed-off-by: Manikanta Mylavarapu drivers/remoteproc/qcom_q6v5.h | 11 +++++++++ 2 files changed, 49 insertions(+), 3 deletions(-) -diff --git a/drivers/remoteproc/qcom_q6v5.c b/drivers/remoteproc/qcom_q6v5.c -index 4ee5e67a9f03..0e32f13c196d 100644 --- a/drivers/remoteproc/qcom_q6v5.c +++ b/drivers/remoteproc/qcom_q6v5.c -@@ -112,7 +112,7 @@ static irqreturn_t q6v5_wdog_interrupt(int irq, void *data) +@@ -112,7 +112,7 @@ static irqreturn_t q6v5_wdog_interrupt(i return IRQ_HANDLED; } @@ -30,7 +28,7 @@ index 4ee5e67a9f03..0e32f13c196d 100644 { struct qcom_q6v5 *q6v5 = data; size_t len; -@@ -132,8 +132,9 @@ static irqreturn_t q6v5_fatal_interrupt(int irq, void *data) +@@ -132,8 +132,9 @@ static irqreturn_t q6v5_fatal_interrupt( return IRQ_HANDLED; } @@ -41,7 +39,7 @@ index 4ee5e67a9f03..0e32f13c196d 100644 { struct qcom_q6v5 *q6v5 = data; -@@ -141,6 +142,7 @@ static irqreturn_t q6v5_ready_interrupt(int irq, void *data) +@@ -141,6 +142,7 @@ static irqreturn_t q6v5_ready_interrupt( return IRQ_HANDLED; } @@ -49,7 +47,7 @@ index 4ee5e67a9f03..0e32f13c196d 100644 /** * qcom_q6v5_wait_for_start() - wait for remote processor start signal -@@ -177,7 +179,17 @@ static irqreturn_t q6v5_handover_interrupt(int irq, void *data) +@@ -177,7 +179,17 @@ static irqreturn_t q6v5_handover_interru return IRQ_HANDLED; } @@ -68,7 +66,7 @@ index 4ee5e67a9f03..0e32f13c196d 100644 { struct qcom_q6v5 *q6v5 = data; -@@ -185,6 +197,7 @@ static irqreturn_t q6v5_stop_interrupt(int irq, void *data) +@@ -185,6 +197,7 @@ static irqreturn_t q6v5_stop_interrupt(i return IRQ_HANDLED; } @@ -76,11 +74,10 @@ index 4ee5e67a9f03..0e32f13c196d 100644 /** * qcom_q6v5_request_stop() - request the remote processor to stop -@@ -214,6 +227,28 @@ int qcom_q6v5_request_stop(struct qcom_q6v5 *q6v5, struct qcom_sysmon *sysmon) - } +@@ -215,6 +228,28 @@ int qcom_q6v5_request_stop(struct qcom_q EXPORT_SYMBOL_GPL(qcom_q6v5_request_stop); -+/** + /** + * qcom_q6v5_request_spawn() - request the remote processor to spawn + * @q6v5: reference to qcom_q6v5 context + * @@ -102,11 +99,10 @@ index 4ee5e67a9f03..0e32f13c196d 100644 +} +EXPORT_SYMBOL_GPL(qcom_q6v5_request_spawn); + - /** ++/** * qcom_q6v5_panic() - panic handler to invoke a stop on the remote * @q6v5: reference to qcom_q6v5 context -diff --git a/drivers/remoteproc/qcom_q6v5.h b/drivers/remoteproc/qcom_q6v5.h -index 5a859c41896e..4e1bb1a68284 100644 + * --- a/drivers/remoteproc/qcom_q6v5.h +++ b/drivers/remoteproc/qcom_q6v5.h @@ -18,21 +18,27 @@ struct qcom_q6v5 { @@ -137,7 +133,7 @@ index 5a859c41896e..4e1bb1a68284 100644 int crash_reason; -@@ -50,7 +56,12 @@ void qcom_q6v5_deinit(struct qcom_q6v5 *q6v5); +@@ -50,7 +56,12 @@ void qcom_q6v5_deinit(struct qcom_q6v5 * int qcom_q6v5_prepare(struct qcom_q6v5 *q6v5); int qcom_q6v5_unprepare(struct qcom_q6v5 *q6v5); int qcom_q6v5_request_stop(struct qcom_q6v5 *q6v5, struct qcom_sysmon *sysmon); @@ -150,6 +146,3 @@ index 5a859c41896e..4e1bb1a68284 100644 +irqreturn_t q6v5_stop_interrupt(int irq, void *data); #endif --- -2.40.1 - diff --git a/target/linux/qualcommax/patches-6.6/0806-rproc-qcom_q6v5_mpd-split-q6_wcss-to-rootpd-and-user.patch b/target/linux/qualcommax/patches-6.6/0806-rproc-qcom_q6v5_mpd-split-q6_wcss-to-rootpd-and-user.patch index 95a21102073bf8..0470f24ab4e769 100644 --- a/target/linux/qualcommax/patches-6.6/0806-rproc-qcom_q6v5_mpd-split-q6_wcss-to-rootpd-and-user.patch +++ b/target/linux/qualcommax/patches-6.6/0806-rproc-qcom_q6v5_mpd-split-q6_wcss-to-rootpd-and-user.patch @@ -9,8 +9,6 @@ Signed-off-by: hzy drivers/remoteproc/qcom_q6v5_mpd.c | 126 +++++++++++++---------------- 1 file changed, 56 insertions(+), 70 deletions(-) -diff --git a/drivers/remoteproc/qcom_q6v5_mpd.c b/drivers/remoteproc/qcom_q6v5_mpd.c -index b133285888c7..a1c189ab1f42 100644 --- a/drivers/remoteproc/qcom_q6v5_mpd.c +++ b/drivers/remoteproc/qcom_q6v5_mpd.c @@ -44,10 +44,6 @@ @@ -53,7 +51,7 @@ index b133285888c7..a1c189ab1f42 100644 return bit / 8; } -@@ -131,37 +132,37 @@ static int q6_wcss_start(struct rproc *rproc) +@@ -131,37 +132,37 @@ static int q6_wcss_start(struct rproc *r static int q6_wcss_spawn_pd(struct rproc *rproc) { int ret; @@ -102,7 +100,7 @@ index b133285888c7..a1c189ab1f42 100644 ret = q6_wcss_spawn_pd(rproc); if (ret) return ret; -@@ -213,22 +214,22 @@ static int q6_wcss_stop(struct rproc *rproc) +@@ -213,22 +214,22 @@ static int q6_wcss_stop(struct rproc *rp */ static int wcss_pd_stop(struct rproc *rproc) { @@ -132,7 +130,7 @@ index b133285888c7..a1c189ab1f42 100644 return ret; } -@@ -273,7 +274,8 @@ static int share_upd_bootinfo_to_q6(struct rproc *rproc) +@@ -273,7 +274,8 @@ static int share_upd_bootinfo_to_q6(stru size_t size; u16 cnt = 0, version; void *ptr; @@ -142,7 +140,7 @@ index b133285888c7..a1c189ab1f42 100644 struct rproc *upd_rproc; struct userpd_boot_info upd_bootinfo = {0}; const struct firmware *fw; -@@ -308,7 +310,7 @@ static int share_upd_bootinfo_to_q6(struct rproc *rproc) +@@ -308,7 +310,7 @@ static int share_upd_bootinfo_to_q6(stru ptr += sizeof(u16); list_for_each_entry(upd_rproc, &upd_rproc_list, node) { @@ -151,7 +149,7 @@ index b133285888c7..a1c189ab1f42 100644 /* TYPE */ upd_bootinfo.header.type = UPD_BOOT_INFO_HEADER_TYPE; -@@ -318,11 +320,11 @@ static int share_upd_bootinfo_to_q6(struct rproc *rproc) +@@ -318,11 +320,11 @@ static int share_upd_bootinfo_to_q6(stru sizeof(upd_bootinfo) - sizeof(upd_bootinfo.header); /* Process ID */ @@ -166,7 +164,7 @@ index b133285888c7..a1c189ab1f42 100644 return ret; } -@@ -421,19 +423,20 @@ static int q6_wcss_load(struct rproc *rproc, const struct firmware *fw) +@@ -421,19 +423,20 @@ static int q6_wcss_load(struct rproc *rp */ static int wcss_pd_load(struct rproc *rproc, const struct firmware *fw) { @@ -192,7 +190,7 @@ index b133285888c7..a1c189ab1f42 100644 } static unsigned long q6_wcss_panic(struct rproc *rproc) -@@ -465,26 +468,15 @@ static int q6_alloc_memory_region(struct q6_wcss *wcss) +@@ -465,26 +468,15 @@ static int q6_alloc_memory_region(struct struct device_node *node; struct device *dev = wcss->dev; @@ -200,13 +198,9 @@ index b133285888c7..a1c189ab1f42 100644 - node = of_parse_phandle(dev->of_node, "memory-region", 0); - if (node) - rmem = of_reserved_mem_lookup(node); -+ node = of_parse_phandle(dev->of_node, "memory-region", 0); -+ if (node) -+ rmem = of_reserved_mem_lookup(node); - +- - of_node_put(node); -+ of_node_put(node); - +- - if (!rmem) { - dev_err(dev, "unable to acquire memory-region\n"); - return -EINVAL; @@ -220,13 +214,19 @@ index b133285888c7..a1c189ab1f42 100644 - wcss->mem_size = rpd_wcss->mem_size; - wcss->mem_region = rpd_wcss->mem_region; - return 0; ++ node = of_parse_phandle(dev->of_node, "memory-region", 0); ++ if (node) ++ rmem = of_reserved_mem_lookup(node); ++ ++ of_node_put(node); ++ + if (!rmem) { + dev_err(dev, "unable to acquire memory-region\n"); + return -EINVAL; } wcss->mem_phys = rmem->base; -@@ -508,7 +500,7 @@ static int q6_get_inbound_irq(struct qcom_q6v5 *q6, +@@ -508,7 +500,7 @@ static int q6_get_inbound_irq(struct qco { int ret, irq; char *interrupt, *tmp = (char *)int_name; @@ -235,7 +235,7 @@ index b133285888c7..a1c189ab1f42 100644 irq = platform_get_irq(pdev, index); if (irq < 0) -@@ -520,7 +512,7 @@ static int q6_get_inbound_irq(struct qcom_q6v5 *q6, +@@ -520,7 +512,7 @@ static int q6_get_inbound_irq(struct qco if (!interrupt) return -ENOMEM; @@ -244,7 +244,7 @@ index b133285888c7..a1c189ab1f42 100644 ret = devm_request_threaded_irq(&pdev->dev, *pirq, NULL, handler, -@@ -561,7 +553,7 @@ static int init_irq(struct qcom_q6v5 *q6, +@@ -561,7 +553,7 @@ static int init_irq(struct qcom_q6v5 *q6 void (*handover)(struct qcom_q6v5 *q6)) { int ret; @@ -253,7 +253,7 @@ index b133285888c7..a1c189ab1f42 100644 q6->rproc = rproc; q6->dev = &pdev->dev; -@@ -581,7 +573,7 @@ static int init_irq(struct qcom_q6v5 *q6, +@@ -581,7 +573,7 @@ static int init_irq(struct qcom_q6v5 *q6 return ret; /* Get pd_asid to prepare interrupt names */ @@ -271,7 +271,7 @@ index b133285888c7..a1c189ab1f42 100644 struct rproc *rproc = NULL; int ret; struct platform_device *userpd_pdev; -@@ -652,21 +644,16 @@ static int q6_register_userpd(struct platform_device *pdev, +@@ -652,21 +644,16 @@ static int q6_register_userpd(struct pla userpd_pdev->dev.driver = pdev->dev.driver; rproc = rproc_alloc(&userpd_pdev->dev, userpd_pdev->name, &wcss_ops, @@ -297,7 +297,7 @@ index b133285888c7..a1c189ab1f42 100644 WCSS_CRASH_REASON, NULL, NULL); if (ret) goto free_rproc; -@@ -678,7 +665,7 @@ static int q6_register_userpd(struct platform_device *pdev, +@@ -678,7 +665,7 @@ static int q6_register_userpd(struct pla list_add(&rproc->node, &upd_rproc_list); platform_set_drvdata(userpd_pdev, rproc); @@ -306,7 +306,7 @@ index b133285888c7..a1c189ab1f42 100644 return 0; free_rproc: -@@ -719,7 +706,6 @@ static int q6_wcss_probe(struct platform_device *pdev) +@@ -719,7 +706,6 @@ static int q6_wcss_probe(struct platform wcss->dev = &pdev->dev; wcss->desc = desc; wcss->firmware = firmware; @@ -314,6 +314,3 @@ index b133285888c7..a1c189ab1f42 100644 ret = q6_alloc_memory_region(wcss); if (ret) --- -2.40.1 - diff --git a/target/linux/qualcommax/patches-6.6/0807-remoteproc-qcom_q6v5_mpd-fix-incorrent-use-of-rproc-.patch b/target/linux/qualcommax/patches-6.6/0807-remoteproc-qcom_q6v5_mpd-fix-incorrent-use-of-rproc-.patch index 72446b52be00e7..f9d3fa285d3458 100644 --- a/target/linux/qualcommax/patches-6.6/0807-remoteproc-qcom_q6v5_mpd-fix-incorrent-use-of-rproc-.patch +++ b/target/linux/qualcommax/patches-6.6/0807-remoteproc-qcom_q6v5_mpd-fix-incorrent-use-of-rproc-.patch @@ -48,8 +48,6 @@ Signed-off-by: hzy drivers/remoteproc/qcom_q6v5_mpd.c | 53 +++++++++++++++++------------- 1 file changed, 30 insertions(+), 23 deletions(-) -diff --git a/drivers/remoteproc/qcom_q6v5_mpd.c b/drivers/remoteproc/qcom_q6v5_mpd.c -index a1c189ab1f42..a13ced46a158 100644 --- a/drivers/remoteproc/qcom_q6v5_mpd.c +++ b/drivers/remoteproc/qcom_q6v5_mpd.c @@ -33,6 +33,7 @@ @@ -77,7 +75,7 @@ index a1c189ab1f42..a13ced46a158 100644 }; struct userpd { -@@ -270,13 +270,12 @@ static void *q6_wcss_da_to_va(struct rproc *rproc, u64 da, size_t len, +@@ -270,13 +270,12 @@ static void *q6_wcss_da_to_va(struct rpr */ static int share_upd_bootinfo_to_q6(struct rproc *rproc) { @@ -92,7 +90,7 @@ index a1c189ab1f42..a13ced46a158 100644 struct userpd_boot_info upd_bootinfo = {0}; const struct firmware *fw; -@@ -301,16 +300,19 @@ static int share_upd_bootinfo_to_q6(struct rproc *rproc) +@@ -301,16 +300,19 @@ static int share_upd_bootinfo_to_q6(stru memcpy_toio(ptr, &version, sizeof(version)); ptr += sizeof(version); @@ -116,7 +114,7 @@ index a1c189ab1f42..a13ced46a158 100644 /* TYPE */ upd_bootinfo.header.type = UPD_BOOT_INFO_HEADER_TYPE; -@@ -322,14 +324,14 @@ static int share_upd_bootinfo_to_q6(struct rproc *rproc) +@@ -322,14 +324,14 @@ static int share_upd_bootinfo_to_q6(stru /* Process ID */ upd_bootinfo.pid = upd->pd_asid + 1; @@ -133,7 +131,7 @@ index a1c189ab1f42..a13ced46a158 100644 /* Firmware mem size */ upd_bootinfo.data_size = qcom_mdt_get_size(fw); -@@ -597,18 +599,23 @@ static int init_irq(struct qcom_q6v5 *q6, +@@ -597,18 +599,23 @@ static int init_irq(struct qcom_q6v5 *q6 return 0; } @@ -163,7 +161,7 @@ index a1c189ab1f42..a13ced46a158 100644 struct device_node *userpd_np) { struct userpd *upd; -@@ -633,16 +640,16 @@ static int q6_register_userpd(struct platform_device *pdev, +@@ -633,16 +640,16 @@ static int q6_register_userpd(struct pla return ret; } @@ -184,7 +182,7 @@ index a1c189ab1f42..a13ced46a158 100644 rproc = rproc_alloc(&userpd_pdev->dev, userpd_pdev->name, &wcss_ops, firmware_name, sizeof(*upd)); if (!rproc) { -@@ -663,7 +670,7 @@ static int q6_register_userpd(struct platform_device *pdev, +@@ -663,7 +670,7 @@ static int q6_register_userpd(struct pla if (ret) goto free_rproc; @@ -193,7 +191,7 @@ index a1c189ab1f42..a13ced46a158 100644 platform_set_drvdata(userpd_pdev, rproc); qcom_add_ssr_subdev(rproc, &upd->ssr_subdev, userpd_pdev->name); return 0; -@@ -728,10 +735,10 @@ static int q6_wcss_probe(struct platform_device *pdev) +@@ -728,10 +735,10 @@ static int q6_wcss_probe(struct platform /* Iterate over userpd child's and register with rproc */ for_each_available_child_of_node(pdev->dev.of_node, userpd_np) { @@ -206,6 +204,3 @@ index a1c189ab1f42..a13ced46a158 100644 return dev_err_probe(&pdev->dev, ret, "Failed to register userpd(%s)\n", userpd_np->name); --- -2.40.1 - diff --git a/target/linux/qualcommax/patches-6.6/0812-mdt_loader-support-MPD.patch b/target/linux/qualcommax/patches-6.6/0812-mdt_loader-support-MPD.patch index a54bda9a825f59..6ece3d17b3c330 100644 --- a/target/linux/qualcommax/patches-6.6/0812-mdt_loader-support-MPD.patch +++ b/target/linux/qualcommax/patches-6.6/0812-mdt_loader-support-MPD.patch @@ -9,8 +9,6 @@ Signed-off-by: hzy include/linux/soc/qcom/mdt_loader.h | 5 ++ 2 files changed, 110 insertions(+), 5 deletions(-) -diff --git a/drivers/soc/qcom/mdt_loader.c b/drivers/soc/qcom/mdt_loader.c -index 6f177e46fa0f..00c848abd996 100644 --- a/drivers/soc/qcom/mdt_loader.c +++ b/drivers/soc/qcom/mdt_loader.c @@ -16,6 +16,16 @@ @@ -30,7 +28,7 @@ index 6f177e46fa0f..00c848abd996 100644 static bool mdt_phdr_valid(const struct elf32_phdr *phdr) { -@@ -69,6 +79,56 @@ static ssize_t mdt_load_split_segment(void *ptr, const struct elf32_phdr *phdrs, +@@ -69,6 +79,56 @@ static ssize_t mdt_load_split_segment(vo return ret; } @@ -87,7 +85,7 @@ index 6f177e46fa0f..00c848abd996 100644 /** * qcom_mdt_get_size() - acquire size of the memory region needed to load mdt * @fw: firmware object for the mdt file -@@ -295,7 +355,8 @@ static bool qcom_mdt_bins_are_split(const struct firmware *fw, const char *fw_na +@@ -295,7 +355,8 @@ static bool qcom_mdt_bins_are_split(cons static int __qcom_mdt_load(struct device *dev, const struct firmware *fw, const char *fw_name, int pas_id, void *mem_region, phys_addr_t mem_phys, size_t mem_size, @@ -97,7 +95,7 @@ index 6f177e46fa0f..00c848abd996 100644 { const struct elf32_phdr *phdrs; const struct elf32_phdr *phdr; -@@ -349,6 +410,14 @@ static int __qcom_mdt_load(struct device *dev, const struct firmware *fw, +@@ -349,6 +410,14 @@ static int __qcom_mdt_load(struct device if (!mdt_phdr_valid(phdr)) continue; @@ -112,7 +110,7 @@ index 6f177e46fa0f..00c848abd996 100644 offset = phdr->p_paddr - mem_reloc; if (offset < 0 || offset + phdr->p_memsz > mem_size) { dev_err(dev, "segment outside memory range\n"); -@@ -366,7 +435,11 @@ static int __qcom_mdt_load(struct device *dev, const struct firmware *fw, +@@ -366,7 +435,11 @@ static int __qcom_mdt_load(struct device ptr = mem_region + offset; @@ -125,7 +123,7 @@ index 6f177e46fa0f..00c848abd996 100644 /* Firmware is large enough to be non-split */ if (phdr->p_offset + phdr->p_filesz > fw->size) { dev_err(dev, "file %s segment %d would be truncated\n", -@@ -383,7 +456,7 @@ static int __qcom_mdt_load(struct device *dev, const struct firmware *fw, +@@ -383,7 +456,7 @@ static int __qcom_mdt_load(struct device break; } @@ -134,7 +132,7 @@ index 6f177e46fa0f..00c848abd996 100644 memset(ptr + phdr->p_filesz, 0, phdr->p_memsz - phdr->p_filesz); } -@@ -418,7 +491,7 @@ int qcom_mdt_load(struct device *dev, const struct firmware *fw, +@@ -418,7 +491,7 @@ int qcom_mdt_load(struct device *dev, co return ret; return __qcom_mdt_load(dev, fw, firmware, pas_id, mem_region, mem_phys, @@ -143,7 +141,7 @@ index 6f177e46fa0f..00c848abd996 100644 } EXPORT_SYMBOL_GPL(qcom_mdt_load); -@@ -441,9 +514,36 @@ int qcom_mdt_load_no_init(struct device *dev, const struct firmware *fw, +@@ -441,9 +514,36 @@ int qcom_mdt_load_no_init(struct device size_t mem_size, phys_addr_t *reloc_base) { return __qcom_mdt_load(dev, fw, firmware, pas_id, mem_region, mem_phys, @@ -181,11 +179,9 @@ index 6f177e46fa0f..00c848abd996 100644 + MODULE_DESCRIPTION("Firmware parser for Qualcomm MDT format"); MODULE_LICENSE("GPL v2"); -diff --git a/include/linux/soc/qcom/mdt_loader.h b/include/linux/soc/qcom/mdt_loader.h -index 9e8e60421192..cefccb709f2e 100644 --- a/include/linux/soc/qcom/mdt_loader.h +++ b/include/linux/soc/qcom/mdt_loader.h -@@ -30,6 +30,11 @@ int qcom_mdt_load_no_init(struct device *dev, const struct firmware *fw, +@@ -30,6 +30,11 @@ int qcom_mdt_load_no_init(struct device void *qcom_mdt_read_metadata(const struct firmware *fw, size_t *data_len, const char *fw_name, struct device *dev); @@ -197,6 +193,3 @@ index 9e8e60421192..cefccb709f2e 100644 #else /* !IS_ENABLED(CONFIG_QCOM_MDT_LOADER) */ static inline ssize_t qcom_mdt_get_size(const struct firmware *fw) --- -2.40.1 - diff --git a/target/linux/qualcommax/patches-6.6/0813-remoteproc-qcom_q6v5_mpd-enable-clocks.patch b/target/linux/qualcommax/patches-6.6/0813-remoteproc-qcom_q6v5_mpd-enable-clocks.patch index ced3d02d86f572..204051f5618d51 100644 --- a/target/linux/qualcommax/patches-6.6/0813-remoteproc-qcom_q6v5_mpd-enable-clocks.patch +++ b/target/linux/qualcommax/patches-6.6/0813-remoteproc-qcom_q6v5_mpd-enable-clocks.patch @@ -8,8 +8,6 @@ Signed-off-by: hzy drivers/remoteproc/qcom_q6v5_mpd.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) -diff --git a/drivers/remoteproc/qcom_q6v5_mpd.c b/drivers/remoteproc/qcom_q6v5_mpd.c -index a13ced46a158..edcd5ed8515f 100644 --- a/drivers/remoteproc/qcom_q6v5_mpd.c +++ b/drivers/remoteproc/qcom_q6v5_mpd.c @@ -77,6 +77,8 @@ struct q6_wcss { @@ -21,7 +19,7 @@ index a13ced46a158..edcd5ed8515f 100644 const struct wcss_data *desc; const char **firmware; struct userpd *upd[MAX_UPD]; -@@ -718,6 +720,16 @@ static int q6_wcss_probe(struct platform_device *pdev) +@@ -718,6 +720,16 @@ static int q6_wcss_probe(struct platform if (ret) goto free_rproc; @@ -38,6 +36,3 @@ index a13ced46a158..edcd5ed8515f 100644 ret = qcom_q6v5_init(&wcss->q6, pdev, rproc, WCSS_CRASH_REASON, NULL, NULL); if (ret) --- -2.40.1 - diff --git a/target/linux/qualcommax/patches-6.6/0814-remoteproc-qcom_q6v5_mpd-support-ipq5018.patch b/target/linux/qualcommax/patches-6.6/0814-remoteproc-qcom_q6v5_mpd-support-ipq5018.patch index 1238d52765bfdb..e22b4b8d503141 100644 --- a/target/linux/qualcommax/patches-6.6/0814-remoteproc-qcom_q6v5_mpd-support-ipq5018.patch +++ b/target/linux/qualcommax/patches-6.6/0814-remoteproc-qcom_q6v5_mpd-support-ipq5018.patch @@ -8,11 +8,9 @@ Signed-off-by: hzy drivers/remoteproc/qcom_q6v5_mpd.c | 37 +++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) -diff --git a/drivers/remoteproc/qcom_q6v5_mpd.c b/drivers/remoteproc/qcom_q6v5_mpd.c -index edcd5ed8515f..7416ba231445 100644 --- a/drivers/remoteproc/qcom_q6v5_mpd.c +++ b/drivers/remoteproc/qcom_q6v5_mpd.c -@@ -155,6 +155,8 @@ static int q6_wcss_spawn_pd(struct rproc *rproc) +@@ -155,6 +155,8 @@ static int q6_wcss_spawn_pd(struct rproc static int wcss_pd_start(struct rproc *rproc) { struct userpd *upd = rproc->priv; @@ -21,7 +19,7 @@ index edcd5ed8515f..7416ba231445 100644 u32 pasid = (upd->pd_asid << 8) | UPD_SWID; int ret; -@@ -170,6 +172,14 @@ static int wcss_pd_start(struct rproc *rproc) +@@ -170,6 +172,14 @@ static int wcss_pd_start(struct rproc *r return ret; } @@ -36,7 +34,7 @@ index edcd5ed8515f..7416ba231445 100644 return ret; } -@@ -179,6 +189,12 @@ static int q6_wcss_stop(struct rproc *rproc) +@@ -179,6 +189,12 @@ static int q6_wcss_stop(struct rproc *rp const struct wcss_data *desc = wcss->desc; int ret; @@ -49,7 +47,7 @@ index edcd5ed8515f..7416ba231445 100644 ret = qcom_scm_pas_shutdown(desc->pasid); if (ret) { dev_err(wcss->dev, "not able to shutdown\n"); -@@ -218,6 +234,7 @@ static int wcss_pd_stop(struct rproc *rproc) +@@ -218,6 +234,7 @@ static int wcss_pd_stop(struct rproc *rp { struct userpd *upd = rproc->priv; struct rproc *rpd_rproc = dev_get_drvdata(upd->dev->parent); @@ -57,7 +55,7 @@ index edcd5ed8515f..7416ba231445 100644 u32 pasid = (upd->pd_asid << 8) | UPD_SWID; int ret; -@@ -229,6 +246,14 @@ static int wcss_pd_stop(struct rproc *rproc) +@@ -229,6 +246,14 @@ static int wcss_pd_stop(struct rproc *rp } } @@ -72,7 +70,7 @@ index edcd5ed8515f..7416ba231445 100644 ret = qcom_scm_msa_unlock(pasid); if (ret) { dev_err(upd->dev, "failed to power down pd\n"); -@@ -430,15 +455,14 @@ static int wcss_pd_load(struct rproc *rproc, const struct firmware *fw) +@@ -430,15 +455,14 @@ static int wcss_pd_load(struct rproc *rp struct userpd *upd = rproc->priv; struct rproc *rpd_rproc = dev_get_drvdata(upd->dev->parent); struct q6_wcss *wcss = rpd_rproc->priv; @@ -90,7 +88,7 @@ index edcd5ed8515f..7416ba231445 100644 wcss->mem_phys, wcss->mem_size, NULL); } -@@ -777,6 +801,12 @@ static int q6_wcss_remove(struct platform_device *pdev) +@@ -777,6 +801,12 @@ static int q6_wcss_remove(struct platfor return 0; } @@ -103,7 +101,7 @@ index edcd5ed8515f..7416ba231445 100644 static const struct wcss_data q6_ipq5332_res_init = { .pasid = MPD_WCNSS_PAS_ID, .share_upd_info_to_q6 = true, -@@ -787,6 +817,7 @@ static const struct wcss_data q6_ipq9574_res_init = { +@@ -787,6 +817,7 @@ static const struct wcss_data q6_ipq9574 }; static const struct of_device_id q6_wcss_of_match[] = { @@ -111,6 +109,3 @@ index edcd5ed8515f..7416ba231445 100644 { .compatible = "qcom,ipq5332-q6-mpd", .data = &q6_ipq5332_res_init }, { .compatible = "qcom,ipq9574-q6-mpd", .data = &q6_ipq9574_res_init }, { }, --- -2.40.1 - diff --git a/target/linux/qualcommax/patches-6.6/0815-arm64-dts-qcom-ipq5018-add-wifi-support.patch b/target/linux/qualcommax/patches-6.6/0815-arm64-dts-qcom-ipq5018-add-wifi-support.patch index 64368bf8cb9572..0309229718d9fb 100644 --- a/target/linux/qualcommax/patches-6.6/0815-arm64-dts-qcom-ipq5018-add-wifi-support.patch +++ b/target/linux/qualcommax/patches-6.6/0815-arm64-dts-qcom-ipq5018-add-wifi-support.patch @@ -10,7 +10,7 @@ Signed-off-by: hzy --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi -@@ -688,6 +688,197 @@ +@@ -1005,6 +1005,197 @@ }; }; diff --git a/target/linux/qualcommax/patches-6.6/0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch b/target/linux/qualcommax/patches-6.6/0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch index f4968f1a4d1c99..dca43677db9cf0 100644 --- a/target/linux/qualcommax/patches-6.6/0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch +++ b/target/linux/qualcommax/patches-6.6/0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch @@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi -@@ -809,6 +809,102 @@ +@@ -805,6 +805,102 @@ }; }; diff --git a/target/linux/qualcommax/patches-6.6/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch b/target/linux/qualcommax/patches-6.6/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch index 094442a59bec6b..b03870837a13df 100644 --- a/target/linux/qualcommax/patches-6.6/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch +++ b/target/linux/qualcommax/patches-6.6/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch @@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi -@@ -1157,6 +1157,7 @@ +@@ -1153,6 +1153,7 @@ wcss_smp2p_out: master-kernel { qcom,entry-name = "master-kernel"; diff --git a/target/linux/qualcommax/patches-6.6/0909-arm64-dts-qcom-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch b/target/linux/qualcommax/patches-6.6/0909-arm64-dts-qcom-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch index a0528e7f50a21a..5da9761c0846b9 100644 --- a/target/linux/qualcommax/patches-6.6/0909-arm64-dts-qcom-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch +++ b/target/linux/qualcommax/patches-6.6/0909-arm64-dts-qcom-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch @@ -13,7 +13,7 @@ Signed-off-by: Mantas Pucka --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi -@@ -930,8 +930,8 @@ +@@ -926,8 +926,8 @@ "wcss_reset", "wcss_q6_reset"; diff --git a/target/linux/rockchip/patches-6.6/101-net-realtek-r8169-add-LED-configuration-from-OF.patch b/target/linux/rockchip/patches-6.6/101-net-realtek-r8169-add-LED-configuration-from-OF.patch index 500e05cd8d7cbe..abfdf1fe282929 100644 --- a/target/linux/rockchip/patches-6.6/101-net-realtek-r8169-add-LED-configuration-from-OF.patch +++ b/target/linux/rockchip/patches-6.6/101-net-realtek-r8169-add-LED-configuration-from-OF.patch @@ -17,7 +17,7 @@ Subject: [PATCH] r8169: add LED configuration from OF #include #include #include -@@ -173,6 +174,7 @@ enum rtl_registers { +@@ -175,6 +176,7 @@ enum rtl_registers { MAR0 = 8, /* Multicast filter. */ CounterAddrLow = 0x10, CounterAddrHigh = 0x14, @@ -25,7 +25,7 @@ Subject: [PATCH] r8169: add LED configuration from OF TxDescStartAddrLow = 0x20, TxDescStartAddrHigh = 0x24, TxHDescStartAddrLow = 0x28, -@@ -5354,6 +5356,22 @@ static bool rtl_aspm_is_safe(struct rtl8 +@@ -5367,6 +5369,22 @@ static bool rtl_aspm_is_safe(struct rtl8 return false; } @@ -48,7 +48,7 @@ Subject: [PATCH] r8169: add LED configuration from OF static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) { struct rtl8169_private *tp; -@@ -5522,6 +5540,7 @@ static int rtl_init_one(struct pci_dev * +@@ -5535,6 +5553,7 @@ static int rtl_init_one(struct pci_dev * if (!tp->counters) return -ENOMEM; From e66ffaf37c785a6bcfc701b9b2499952c14e1f76 Mon Sep 17 00:00:00 2001 From: Beginner <70857188+Beginner-Go@users.noreply.github.com> Date: Sun, 8 Dec 2024 16:01:09 +0800 Subject: [PATCH 2/2] kernel: bump 6.1 to 6.1.119 (#13185) --- include/kernel-6.1 | 4 +-- ...i-gen-LRU-per-node-lru_gen_folio-lis.patch | 2 +- ...cit-phylink_generic_validate-referen.patch | 2 +- ...-neg_mode-into-phylink_mii_c22_pcs_c.patch | 6 ++-- ...t-introduce-napi_is_scheduled-helper.patch | 2 +- ...c-move-TX-timer-arm-after-DMA-enable.patch | 8 ++--- ..._generic-add-support-for-sc8280xp-cr.patch | 2 +- ...ci_generic-Add-HP-variant-of-T99W175.patch | 2 +- ..._generic-Add-definition-for-some-VID.patch | 6 ++-- ..._generic-Drop-redundant-pci_enable_p.patch | 6 ++-- ...-mhi-pci_generic-Add-Foxconn-T99W510.patch | 2 +- ..._generic-Add-support-for-Quectel-EM1.patch | 2 +- ..._generic-Add-support-for-Quectel-RM5.patch | 2 +- ..._generic-Add-support-for-Dell-DW5932.patch | 2 +- ..._generic-Add-support-for-Quectel-RM5.patch | 2 +- ..._generic-Add-SDX75-based-modem-suppo.patch | 4 +-- .../780-usb-net-MeigLink_modem_support.patch | 4 +-- .../generic/hack-6.1/902-debloat_proc.patch | 2 +- ...vert-driver-core-Set-fw_devlink-on-b.patch | 2 +- ...k-events-support-multiple-registrant.patch | 6 ++-- ...-linux-kernel-to-support-shortcut-fe.patch | 6 ++-- ...e_mem_map-with-ARCH_PFN_OFFSET-calcu.patch | 2 +- ...ernel-XZ-compression-option-on-PPC_8.patch | 2 +- ...les-ignore-EOPNOTSUPP-on-flowtable-d.patch | 2 +- ...d-knob-for-filtering-rx-tx-BPDU-pack.patch | 2 +- ...ional-threading-for-backlog-processi.patch | 18 +++++----- ...a-b53-add-support-for-BCM63xx-RGMIIs.patch | 6 ++-- ...dsa-b53-mmap-allow-passing-a-chip-ID.patch | 2 +- ...b53-add-BCM63268-RGMII-configuration.patch | 2 +- ...sa-b53-mdio-add-support-for-BCM53134.patch | 4 +-- ...40-hwrng-bcm2835-set-quality-to-1000.patch | 2 +- .../901-usb-add-more-modem-support.patch | 4 +-- ...pha-pll-Add-support-for-Stromer-PLLs.patch | 4 +-- ...alpha-pll-introduce-stromer-plus-ops.patch | 2 +- .../041-block-fit-partition-parser.patch | 4 +-- .../901-arm-add-cmdline-override.patch | 2 +- ...00-3-qca-nss-ecm-support-net-bonding.patch | 6 ++-- ...nss-ecm-support-net-bonding-over-LAG.patch | 24 ++++++------- ...00-8-qca-nss-ecm-support-MLO-bonding.patch | 36 +++++++++---------- ...-1-qca-nss-clients-add-qdisc-support.patch | 10 +++--- ...-r8169-add-LED-configuration-from-OF.patch | 4 +-- ...TL8211-add-LED-configuration-from-OF.patch | 4 +-- ...568-update-gicv3-its-and-pci-msi-map.patch | 2 +- ...gic-v3-add-hackaround-for-rk3568-its.patch | 32 ++++++++--------- ...-add-clock-controller-for-the-RK3528.patch | 2 +- ...ac-add-devname-configuration-from-OF.patch | 4 +-- ...m64-dts-rockchip-rk3328-add-dfi-node.patch | 2 +- ...to-enable-disable-tcp_collapse-logic.patch | 8 ++--- 48 files changed, 133 insertions(+), 133 deletions(-) diff --git a/include/kernel-6.1 b/include/kernel-6.1 index df52cf30470e6b..6d41dc32a35726 100644 --- a/include/kernel-6.1 +++ b/include/kernel-6.1 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.1 = .118 -LINUX_KERNEL_HASH-6.1.118 = 010784bd7161c32c4cd68a423d4dcb14e4587677d238b2825a31fe012869224c +LINUX_VERSION-6.1 = .119 +LINUX_KERNEL_HASH-6.1.119 = aecdaf39d0a844a81ce4c67d9daff8979e938bb690df4f679fbbb494fe423278 diff --git a/target/linux/generic/backport-6.1/020-v6.3-06-BACKPORT-mm-multi-gen-LRU-per-node-lru_gen_folio-lis.patch b/target/linux/generic/backport-6.1/020-v6.3-06-BACKPORT-mm-multi-gen-LRU-per-node-lru_gen_folio-lis.patch index 259b5d697f65dd..1956f785e27a8e 100644 --- a/target/linux/generic/backport-6.1/020-v6.3-06-BACKPORT-mm-multi-gen-LRU-per-node-lru_gen_folio-lis.patch +++ b/target/linux/generic/backport-6.1/020-v6.3-06-BACKPORT-mm-multi-gen-LRU-per-node-lru_gen_folio-lis.patch @@ -361,7 +361,7 @@ Signed-off-by: T.J. Mercier static void mem_cgroup_css_free(struct cgroup_subsys_state *css) --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -7956,6 +7956,7 @@ static void __init free_area_init_node(i +@@ -7988,6 +7988,7 @@ static void __init free_area_init_node(i pgdat_set_deferred_range(pgdat); free_area_init_core(pgdat); diff --git a/target/linux/generic/backport-6.1/715-07-v6.2-net-remove-explicit-phylink_generic_validate-referen.patch b/target/linux/generic/backport-6.1/715-07-v6.2-net-remove-explicit-phylink_generic_validate-referen.patch index 6bd0151323d29a..611ab96047f976 100644 --- a/target/linux/generic/backport-6.1/715-07-v6.2-net-remove-explicit-phylink_generic_validate-referen.patch +++ b/target/linux/generic/backport-6.1/715-07-v6.2-net-remove-explicit-phylink_generic_validate-referen.patch @@ -202,7 +202,7 @@ Signed-off-by: Jakub Kicinski .mac_link_up = am65_cpsw_nuss_mac_link_up, --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c -@@ -1741,7 +1741,6 @@ static void axienet_mac_link_up(struct p +@@ -1750,7 +1750,6 @@ static void axienet_mac_link_up(struct p } static const struct phylink_mac_ops axienet_phylink_ops = { diff --git a/target/linux/generic/backport-6.1/715-26-v6.5-net-phylink-pass-neg_mode-into-phylink_mii_c22_pcs_c.patch b/target/linux/generic/backport-6.1/715-26-v6.5-net-phylink-pass-neg_mode-into-phylink_mii_c22_pcs_c.patch index f94a514f319eda..5104d655a31c8f 100644 --- a/target/linux/generic/backport-6.1/715-26-v6.5-net-phylink-pass-neg_mode-into-phylink_mii_c22_pcs_c.patch +++ b/target/linux/generic/backport-6.1/715-26-v6.5-net-phylink-pass-neg_mode-into-phylink_mii_c22_pcs_c.patch @@ -53,7 +53,7 @@ Signed-off-by: Jakub Kicinski supported = mac_dev->phylink_config.supported_interfaces; --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c -@@ -1636,7 +1636,7 @@ static void axienet_pcs_an_restart(struc +@@ -1645,7 +1645,7 @@ static void axienet_pcs_an_restart(struc phylink_mii_c22_pcs_an_restart(pcs_phy); } @@ -62,7 +62,7 @@ Signed-off-by: Jakub Kicinski phy_interface_t interface, const unsigned long *advertising, bool permit_pause_to_mac) -@@ -1658,7 +1658,8 @@ static int axienet_pcs_config(struct phy +@@ -1667,7 +1667,8 @@ static int axienet_pcs_config(struct phy } } @@ -72,7 +72,7 @@ Signed-off-by: Jakub Kicinski if (ret < 0) netdev_warn(ndev, "Failed to configure PCS: %d\n", ret); -@@ -2138,6 +2139,7 @@ static int axienet_probe(struct platform +@@ -2147,6 +2148,7 @@ static int axienet_probe(struct platform } of_node_put(np); lp->pcs.ops = &axienet_pcs_ops; diff --git a/target/linux/generic/backport-6.1/770-net-introduce-napi_is_scheduled-helper.patch b/target/linux/generic/backport-6.1/770-net-introduce-napi_is_scheduled-helper.patch index 789b93e9f93a0d..7d539065c9c0c4 100644 --- a/target/linux/generic/backport-6.1/770-net-introduce-napi_is_scheduled-helper.patch +++ b/target/linux/generic/backport-6.1/770-net-introduce-napi_is_scheduled-helper.patch @@ -85,7 +85,7 @@ Signed-off-by: Paolo Abeni /** --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -6533,7 +6533,7 @@ static int __napi_poll(struct napi_struc +@@ -6541,7 +6541,7 @@ static int __napi_poll(struct napi_struc * accidentally calling ->poll() when NAPI is not scheduled. */ work = 0; diff --git a/target/linux/generic/backport-6.1/771-v6.7-02-net-stmmac-move-TX-timer-arm-after-DMA-enable.patch b/target/linux/generic/backport-6.1/771-v6.7-02-net-stmmac-move-TX-timer-arm-after-DMA-enable.patch index 87361206540aad..4ac8069328ceeb 100644 --- a/target/linux/generic/backport-6.1/771-v6.7-02-net-stmmac-move-TX-timer-arm-after-DMA-enable.patch +++ b/target/linux/generic/backport-6.1/771-v6.7-02-net-stmmac-move-TX-timer-arm-after-DMA-enable.patch @@ -42,7 +42,7 @@ Signed-off-by: Paolo Abeni __netif_tx_unlock_bh(netdev_get_tx_queue(priv->dev, queue)); -@@ -5490,12 +5494,13 @@ static int stmmac_napi_poll_tx(struct na +@@ -5503,12 +5507,13 @@ static int stmmac_napi_poll_tx(struct na struct stmmac_channel *ch = container_of(napi, struct stmmac_channel, tx_napi); struct stmmac_priv *priv = ch->priv_data; @@ -57,7 +57,7 @@ Signed-off-by: Paolo Abeni work_done = min(work_done, budget); if (work_done < budget && napi_complete_done(napi, work_done)) { -@@ -5506,6 +5511,10 @@ static int stmmac_napi_poll_tx(struct na +@@ -5519,6 +5524,10 @@ static int stmmac_napi_poll_tx(struct na spin_unlock_irqrestore(&ch->lock, flags); } @@ -68,7 +68,7 @@ Signed-off-by: Paolo Abeni return work_done; } -@@ -5514,12 +5523,13 @@ static int stmmac_napi_poll_rxtx(struct +@@ -5527,12 +5536,13 @@ static int stmmac_napi_poll_rxtx(struct struct stmmac_channel *ch = container_of(napi, struct stmmac_channel, rxtx_napi); struct stmmac_priv *priv = ch->priv_data; @@ -83,7 +83,7 @@ Signed-off-by: Paolo Abeni tx_done = min(tx_done, budget); rx_done = stmmac_rx_zc(priv, budget, chan); -@@ -5544,6 +5554,10 @@ static int stmmac_napi_poll_rxtx(struct +@@ -5557,6 +5567,10 @@ static int stmmac_napi_poll_rxtx(struct spin_unlock_irqrestore(&ch->lock, flags); } diff --git a/target/linux/generic/backport-6.1/850-v6.2-bus-mhi-host-pci_generic-add-support-for-sc8280xp-cr.patch b/target/linux/generic/backport-6.1/850-v6.2-bus-mhi-host-pci_generic-add-support-for-sc8280xp-cr.patch index 1bf5196790b56a..7de111272415ea 100644 --- a/target/linux/generic/backport-6.1/850-v6.2-bus-mhi-host-pci_generic-add-support-for-sc8280xp-cr.patch +++ b/target/linux/generic/backport-6.1/850-v6.2-bus-mhi-host-pci_generic-add-support-for-sc8280xp-cr.patch @@ -21,7 +21,7 @@ Signed-off-by: Manivannan Sadhasivam --- a/drivers/bus/mhi/host/pci_generic.c +++ b/drivers/bus/mhi/host/pci_generic.c -@@ -542,6 +542,8 @@ static const struct mhi_pci_dev_info mhi +@@ -551,6 +551,8 @@ static const struct mhi_pci_dev_info mhi static const struct pci_device_id mhi_pci_id_table[] = { { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304), .driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info }, diff --git a/target/linux/generic/backport-6.1/851-v6.2-bus-mhi-host-pci_generic-Add-HP-variant-of-T99W175.patch b/target/linux/generic/backport-6.1/851-v6.2-bus-mhi-host-pci_generic-Add-HP-variant-of-T99W175.patch index 6f9fc71a710956..d0d7b726496047 100644 --- a/target/linux/generic/backport-6.1/851-v6.2-bus-mhi-host-pci_generic-Add-HP-variant-of-T99W175.patch +++ b/target/linux/generic/backport-6.1/851-v6.2-bus-mhi-host-pci_generic-Add-HP-variant-of-T99W175.patch @@ -22,7 +22,7 @@ Signed-off-by: Manivannan Sadhasivam --- a/drivers/bus/mhi/host/pci_generic.c +++ b/drivers/bus/mhi/host/pci_generic.c -@@ -599,6 +599,9 @@ static const struct pci_device_id mhi_pc +@@ -608,6 +608,9 @@ static const struct pci_device_id mhi_pc /* MV32-WB (Cinterion) */ { PCI_DEVICE(0x1269, 0x00bb), .driver_data = (kernel_ulong_t) &mhi_mv32_info }, diff --git a/target/linux/generic/backport-6.1/852-v6.2-bus-mhi-host-pci_generic-Add-definition-for-some-VID.patch b/target/linux/generic/backport-6.1/852-v6.2-bus-mhi-host-pci_generic-Add-definition-for-some-VID.patch index 12419fbe397ec7..04c1902e50747f 100644 --- a/target/linux/generic/backport-6.1/852-v6.2-bus-mhi-host-pci_generic-Add-definition-for-some-VID.patch +++ b/target/linux/generic/backport-6.1/852-v6.2-bus-mhi-host-pci_generic-Add-definition-for-some-VID.patch @@ -28,8 +28,8 @@ Signed-off-by: Manivannan Sadhasivam /** * struct mhi_pci_dev_info - MHI PCI device specific information * @config: MHI controller configuration -@@ -560,11 +564,11 @@ static const struct pci_device_id mhi_pc - .driver_data = (kernel_ulong_t) &mhi_telit_fn990_info }, +@@ -569,11 +573,11 @@ static const struct pci_device_id mhi_pc + .driver_data = (kernel_ulong_t) &mhi_telit_fe990a_info }, { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308), .driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info }, - { PCI_DEVICE(0x1eac, 0x1001), /* EM120R-GL (sdx24) */ @@ -43,7 +43,7 @@ Signed-off-by: Manivannan Sadhasivam .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info }, /* T99W175 (sdx55), Both for eSIM and Non-eSIM */ { PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0ab), -@@ -588,16 +592,16 @@ static const struct pci_device_id mhi_pc +@@ -597,16 +601,16 @@ static const struct pci_device_id mhi_pc { PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0d9), .driver_data = (kernel_ulong_t) &mhi_foxconn_sdx65_info }, /* MV31-W (Cinterion) */ diff --git a/target/linux/generic/backport-6.1/853-v6.2-bus-mhi-host-pci_generic-Drop-redundant-pci_enable_p.patch b/target/linux/generic/backport-6.1/853-v6.2-bus-mhi-host-pci_generic-Drop-redundant-pci_enable_p.patch index 943227d2a809f6..0a15de01ad71eb 100644 --- a/target/linux/generic/backport-6.1/853-v6.2-bus-mhi-host-pci_generic-Drop-redundant-pci_enable_p.patch +++ b/target/linux/generic/backport-6.1/853-v6.2-bus-mhi-host-pci_generic-Drop-redundant-pci_enable_p.patch @@ -36,7 +36,7 @@ Signed-off-by: Manivannan Sadhasivam #include #include #include -@@ -904,11 +903,9 @@ static int mhi_pci_probe(struct pci_dev +@@ -913,11 +912,9 @@ static int mhi_pci_probe(struct pci_dev mhi_pdev->pci_state = pci_store_saved_state(pdev); pci_load_saved_state(pdev, NULL); @@ -49,7 +49,7 @@ Signed-off-by: Manivannan Sadhasivam /* MHI bus does not power up the controller by default */ err = mhi_prepare_for_power_up(mhi_cntrl); -@@ -942,8 +939,6 @@ err_unprepare: +@@ -951,8 +948,6 @@ err_unprepare: mhi_unprepare_after_power_down(mhi_cntrl); err_unregister: mhi_unregister_controller(mhi_cntrl); @@ -58,7 +58,7 @@ Signed-off-by: Manivannan Sadhasivam return err; } -@@ -966,7 +961,6 @@ static void mhi_pci_remove(struct pci_de +@@ -975,7 +970,6 @@ static void mhi_pci_remove(struct pci_de pm_runtime_get_noresume(&pdev->dev); mhi_unregister_controller(mhi_cntrl); diff --git a/target/linux/generic/backport-6.1/854-v6.4-bus-mhi-pci_generic-Add-Foxconn-T99W510.patch b/target/linux/generic/backport-6.1/854-v6.4-bus-mhi-pci_generic-Add-Foxconn-T99W510.patch index 8ec6f3e76fe3e2..9e48d513369cb7 100644 --- a/target/linux/generic/backport-6.1/854-v6.4-bus-mhi-pci_generic-Add-Foxconn-T99W510.patch +++ b/target/linux/generic/backport-6.1/854-v6.4-bus-mhi-pci_generic-Add-Foxconn-T99W510.patch @@ -31,7 +31,7 @@ Signed-off-by: Manivannan Sadhasivam static const struct mhi_pci_dev_info mhi_foxconn_sdx55_info = { .name = "foxconn-sdx55", .fw = "qcom/sdx55m/sbl1.mbn", -@@ -590,6 +599,15 @@ static const struct pci_device_id mhi_pc +@@ -599,6 +608,15 @@ static const struct pci_device_id mhi_pc /* T99W373 (sdx62) */ { PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0d9), .driver_data = (kernel_ulong_t) &mhi_foxconn_sdx65_info }, diff --git a/target/linux/generic/backport-6.1/856-v6.6-bus-mhi-host-pci_generic-Add-support-for-Quectel-EM1.patch b/target/linux/generic/backport-6.1/856-v6.6-bus-mhi-host-pci_generic-Add-support-for-Quectel-EM1.patch index 2e01d4fd650250..9624e65702973f 100644 --- a/target/linux/generic/backport-6.1/856-v6.6-bus-mhi-host-pci_generic-Add-support-for-Quectel-EM1.patch +++ b/target/linux/generic/backport-6.1/856-v6.6-bus-mhi-host-pci_generic-Add-support-for-Quectel-EM1.patch @@ -23,7 +23,7 @@ Signed-off-by: Manivannan Sadhasivam --- a/drivers/bus/mhi/host/pci_generic.c +++ b/drivers/bus/mhi/host/pci_generic.c -@@ -594,6 +594,8 @@ static const struct pci_device_id mhi_pc +@@ -603,6 +603,8 @@ static const struct pci_device_id mhi_pc .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info }, { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1002), /* EM160R-GL (sdx24) */ .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info }, diff --git a/target/linux/generic/backport-6.1/857-v6.6-bus-mhi-host-pci_generic-Add-support-for-Quectel-RM5.patch b/target/linux/generic/backport-6.1/857-v6.6-bus-mhi-host-pci_generic-Add-support-for-Quectel-RM5.patch index f547eb972ffadf..6180ae39c866ae 100644 --- a/target/linux/generic/backport-6.1/857-v6.6-bus-mhi-host-pci_generic-Add-support-for-Quectel-RM5.patch +++ b/target/linux/generic/backport-6.1/857-v6.6-bus-mhi-host-pci_generic-Add-support-for-Quectel-RM5.patch @@ -37,7 +37,7 @@ Signed-off-by: Manivannan Sadhasivam static const struct mhi_channel_config mhi_foxconn_sdx55_channels[] = { MHI_CHANNEL_CONFIG_UL(0, "LOOPBACK", 32, 0), MHI_CHANNEL_CONFIG_DL(1, "LOOPBACK", 32, 0), -@@ -594,6 +604,9 @@ static const struct pci_device_id mhi_pc +@@ -603,6 +613,9 @@ static const struct pci_device_id mhi_pc .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info }, { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1002), /* EM160R-GL (sdx24) */ .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info }, diff --git a/target/linux/generic/backport-6.1/858-v6.6-bus-mhi-host-pci_generic-Add-support-for-Dell-DW5932.patch b/target/linux/generic/backport-6.1/858-v6.6-bus-mhi-host-pci_generic-Add-support-for-Dell-DW5932.patch index ba0e156a8cdbea..cd878b3147bec5 100644 --- a/target/linux/generic/backport-6.1/858-v6.6-bus-mhi-host-pci_generic-Add-support-for-Dell-DW5932.patch +++ b/target/linux/generic/backport-6.1/858-v6.6-bus-mhi-host-pci_generic-Add-support-for-Dell-DW5932.patch @@ -19,7 +19,7 @@ Signed-off-by: Manivannan Sadhasivam --- a/drivers/bus/mhi/host/pci_generic.c +++ b/drivers/bus/mhi/host/pci_generic.c -@@ -641,6 +641,12 @@ static const struct pci_device_id mhi_pc +@@ -650,6 +650,12 @@ static const struct pci_device_id mhi_pc /* T99W510 (sdx24), variant 3 */ { PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0f2), .driver_data = (kernel_ulong_t) &mhi_foxconn_sdx24_info }, diff --git a/target/linux/generic/backport-6.1/859-v6.6-bus-mhi-host-pci_generic-Add-support-for-Quectel-RM5.patch b/target/linux/generic/backport-6.1/859-v6.6-bus-mhi-host-pci_generic-Add-support-for-Quectel-RM5.patch index a09ae6fa478a46..5c12a9c6bceebc 100644 --- a/target/linux/generic/backport-6.1/859-v6.6-bus-mhi-host-pci_generic-Add-support-for-Quectel-RM5.patch +++ b/target/linux/generic/backport-6.1/859-v6.6-bus-mhi-host-pci_generic-Add-support-for-Quectel-RM5.patch @@ -24,7 +24,7 @@ Signed-off-by: Manivannan Sadhasivam --- a/drivers/bus/mhi/host/pci_generic.c +++ b/drivers/bus/mhi/host/pci_generic.c -@@ -607,6 +607,9 @@ static const struct pci_device_id mhi_pc +@@ -616,6 +616,9 @@ static const struct pci_device_id mhi_pc /* RM520N-GL (sdx6x), eSIM */ { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1004), .driver_data = (kernel_ulong_t) &mhi_quectel_rm5xx_info }, diff --git a/target/linux/generic/backport-6.1/862-v6.8-bus-mhi-host-pci_generic-Add-SDX75-based-modem-suppo.patch b/target/linux/generic/backport-6.1/862-v6.8-bus-mhi-host-pci_generic-Add-SDX75-based-modem-suppo.patch index 944747ac561641..4fa197f093e913 100644 --- a/target/linux/generic/backport-6.1/862-v6.8-bus-mhi-host-pci_generic-Add-SDX75-based-modem-suppo.patch +++ b/target/linux/generic/backport-6.1/862-v6.8-bus-mhi-host-pci_generic-Add-SDX75-based-modem-suppo.patch @@ -51,8 +51,8 @@ Signed-off-by: Manivannan Sadhasivam static const struct mhi_pci_dev_info mhi_qcom_sdx65_info = { .name = "qcom-sdx65m", .fw = "qcom/sdx65m/xbl.elf", -@@ -600,6 +620,8 @@ static const struct pci_device_id mhi_pc - .driver_data = (kernel_ulong_t) &mhi_telit_fn990_info }, +@@ -609,6 +629,8 @@ static const struct pci_device_id mhi_pc + .driver_data = (kernel_ulong_t) &mhi_telit_fe990a_info }, { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308), .driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info }, + { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0309), diff --git a/target/linux/generic/hack-6.1/780-usb-net-MeigLink_modem_support.patch b/target/linux/generic/hack-6.1/780-usb-net-MeigLink_modem_support.patch index 6e318a6e9a9da0..24387d0b3c590e 100644 --- a/target/linux/generic/hack-6.1/780-usb-net-MeigLink_modem_support.patch +++ b/target/linux/generic/hack-6.1/780-usb-net-MeigLink_modem_support.patch @@ -43,7 +43,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support #define QUECTEL_VENDOR_ID 0x2c7c /* These Quectel products use Quectel's vendor ID */ -@@ -1158,6 +1163,11 @@ static const struct usb_device_id option +@@ -1160,6 +1165,11 @@ static const struct usb_device_id option { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */ .driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) }, @@ -55,7 +55,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support /* Quectel products using Qualcomm vendor ID */ { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)}, { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20), -@@ -1199,6 +1209,11 @@ static const struct usb_device_id option +@@ -1201,6 +1211,11 @@ static const struct usb_device_id option .driver_info = ZLP }, { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), .driver_info = RSVD(4) }, diff --git a/target/linux/generic/hack-6.1/902-debloat_proc.patch b/target/linux/generic/hack-6.1/902-debloat_proc.patch index 2bc86fa1e27f8d..a5df5630284c89 100644 --- a/target/linux/generic/hack-6.1/902-debloat_proc.patch +++ b/target/linux/generic/hack-6.1/902-debloat_proc.patch @@ -385,7 +385,7 @@ Signed-off-by: Felix Fietkau --- a/net/ipv4/proc.c +++ b/net/ipv4/proc.c -@@ -553,5 +553,8 @@ static __net_initdata struct pernet_oper +@@ -555,5 +555,8 @@ static __net_initdata struct pernet_oper int __init ip_misc_proc_init(void) { diff --git a/target/linux/generic/hack-6.1/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch b/target/linux/generic/hack-6.1/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch index 3476aa6edb09a9..f2ae028aa1f0b0 100644 --- a/target/linux/generic/hack-6.1/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch +++ b/target/linux/generic/hack-6.1/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch @@ -19,7 +19,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/base/core.c +++ b/drivers/base/core.c -@@ -1718,7 +1718,7 @@ static void device_links_purge(struct de +@@ -1717,7 +1717,7 @@ static void device_links_purge(struct de #define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \ DL_FLAG_PM_RUNTIME) diff --git a/target/linux/generic/hack-6.1/952-add-net-conntrack-events-support-multiple-registrant.patch b/target/linux/generic/hack-6.1/952-add-net-conntrack-events-support-multiple-registrant.patch index 45797cb8e1113a..40325bcd162c89 100644 --- a/target/linux/generic/hack-6.1/952-add-net-conntrack-events-support-multiple-registrant.patch +++ b/target/linux/generic/hack-6.1/952-add-net-conntrack-events-support-multiple-registrant.patch @@ -299,7 +299,7 @@ Signed-off-by: Zhi Chen void nf_conntrack_ecache_work(struct net *net, enum nf_ct_ecache_state state) --- a/net/netfilter/nf_conntrack_netlink.c +++ b/net/netfilter/nf_conntrack_netlink.c -@@ -723,12 +723,19 @@ static size_t ctnetlink_nlmsg_size(const +@@ -720,12 +720,19 @@ static size_t ctnetlink_nlmsg_size(const } static int @@ -319,7 +319,7 @@ Signed-off-by: Zhi Chen struct nf_conn *ct = item->ct; struct sk_buff *skb; unsigned int type; -@@ -3755,11 +3762,17 @@ static int ctnetlink_stat_exp_cpu(struct +@@ -3752,11 +3759,17 @@ static int ctnetlink_stat_exp_cpu(struct } #ifdef CONFIG_NF_CONNTRACK_EVENTS @@ -337,7 +337,7 @@ Signed-off-by: Zhi Chen static const struct nfnl_callback ctnl_cb[IPCTNL_MSG_MAX] = { [IPCTNL_MSG_CT_NEW] = { -@@ -3858,8 +3871,12 @@ static int __net_init ctnetlink_net_init +@@ -3855,8 +3868,12 @@ static int __net_init ctnetlink_net_init static void ctnetlink_net_pre_exit(struct net *net) { #ifdef CONFIG_NF_CONNTRACK_EVENTS diff --git a/target/linux/generic/hack-6.1/953-net-patch-linux-kernel-to-support-shortcut-fe.patch b/target/linux/generic/hack-6.1/953-net-patch-linux-kernel-to-support-shortcut-fe.patch index 093820d31b5f0b..4d3681bc1a5a62 100644 --- a/target/linux/generic/hack-6.1/953-net-patch-linux-kernel-to-support-shortcut-fe.patch +++ b/target/linux/generic/hack-6.1/953-net-patch-linux-kernel-to-support-shortcut-fe.patch @@ -111,7 +111,7 @@ #ifdef CONFIG_ETHERNET_PACKET_MANGLE if (dev->eth_mangle_tx && !(skb = dev->eth_mangle_tx(dev, skb))) -@@ -5266,6 +5274,11 @@ void netdev_rx_handler_unregister(struct +@@ -5274,6 +5282,11 @@ void netdev_rx_handler_unregister(struct } EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister); @@ -123,7 +123,7 @@ /* * Limit the use of PFMEMALLOC reserves to those protocols that implement * the special handling of PFMEMALLOC skbs. -@@ -5314,6 +5327,10 @@ static int __netif_receive_skb_core(stru +@@ -5322,6 +5335,10 @@ static int __netif_receive_skb_core(stru int ret = NET_RX_DROP; __be16 type; @@ -134,7 +134,7 @@ net_timestamp_check(!READ_ONCE(netdev_tstamp_prequeue), skb); trace_netif_receive_skb(skb); -@@ -5351,6 +5368,15 @@ another_round: +@@ -5359,6 +5376,15 @@ another_round: goto out; } diff --git a/target/linux/generic/pending-6.1/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch b/target/linux/generic/pending-6.1/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch index 8fea984a330434..d3b686d016bd87 100644 --- a/target/linux/generic/pending-6.1/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch +++ b/target/linux/generic/pending-6.1/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch @@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -7910,7 +7910,7 @@ static void __init alloc_node_mem_map(st +@@ -7942,7 +7942,7 @@ static void __init alloc_node_mem_map(st if (pgdat == NODE_DATA(0)) { mem_map = NODE_DATA(0)->node_mem_map; if (page_to_pfn(mem_map) != pgdat->node_start_pfn) diff --git a/target/linux/generic/pending-6.1/342-powerpc-Enable-kernel-XZ-compression-option-on-PPC_8.patch b/target/linux/generic/pending-6.1/342-powerpc-Enable-kernel-XZ-compression-option-on-PPC_8.patch index e9b47d185d2a4a..211fe56304da7a 100644 --- a/target/linux/generic/pending-6.1/342-powerpc-Enable-kernel-XZ-compression-option-on-PPC_8.patch +++ b/target/linux/generic/pending-6.1/342-powerpc-Enable-kernel-XZ-compression-option-on-PPC_8.patch @@ -14,7 +14,7 @@ Signed-off-by: Pawel Dembicki --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig -@@ -229,7 +229,7 @@ config PPC +@@ -235,7 +235,7 @@ config PPC select HAVE_KERNEL_GZIP select HAVE_KERNEL_LZMA if DEFAULT_UIMAGE select HAVE_KERNEL_LZO if DEFAULT_UIMAGE diff --git a/target/linux/generic/pending-6.1/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch b/target/linux/generic/pending-6.1/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch index 77192dc5c40567..b0f71cd4d83283 100644 --- a/target/linux/generic/pending-6.1/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch +++ b/target/linux/generic/pending-6.1/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch @@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c -@@ -8017,7 +8017,7 @@ static int nft_register_flowtable_net_ho +@@ -8023,7 +8023,7 @@ static int nft_register_flowtable_net_ho err = flowtable->data.type->setup(&flowtable->data, hook->ops.dev, FLOW_BLOCK_BIND); diff --git a/target/linux/generic/pending-6.1/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch b/target/linux/generic/pending-6.1/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch index 367c41bff0ea7c..793a761ed366a4 100644 --- a/target/linux/generic/pending-6.1/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch +++ b/target/linux/generic/pending-6.1/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch @@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau struct rtnl_link { rtnl_doit_func doit; -@@ -4840,7 +4840,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu +@@ -4869,7 +4869,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu brport_nla_put_flag(skb, flags, mask, IFLA_BRPORT_MCAST_FLOOD, BR_MCAST_FLOOD) || brport_nla_put_flag(skb, flags, mask, diff --git a/target/linux/generic/pending-6.1/760-net-core-add-optional-threading-for-backlog-processi.patch b/target/linux/generic/pending-6.1/760-net-core-add-optional-threading-for-backlog-processi.patch index 7d5727bda683aa..70a06e26de98aa 100644 --- a/target/linux/generic/pending-6.1/760-net-core-add-optional-threading-for-backlog-processi.patch +++ b/target/linux/generic/pending-6.1/760-net-core-add-optional-threading-for-backlog-processi.patch @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau #endif --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4625,7 +4625,7 @@ static int napi_schedule_rps(struct soft +@@ -4633,7 +4633,7 @@ static int napi_schedule_rps(struct soft struct softnet_data *mysd = this_cpu_ptr(&softnet_data); #ifdef CONFIG_RPS @@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau sd->rps_ipi_next = mysd->rps_ipi_list; mysd->rps_ipi_list = sd; -@@ -5806,6 +5806,8 @@ static DEFINE_PER_CPU(struct work_struct +@@ -5814,6 +5814,8 @@ static DEFINE_PER_CPU(struct work_struct /* Network device is going away, flush any packets still pending */ static void flush_backlog(struct work_struct *work) { @@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau struct sk_buff *skb, *tmp; struct softnet_data *sd; -@@ -5820,8 +5822,17 @@ static void flush_backlog(struct work_st +@@ -5828,8 +5830,17 @@ static void flush_backlog(struct work_st input_queue_head_incr(sd); } } @@ -66,7 +66,7 @@ Signed-off-by: Felix Fietkau skb_queue_walk_safe(&sd->process_queue, skb, tmp) { if (skb->dev->reg_state == NETREG_UNREGISTERING) { __skb_unlink(skb, &sd->process_queue); -@@ -5829,7 +5840,16 @@ static void flush_backlog(struct work_st +@@ -5837,7 +5848,16 @@ static void flush_backlog(struct work_st input_queue_head_incr(sd); } } @@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau } static bool flush_required(int cpu) -@@ -5961,6 +5981,7 @@ static int process_backlog(struct napi_s +@@ -5969,6 +5989,7 @@ static int process_backlog(struct napi_s } rps_lock_irq_disable(sd); @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau if (skb_queue_empty(&sd->input_pkt_queue)) { /* * Inline a custom version of __napi_complete(). -@@ -5970,7 +5991,8 @@ static int process_backlog(struct napi_s +@@ -5978,7 +5999,8 @@ static int process_backlog(struct napi_s * We can use a plain write instead of clear_bit(), * and we dont need an smp_mb() memory barrier. */ @@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau again = false; } else { skb_queue_splice_tail_init(&sd->input_pkt_queue, -@@ -6386,6 +6408,55 @@ int dev_set_threaded(struct net_device * +@@ -6394,6 +6416,55 @@ int dev_set_threaded(struct net_device * } EXPORT_SYMBOL(dev_set_threaded); @@ -157,7 +157,7 @@ Signed-off-by: Felix Fietkau void netif_napi_add_weight(struct net_device *dev, struct napi_struct *napi, int (*poll)(struct napi_struct *, int), int weight) { -@@ -11127,6 +11198,9 @@ static int dev_cpu_dead(unsigned int old +@@ -11135,6 +11206,9 @@ static int dev_cpu_dead(unsigned int old raise_softirq_irqoff(NET_TX_SOFTIRQ); local_irq_enable(); @@ -167,7 +167,7 @@ Signed-off-by: Felix Fietkau #ifdef CONFIG_RPS remsd = oldsd->rps_ipi_list; oldsd->rps_ipi_list = NULL; -@@ -11439,6 +11513,7 @@ static int __init net_dev_init(void) +@@ -11447,6 +11521,7 @@ static int __init net_dev_init(void) INIT_CSD(&sd->defer_csd, trigger_rx_softirq, sd); spin_lock_init(&sd->defer_lock); diff --git a/target/linux/generic/pending-6.1/772-net-dsa-b53-add-support-for-BCM63xx-RGMIIs.patch b/target/linux/generic/pending-6.1/772-net-dsa-b53-add-support-for-BCM63xx-RGMIIs.patch index 23859816fa8525..44009595cd3238 100644 --- a/target/linux/generic/pending-6.1/772-net-dsa-b53-add-support-for-BCM63xx-RGMIIs.patch +++ b/target/linux/generic/pending-6.1/772-net-dsa-b53-add-support-for-BCM63xx-RGMIIs.patch @@ -95,7 +95,7 @@ Reviewed-by: Andrew Lunn --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c -@@ -1209,6 +1209,46 @@ static void b53_force_port_config(struct +@@ -1213,6 +1213,46 @@ static void b53_force_port_config(struct b53_write8(dev, B53_CTRL_PAGE, off, reg); } @@ -142,7 +142,7 @@ Reviewed-by: Andrew Lunn static void b53_adjust_link(struct dsa_switch *ds, int port, struct phy_device *phydev) { -@@ -1235,6 +1275,9 @@ static void b53_adjust_link(struct dsa_s +@@ -1239,6 +1279,9 @@ static void b53_adjust_link(struct dsa_s tx_pause, rx_pause); b53_force_link(dev, port, phydev->link); @@ -152,7 +152,7 @@ Reviewed-by: Andrew Lunn if (is531x5(dev) && phy_interface_is_rgmii(phydev)) { if (port == dev->imp_port) off = B53_RGMII_CTRL_IMP; -@@ -1402,6 +1445,9 @@ void b53_phylink_mac_link_up(struct dsa_ +@@ -1406,6 +1449,9 @@ void b53_phylink_mac_link_up(struct dsa_ { struct b53_device *dev = ds->priv; diff --git a/target/linux/generic/pending-6.1/774-net-dsa-b53-mmap-allow-passing-a-chip-ID.patch b/target/linux/generic/pending-6.1/774-net-dsa-b53-mmap-allow-passing-a-chip-ID.patch index bb632b5eff4d99..03726f527b036d 100644 --- a/target/linux/generic/pending-6.1/774-net-dsa-b53-mmap-allow-passing-a-chip-ID.patch +++ b/target/linux/generic/pending-6.1/774-net-dsa-b53-mmap-allow-passing-a-chip-ID.patch @@ -100,7 +100,7 @@ Signed-off-by: Álvaro Fernández Rojas --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c -@@ -2469,6 +2469,19 @@ static const struct b53_chip_data b53_sw +@@ -2478,6 +2478,19 @@ static const struct b53_chip_data b53_sw .jumbo_size_reg = B53_JUMBO_MAX_SIZE_63XX, }, { diff --git a/target/linux/generic/pending-6.1/775-net-dsa-b53-add-BCM63268-RGMII-configuration.patch b/target/linux/generic/pending-6.1/775-net-dsa-b53-add-BCM63268-RGMII-configuration.patch index d90d757fb2c2ae..bbace362de095a 100644 --- a/target/linux/generic/pending-6.1/775-net-dsa-b53-add-BCM63268-RGMII-configuration.patch +++ b/target/linux/generic/pending-6.1/775-net-dsa-b53-add-BCM63268-RGMII-configuration.patch @@ -97,7 +97,7 @@ Reviewed-by: Simon Horman --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c -@@ -1240,8 +1240,12 @@ static void b53_adjust_63xx_rgmii(struct +@@ -1244,8 +1244,12 @@ static void b53_adjust_63xx_rgmii(struct break; } diff --git a/target/linux/generic/pending-6.1/777-net-dsa-b53-mdio-add-support-for-BCM53134.patch b/target/linux/generic/pending-6.1/777-net-dsa-b53-mdio-add-support-for-BCM53134.patch index 7bed8c22a4a8c8..7de766a192694c 100644 --- a/target/linux/generic/pending-6.1/777-net-dsa-b53-mdio-add-support-for-BCM53134.patch +++ b/target/linux/generic/pending-6.1/777-net-dsa-b53-mdio-add-support-for-BCM53134.patch @@ -100,7 +100,7 @@ Signed-off-by: Álvaro Fernández Rojas --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c -@@ -2616,6 +2616,20 @@ static const struct b53_chip_data b53_sw +@@ -2625,6 +2625,20 @@ static const struct b53_chip_data b53_sw .jumbo_pm_reg = B53_JUMBO_PORT_MASK, .jumbo_size_reg = B53_JUMBO_MAX_SIZE, }, @@ -121,7 +121,7 @@ Signed-off-by: Álvaro Fernández Rojas }; static int b53_switch_init(struct b53_device *dev) -@@ -2793,6 +2807,7 @@ int b53_switch_detect(struct b53_device +@@ -2802,6 +2816,7 @@ int b53_switch_detect(struct b53_device case BCM53012_DEVICE_ID: case BCM53018_DEVICE_ID: case BCM53019_DEVICE_ID: diff --git a/target/linux/generic/pending-6.1/840-hwrng-bcm2835-set-quality-to-1000.patch b/target/linux/generic/pending-6.1/840-hwrng-bcm2835-set-quality-to-1000.patch index 5ca8933d6fef4b..06a7552ad1e889 100644 --- a/target/linux/generic/pending-6.1/840-hwrng-bcm2835-set-quality-to-1000.patch +++ b/target/linux/generic/pending-6.1/840-hwrng-bcm2835-set-quality-to-1000.patch @@ -16,7 +16,7 @@ Signed-off-by: Álvaro Fernández Rojas --- a/drivers/char/hw_random/bcm2835-rng.c +++ b/drivers/char/hw_random/bcm2835-rng.c -@@ -170,6 +170,7 @@ static int bcm2835_rng_probe(struct plat +@@ -172,6 +172,7 @@ static int bcm2835_rng_probe(struct plat priv->rng.init = bcm2835_rng_init; priv->rng.read = bcm2835_rng_read; priv->rng.cleanup = bcm2835_rng_cleanup; diff --git a/target/linux/generic/pending-6.1/901-usb-add-more-modem-support.patch b/target/linux/generic/pending-6.1/901-usb-add-more-modem-support.patch index da842d353f2c31..81f0291b6d512d 100644 --- a/target/linux/generic/pending-6.1/901-usb-add-more-modem-support.patch +++ b/target/linux/generic/pending-6.1/901-usb-add-more-modem-support.patch @@ -1,6 +1,6 @@ --- a/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c -@@ -1437,6 +1437,9 @@ static const struct usb_device_id produc +@@ -1438,6 +1438,9 @@ static const struct usb_device_id produc {QMI_QUIRK_SET_DTR(0x1546, 0x1342, 4)}, /* u-blox LARA-L6 */ {QMI_QUIRK_SET_DTR(0x33f8, 0x0104, 4)}, /* Rolling RW101 RMNET */ {QMI_FIXED_INTF(0x2dee, 0x4d22, 5)}, /* MeiG Smart SRM825L */ @@ -12,7 +12,7 @@ {QMI_GOBI1K_DEVICE(0x05c6, 0x9212)}, /* Acer Gobi Modem Device */ --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c -@@ -2324,9 +2324,13 @@ static const struct usb_device_id option +@@ -2338,9 +2338,13 @@ static const struct usb_device_id option { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0a06, 0xff) }, /* Fibocom FM650-CN (RNDIS mode) */ { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0a07, 0xff) }, /* Fibocom FM650-CN (MBIM mode) */ { USB_DEVICE_INTERFACE_CLASS(0x2df3, 0x9d03, 0xff) }, /* LongSung M5710 */ diff --git a/target/linux/ipq95xx/patches-6.1/0003-clk-qcom-clk-alpha-pll-Add-support-for-Stromer-PLLs.patch b/target/linux/ipq95xx/patches-6.1/0003-clk-qcom-clk-alpha-pll-Add-support-for-Stromer-PLLs.patch index efbfad7d1d8309..cd7b7f45598bab 100644 --- a/target/linux/ipq95xx/patches-6.1/0003-clk-qcom-clk-alpha-pll-Add-support-for-Stromer-PLLs.patch +++ b/target/linux/ipq95xx/patches-6.1/0003-clk-qcom-clk-alpha-pll-Add-support-for-Stromer-PLLs.patch @@ -57,7 +57,7 @@ Link: https://lore.kernel.org/r/20230307062232.4889-2-quic_kathirav@quicinc.com #define PLL_HUAYRA_M_WIDTH 8 #define PLL_HUAYRA_M_SHIFT 8 #define PLL_HUAYRA_M_MASK 0xff -@@ -2308,3 +2322,115 @@ const struct clk_ops clk_alpha_pll_rivia +@@ -2360,3 +2374,115 @@ const struct clk_ops clk_alpha_pll_rivia .round_rate = clk_rivian_evo_pll_round_rate, }; EXPORT_SYMBOL_GPL(clk_alpha_pll_rivian_evo_ops); @@ -212,7 +212,7 @@ Link: https://lore.kernel.org/r/20230307062232.4889-2-quic_kathirav@quicinc.com extern const struct clk_ops clk_alpha_pll_fabia_ops; extern const struct clk_ops clk_alpha_pll_fixed_fabia_ops; -@@ -182,5 +191,7 @@ void clk_lucid_evo_pll_configure(struct +@@ -184,5 +193,7 @@ void clk_lucid_evo_pll_configure(struct const struct alpha_pll_config *config); void clk_rivian_evo_pll_configure(struct clk_alpha_pll *pll, struct regmap *regmap, const struct alpha_pll_config *config); diff --git a/target/linux/ipq95xx/patches-6.1/0036-clk-qcom-clk-alpha-pll-introduce-stromer-plus-ops.patch b/target/linux/ipq95xx/patches-6.1/0036-clk-qcom-clk-alpha-pll-introduce-stromer-plus-ops.patch index 34213c41378d19..b83f6b9c5a0c9d 100644 --- a/target/linux/ipq95xx/patches-6.1/0036-clk-qcom-clk-alpha-pll-introduce-stromer-plus-ops.patch +++ b/target/linux/ipq95xx/patches-6.1/0036-clk-qcom-clk-alpha-pll-introduce-stromer-plus-ops.patch @@ -20,7 +20,7 @@ Signed-off-by: Bjorn Andersson --- a/drivers/clk/qcom/clk-alpha-pll.c +++ b/drivers/clk/qcom/clk-alpha-pll.c -@@ -2434,3 +2434,66 @@ const struct clk_ops clk_alpha_pll_strom +@@ -2486,3 +2486,66 @@ const struct clk_ops clk_alpha_pll_strom .set_rate = clk_alpha_pll_stromer_set_rate, }; EXPORT_SYMBOL_GPL(clk_alpha_pll_stromer_ops); diff --git a/target/linux/mediatek/patches-6.1/041-block-fit-partition-parser.patch b/target/linux/mediatek/patches-6.1/041-block-fit-partition-parser.patch index 3cef80d8368963..f058550dd70163 100644 --- a/target/linux/mediatek/patches-6.1/041-block-fit-partition-parser.patch +++ b/target/linux/mediatek/patches-6.1/041-block-fit-partition-parser.patch @@ -19,7 +19,7 @@ Subject: [PATCH] kernel: add block fit partition parser --- a/block/blk.h +++ b/block/blk.h -@@ -415,6 +415,8 @@ void blk_free_ext_minor(unsigned int min +@@ -407,6 +407,8 @@ void blk_free_ext_minor(unsigned int min #define ADDPART_FLAG_NONE 0 #define ADDPART_FLAG_RAID 1 #define ADDPART_FLAG_WHOLEDISK 2 @@ -104,7 +104,7 @@ Subject: [PATCH] kernel: add block fit partition parser /* everything is up and running, commence */ err = xa_insert(&disk->part_tbl, partno, bdev, GFP_KERNEL); if (err) -@@ -631,6 +642,11 @@ static bool blk_add_partition(struct gen +@@ -633,6 +644,11 @@ static bool blk_add_partition(struct gen (state->parts[p].flags & ADDPART_FLAG_RAID)) md_autodetect_dev(part->bd_dev); diff --git a/target/linux/mediatek/patches-6.1/901-arm-add-cmdline-override.patch b/target/linux/mediatek/patches-6.1/901-arm-add-cmdline-override.patch index 9f54ece781a4fa..be81ceedadf3a7 100644 --- a/target/linux/mediatek/patches-6.1/901-arm-add-cmdline-override.patch +++ b/target/linux/mediatek/patches-6.1/901-arm-add-cmdline-override.patch @@ -37,7 +37,7 @@ * CONFIG_CMDLINE is meant to be a default in case nothing else --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -2277,6 +2277,14 @@ config CMDLINE_FORCE +@@ -2280,6 +2280,14 @@ config CMDLINE_FORCE endchoice diff --git a/target/linux/qualcommax/patches-6.1/0600-3-qca-nss-ecm-support-net-bonding.patch b/target/linux/qualcommax/patches-6.1/0600-3-qca-nss-ecm-support-net-bonding.patch index 9841215f4aeb07..29690e2433cc0a 100644 --- a/target/linux/qualcommax/patches-6.1/0600-3-qca-nss-ecm-support-net-bonding.patch +++ b/target/linux/qualcommax/patches-6.1/0600-3-qca-nss-ecm-support-net-bonding.patch @@ -9,7 +9,7 @@ static struct flow_dissector flow_keys_bonding __read_mostly; /*-------------------------- Forward declarations ---------------------------*/ -@@ -4411,6 +4413,24 @@ static int bond_get_lowest_level_rcu(str +@@ -4425,6 +4427,24 @@ static int bond_get_lowest_level_rcu(str } #endif @@ -34,7 +34,7 @@ static void bond_get_stats(struct net_device *bond_dev, struct rtnl_link_stats64 *stats) { -@@ -5823,6 +5843,11 @@ static void bond_destructor(struct net_d +@@ -5837,6 +5857,11 @@ static void bond_destructor(struct net_d if (bond->rr_tx_counter) free_percpu(bond->rr_tx_counter); @@ -46,7 +46,7 @@ } void bond_setup(struct net_device *bond_dev) -@@ -6386,6 +6411,14 @@ int bond_create(struct net *net, const c +@@ -6400,6 +6425,14 @@ int bond_create(struct net *net, const c bond_work_init_all(bond); diff --git a/target/linux/qualcommax/patches-6.1/0600-4-qca-nss-ecm-support-net-bonding-over-LAG.patch b/target/linux/qualcommax/patches-6.1/0600-4-qca-nss-ecm-support-net-bonding-over-LAG.patch index ad18d358c2c567..81cecf843e33b4 100644 --- a/target/linux/qualcommax/patches-6.1/0600-4-qca-nss-ecm-support-net-bonding-over-LAG.patch +++ b/target/linux/qualcommax/patches-6.1/0600-4-qca-nss-ecm-support-net-bonding-over-LAG.patch @@ -213,7 +213,7 @@ { --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c -@@ -1214,6 +1214,23 @@ void bond_change_active_slave(struct bon +@@ -1218,6 +1218,23 @@ void bond_change_active_slave(struct bon if (BOND_MODE(bond) == BOND_MODE_8023AD) bond_3ad_handle_link_change(new_active, BOND_LINK_UP); @@ -237,7 +237,7 @@ if (bond_is_lb(bond)) bond_alb_handle_link_change(bond, new_active, BOND_LINK_UP); } else { -@@ -1837,6 +1854,7 @@ int bond_enslave(struct net_device *bond +@@ -1841,6 +1858,7 @@ int bond_enslave(struct net_device *bond const struct net_device_ops *slave_ops = slave_dev->netdev_ops; struct slave *new_slave = NULL, *prev_slave; struct sockaddr_storage ss; @@ -245,7 +245,7 @@ int link_reporting; int res = 0, i; -@@ -2280,6 +2298,15 @@ int bond_enslave(struct net_device *bond +@@ -2288,6 +2306,15 @@ int bond_enslave(struct net_device *bond bond_is_active_slave(new_slave) ? "an active" : "a backup", new_slave->link != BOND_LINK_DOWN ? "an up" : "a down"); @@ -261,7 +261,7 @@ /* enslave is successful */ bond_queue_slave_event(new_slave); return 0; -@@ -2345,6 +2372,15 @@ err_undo_flags: +@@ -2353,6 +2380,15 @@ err_undo_flags: } } @@ -277,7 +277,7 @@ return res; } -@@ -2367,6 +2403,7 @@ static int __bond_release_one(struct net +@@ -2375,6 +2411,7 @@ static int __bond_release_one(struct net struct slave *slave, *oldcurrent; struct sockaddr_storage ss; int old_flags = bond_dev->flags; @@ -285,7 +285,7 @@ netdev_features_t old_features = bond_dev->features; /* slave is not a slave or master is not master of this slave */ -@@ -2388,6 +2425,15 @@ static int __bond_release_one(struct net +@@ -2396,6 +2433,15 @@ static int __bond_release_one(struct net bond_set_slave_inactive_flags(slave, BOND_SLAVE_NOTIFY_NOW); @@ -301,7 +301,7 @@ bond_sysfs_slave_del(slave); /* recompute stats just before removing the slave */ -@@ -2707,6 +2753,8 @@ static void bond_miimon_commit(struct bo +@@ -2721,6 +2767,8 @@ static void bond_miimon_commit(struct bo struct slave *slave, *primary, *active; bool do_failover = false; struct list_head *iter; @@ -310,7 +310,7 @@ ASSERT_RTNL(); -@@ -2746,6 +2794,12 @@ static void bond_miimon_commit(struct bo +@@ -2760,6 +2808,12 @@ static void bond_miimon_commit(struct bo bond_set_active_slave(slave); } @@ -323,7 +323,7 @@ slave_info(bond->dev, slave->dev, "link status definitely up, %u Mbps %s duplex\n", slave->speed == SPEED_UNKNOWN ? 0 : slave->speed, slave->duplex ? "full" : "half"); -@@ -2794,6 +2848,16 @@ static void bond_miimon_commit(struct bo +@@ -2808,6 +2862,16 @@ static void bond_miimon_commit(struct bo unblock_netpoll_tx(); } @@ -340,7 +340,7 @@ bond_set_carrier(bond); } -@@ -4041,9 +4105,220 @@ static inline u32 bond_eth_hash(struct s +@@ -4055,9 +4119,220 @@ static inline u32 bond_eth_hash(struct s return 0; ep = (struct ethhdr *)(data + mhoff); @@ -562,7 +562,7 @@ static bool bond_flow_ip(struct sk_buff *skb, struct flow_keys *fk, const void *data, int hlen, __be16 l2_proto, int *nhoff, int *ip_proto, bool l34) { -@@ -5239,15 +5514,23 @@ static netdev_tx_t bond_3ad_xor_xmit(str +@@ -5253,15 +5528,23 @@ static netdev_tx_t bond_3ad_xor_xmit(str struct net_device *dev) { struct bonding *bond = netdev_priv(dev); @@ -593,7 +593,7 @@ } /* in broadcast mode, we send everything to all usable interfaces. */ -@@ -5497,8 +5780,9 @@ static netdev_tx_t __bond_start_xmit(str +@@ -5511,8 +5794,9 @@ static netdev_tx_t __bond_start_xmit(str return bond_xmit_roundrobin(skb, dev); case BOND_MODE_ACTIVEBACKUP: return bond_xmit_activebackup(skb, dev); diff --git a/target/linux/qualcommax/patches-6.1/0600-8-qca-nss-ecm-support-MLO-bonding.patch b/target/linux/qualcommax/patches-6.1/0600-8-qca-nss-ecm-support-MLO-bonding.patch index 8c57c034889f01..33a837103989c5 100644 --- a/target/linux/qualcommax/patches-6.1/0600-8-qca-nss-ecm-support-MLO-bonding.patch +++ b/target/linux/qualcommax/patches-6.1/0600-8-qca-nss-ecm-support-MLO-bonding.patch @@ -17,7 +17,7 @@ Signed-off-by: Shivani Soni --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c -@@ -1467,6 +1467,10 @@ static netdev_features_t bond_fix_featur +@@ -1471,6 +1471,10 @@ static netdev_features_t bond_fix_featur return features; } @@ -28,7 +28,7 @@ Signed-off-by: Shivani Soni #define BOND_VLAN_FEATURES (NETIF_F_HW_CSUM | NETIF_F_SG | \ NETIF_F_FRAGLIST | NETIF_F_GSO_SOFTWARE | \ NETIF_F_HIGHDMA | NETIF_F_LRO) -@@ -1497,13 +1501,25 @@ static void bond_compute_features(struct +@@ -1501,13 +1505,25 @@ static void bond_compute_features(struct if (!bond_has_slaves(bond)) goto done; @@ -57,7 +57,7 @@ Signed-off-by: Shivani Soni enc_features = netdev_increment_features(enc_features, slave->dev->hw_enc_features, BOND_ENC_FEATURES); -@@ -1648,6 +1664,16 @@ static rx_handler_result_t bond_handle_f +@@ -1652,6 +1668,16 @@ static rx_handler_result_t bond_handle_f bond->dev->addr_len); } @@ -74,7 +74,7 @@ Signed-off-by: Shivani Soni return ret; } -@@ -1865,6 +1891,8 @@ int bond_enslave(struct net_device *bond +@@ -1869,6 +1895,8 @@ int bond_enslave(struct net_device *bond return -EPERM; } @@ -83,7 +83,7 @@ Signed-off-by: Shivani Soni if (!bond->params.use_carrier && slave_dev->ethtool_ops->get_link == NULL && slave_ops->ndo_eth_ioctl == NULL) { -@@ -1978,13 +2006,17 @@ int bond_enslave(struct net_device *bond +@@ -1982,13 +2010,17 @@ int bond_enslave(struct net_device *bond call_netdevice_notifiers(NETDEV_JOIN, slave_dev); /* If this is the first slave, then we need to set the master's hardware @@ -107,7 +107,7 @@ Signed-off-by: Shivani Soni } new_slave = bond_alloc_slave(bond, slave_dev); -@@ -2013,18 +2045,21 @@ int bond_enslave(struct net_device *bond +@@ -2017,18 +2049,21 @@ int bond_enslave(struct net_device *bond bond_hw_addr_copy(new_slave->perm_hwaddr, slave_dev->dev_addr, slave_dev->addr_len); @@ -141,7 +141,7 @@ Signed-off-by: Shivani Soni } } -@@ -2383,6 +2418,7 @@ err_undo_flags: +@@ -2391,6 +2426,7 @@ err_undo_flags: return res; } @@ -149,7 +149,7 @@ Signed-off-by: Shivani Soni /* Try to release the slave device from the bond device * It is legal to access curr_active_slave without a lock because all the function -@@ -2504,13 +2540,23 @@ static int __bond_release_one(struct net +@@ -2518,13 +2554,23 @@ static int __bond_release_one(struct net } bond_set_carrier(bond); @@ -175,7 +175,7 @@ Signed-off-by: Shivani Soni if (!bond_has_slaves(bond)) { call_netdevice_notifiers(NETDEV_CHANGEADDR, bond->dev); call_netdevice_notifiers(NETDEV_RELEASE, bond->dev); -@@ -2577,6 +2623,7 @@ int bond_release(struct net_device *bond +@@ -2591,6 +2637,7 @@ int bond_release(struct net_device *bond { return __bond_release_one(bond_dev, slave_dev, false, false); } @@ -183,7 +183,7 @@ Signed-off-by: Shivani Soni /* First release a slave and then destroy the bond if no more slaves are left. * Must be under rtnl_lock when this function is called. -@@ -2598,6 +2645,29 @@ static int bond_release_and_destroy(stru +@@ -2612,6 +2659,29 @@ static int bond_release_and_destroy(stru return ret; } @@ -213,7 +213,7 @@ Signed-off-by: Shivani Soni static void bond_info_query(struct net_device *bond_dev, struct ifbond *info) { struct bonding *bond = netdev_priv(bond_dev); -@@ -4249,6 +4319,24 @@ static struct net_device *bond_xor_get_t +@@ -4263,6 +4333,24 @@ static struct net_device *bond_xor_get_t return NULL; } @@ -238,7 +238,7 @@ Signed-off-by: Shivani Soni /* bond_get_tx_dev - Calculate egress interface for a given packet. * * Supports 802.3AD and balance-xor modes -@@ -4289,6 +4377,9 @@ struct net_device *bond_get_tx_dev(struc +@@ -4303,6 +4391,9 @@ struct net_device *bond_get_tx_dev(struc return bond_3ad_get_tx_dev(skb, src_mac, dst_mac, src, dst, protocol, bond_dev, layer4hdr); @@ -248,7 +248,7 @@ Signed-off-by: Shivani Soni default: return NULL; } -@@ -5085,20 +5176,26 @@ static int bond_set_mac_address(struct n +@@ -5099,20 +5190,26 @@ static int bond_set_mac_address(struct n if (!is_valid_ether_addr(ss->__data)) return -EADDRNOTAVAIL; @@ -289,7 +289,7 @@ Signed-off-by: Shivani Soni } } -@@ -5762,6 +5859,27 @@ static netdev_tx_t bond_tls_device_xmit( +@@ -5776,6 +5873,27 @@ static netdev_tx_t bond_tls_device_xmit( } #endif @@ -317,7 +317,7 @@ Signed-off-by: Shivani Soni static netdev_tx_t __bond_start_xmit(struct sk_buff *skb, struct net_device *dev) { struct bonding *bond = netdev_priv(dev); -@@ -5790,6 +5908,8 @@ static netdev_tx_t __bond_start_xmit(str +@@ -5804,6 +5922,8 @@ static netdev_tx_t __bond_start_xmit(str return bond_alb_xmit(skb, dev); case BOND_MODE_TLB: return bond_tlb_xmit(skb, dev); @@ -326,7 +326,7 @@ Signed-off-by: Shivani Soni default: /* Should never happen, mode already checked */ netdev_err(dev, "Unknown bonding mode %d\n", BOND_MODE(bond)); -@@ -6132,6 +6252,15 @@ static void bond_destructor(struct net_d +@@ -6146,6 +6266,15 @@ static void bond_destructor(struct net_d if (bond->id != (~0U)) clear_bit(bond->id, &bond_id_mask); /* QCA NSS ECM bonding support */ @@ -342,7 +342,7 @@ Signed-off-by: Shivani Soni } void bond_setup(struct net_device *bond_dev) -@@ -6708,6 +6837,76 @@ out: +@@ -6722,6 +6851,76 @@ out: return res; } @@ -421,7 +421,7 @@ Signed-off-by: Shivani Soni struct bond_net *bn = net_generic(net, bond_net_id); --- a/drivers/net/bonding/bond_options.c +++ b/drivers/net/bonding/bond_options.c -@@ -94,6 +94,7 @@ static const struct bond_opt_value bond_ +@@ -95,6 +95,7 @@ static const struct bond_opt_value bond_ { "802.3ad", BOND_MODE_8023AD, 0}, { "balance-tlb", BOND_MODE_TLB, 0}, { "balance-alb", BOND_MODE_ALB, 0}, diff --git a/target/linux/qualcommax/patches-6.1/0603-1-qca-nss-clients-add-qdisc-support.patch b/target/linux/qualcommax/patches-6.1/0603-1-qca-nss-clients-add-qdisc-support.patch index 93b48f233c90d0..4a8805f3806c5b 100644 --- a/target/linux/qualcommax/patches-6.1/0603-1-qca-nss-clients-add-qdisc-support.patch +++ b/target/linux/qualcommax/patches-6.1/0603-1-qca-nss-clients-add-qdisc-support.patch @@ -55,7 +55,7 @@ dev->needs_free_netdev = true; --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -4612,6 +4612,15 @@ void dev_uc_flush(struct net_device *dev +@@ -4625,6 +4625,15 @@ void dev_uc_flush(struct net_device *dev void dev_uc_init(struct net_device *dev); /** @@ -71,7 +71,7 @@ * __dev_uc_sync - Synchonize device's unicast list * @dev: device to sync * @sync: function to call if address should be added -@@ -5157,6 +5166,11 @@ static inline bool netif_is_failover_sla +@@ -5170,6 +5179,11 @@ static inline bool netif_is_failover_sla return dev->priv_flags & IFF_FAILOVER_SLAVE; } @@ -344,7 +344,7 @@ struct Qdisc *qdisc_lookup_rcu(struct net_device *dev, u32 handle) { -@@ -2387,4 +2388,26 @@ static int __init pktsched_init(void) +@@ -2392,4 +2393,26 @@ static int __init pktsched_init(void) return 0; } @@ -373,7 +373,7 @@ subsys_initcall(pktsched_init); --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c -@@ -1074,6 +1074,7 @@ static void __qdisc_destroy(struct Qdisc +@@ -1083,6 +1083,7 @@ static void __qdisc_destroy(struct Qdisc call_rcu(&qdisc->rcu, qdisc_free_cb); } @@ -432,7 +432,7 @@ /* Reset all TX qdiscs greater than index of a device. */ static inline void qdisc_reset_all_tx_gt(struct net_device *dev, unsigned int i) { -@@ -1306,4 +1341,9 @@ static inline void qdisc_synchronize(con +@@ -1305,4 +1340,9 @@ static inline void qdisc_synchronize(con msleep(1); } diff --git a/target/linux/rockchip/patches-6.1/101-net-realtek-r8169-add-LED-configuration-from-OF.patch b/target/linux/rockchip/patches-6.1/101-net-realtek-r8169-add-LED-configuration-from-OF.patch index 33e078b394767f..09c797462a24f1 100644 --- a/target/linux/rockchip/patches-6.1/101-net-realtek-r8169-add-LED-configuration-from-OF.patch +++ b/target/linux/rockchip/patches-6.1/101-net-realtek-r8169-add-LED-configuration-from-OF.patch @@ -25,7 +25,7 @@ Subject: [PATCH] r8169: add LED configuration from OF TxDescStartAddrLow = 0x20, TxDescStartAddrHigh = 0x24, TxHDescStartAddrLow = 0x28, -@@ -5260,6 +5262,22 @@ static bool rtl_aspm_is_safe(struct rtl8 +@@ -5289,6 +5291,22 @@ static bool rtl_aspm_is_safe(struct rtl8 return false; } @@ -48,7 +48,7 @@ Subject: [PATCH] r8169: add LED configuration from OF static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) { struct rtl8169_private *tp; -@@ -5431,6 +5449,7 @@ static int rtl_init_one(struct pci_dev * +@@ -5460,6 +5478,7 @@ static int rtl_init_one(struct pci_dev * if (!tp->counters) return -ENOMEM; diff --git a/target/linux/rockchip/patches-6.1/102-net-phy-realtek-RTL8211-add-LED-configuration-from-OF.patch b/target/linux/rockchip/patches-6.1/102-net-phy-realtek-RTL8211-add-LED-configuration-from-OF.patch index 05ca44fcd5a719..de803ed50dd86c 100644 --- a/target/linux/rockchip/patches-6.1/102-net-phy-realtek-RTL8211-add-LED-configuration-from-OF.patch +++ b/target/linux/rockchip/patches-6.1/102-net-phy-realtek-RTL8211-add-LED-configuration-from-OF.patch @@ -18,7 +18,7 @@ Subject: [PATCH] net: phy: realtek: add LED configuration from OF for 8211f #define RTL8211F_PHYCR1 0x18 #define RTL8211F_PHYCR2 0x19 #define RTL8211F_INSR 0x1d -@@ -354,6 +356,7 @@ static int rtl8211f_config_init(struct p +@@ -356,6 +358,7 @@ static int rtl8211f_config_init(struct p struct rtl821x_priv *priv = phydev->priv; struct device *dev = &phydev->mdio.dev; u16 val_txdly, val_rxdly; @@ -26,7 +26,7 @@ Subject: [PATCH] net: phy: realtek: add LED configuration from OF for 8211f int ret; ret = phy_modify_paged_changed(phydev, 0xa43, RTL8211F_PHYCR1, -@@ -420,6 +423,15 @@ static int rtl8211f_config_init(struct p +@@ -422,6 +425,15 @@ static int rtl8211f_config_init(struct p val_rxdly ? "enabled" : "disabled"); } diff --git a/target/linux/rockchip/patches-6.1/110-arm64-rk3568-update-gicv3-its-and-pci-msi-map.patch b/target/linux/rockchip/patches-6.1/110-arm64-rk3568-update-gicv3-its-and-pci-msi-map.patch index 4e4bd1ab28f233..dc849eef5dee3a 100644 --- a/target/linux/rockchip/patches-6.1/110-arm64-rk3568-update-gicv3-its-and-pci-msi-map.patch +++ b/target/linux/rockchip/patches-6.1/110-arm64-rk3568-update-gicv3-its-and-pci-msi-map.patch @@ -1,6 +1,6 @@ --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -1207,6 +1207,14 @@ config SOCIONEXT_SYNQUACER_PREITS +@@ -1209,6 +1209,14 @@ config SOCIONEXT_SYNQUACER_PREITS If unsure, say Y. diff --git a/target/linux/rockchip/patches-6.1/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch b/target/linux/rockchip/patches-6.1/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch index 9932cc00f4ceb0..71850e6182dc5a 100644 --- a/target/linux/rockchip/patches-6.1/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch +++ b/target/linux/rockchip/patches-6.1/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch @@ -17,7 +17,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its #define RD_LOCAL_LPI_ENABLED BIT(0) #define RD_LOCAL_PENDTABLE_PREALLOCATED BIT(1) -@@ -2183,6 +2184,11 @@ static struct page *its_allocate_prop_ta +@@ -2189,6 +2190,11 @@ static struct page *its_allocate_prop_ta { struct page *prop_page; @@ -29,7 +29,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its prop_page = alloc_pages(gfp_flags, get_order(LPI_PROPBASE_SZ)); if (!prop_page) return NULL; -@@ -2306,6 +2312,7 @@ static int its_setup_baser(struct its_no +@@ -2312,6 +2318,7 @@ static int its_setup_baser(struct its_no u32 alloc_pages, psz; struct page *page; void *base; @@ -37,7 +37,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its psz = baser->psz; alloc_pages = (PAGE_ORDER_TO_SIZE(order) / psz); -@@ -2317,7 +2324,10 @@ static int its_setup_baser(struct its_no +@@ -2323,7 +2330,10 @@ static int its_setup_baser(struct its_no order = get_order(GITS_BASER_PAGES_MAX * psz); } @@ -49,7 +49,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its if (!page) return -ENOMEM; -@@ -2364,6 +2374,13 @@ retry_baser: +@@ -2370,6 +2380,13 @@ retry_baser: its_write_baser(its, baser, val); tmp = baser->val; @@ -63,7 +63,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its if ((val ^ tmp) & GITS_BASER_SHAREABILITY_MASK) { /* * Shareability didn't stick. Just use -@@ -2946,6 +2963,10 @@ static struct page *its_allocate_pending +@@ -2952,6 +2969,10 @@ static struct page *its_allocate_pending { struct page *pend_page; @@ -74,7 +74,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its pend_page = alloc_pages(gfp_flags | __GFP_ZERO, get_order(LPI_PENDBASE_SZ)); if (!pend_page) -@@ -3101,6 +3122,9 @@ static void its_cpu_init_lpis(void) +@@ -3107,6 +3128,9 @@ static void its_cpu_init_lpis(void) gicr_write_propbaser(val, rbase + GICR_PROPBASER); tmp = gicr_read_propbaser(rbase + GICR_PROPBASER); @@ -84,7 +84,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its if ((tmp ^ val) & GICR_PROPBASER_SHAREABILITY_MASK) { if (!(tmp & GICR_PROPBASER_SHAREABILITY_MASK)) { /* -@@ -3125,6 +3149,9 @@ static void its_cpu_init_lpis(void) +@@ -3131,6 +3155,9 @@ static void its_cpu_init_lpis(void) gicr_write_pendbaser(val, rbase + GICR_PENDBASER); tmp = gicr_read_pendbaser(rbase + GICR_PENDBASER); @@ -94,7 +94,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its if (!(tmp & GICR_PENDBASER_SHAREABILITY_MASK)) { /* * The HW reports non-shareable, we must remove the -@@ -3288,7 +3315,12 @@ static bool its_alloc_table_entry(struct +@@ -3294,7 +3321,12 @@ static bool its_alloc_table_entry(struct /* Allocate memory for 2nd level table */ if (!table[idx]) { @@ -108,7 +108,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its get_order(baser->psz)); if (!page) return false; -@@ -3377,6 +3409,7 @@ static struct its_device *its_create_dev +@@ -3383,6 +3415,7 @@ static struct its_device *its_create_dev int nr_lpis; int nr_ites; int sz; @@ -116,7 +116,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its if (!its_alloc_device_table(its, dev_id)) return NULL; -@@ -3384,7 +3417,11 @@ static struct its_device *its_create_dev +@@ -3390,7 +3423,11 @@ static struct its_device *its_create_dev if (WARN_ON(!is_power_of_2(nvecs))) nvecs = roundup_pow_of_two(nvecs); @@ -129,7 +129,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its /* * Even if the device wants a single LPI, the ITT must be * sized as a power of two (and you need at least one bit...). -@@ -3392,7 +3429,7 @@ static struct its_device *its_create_dev +@@ -3398,7 +3435,7 @@ static struct its_device *its_create_dev nr_ites = max(2, nvecs); sz = nr_ites * (FIELD_GET(GITS_TYPER_ITT_ENTRY_SIZE, its->typer) + 1); sz = max(sz, ITS_ITT_ALIGN) + ITS_ITT_ALIGN - 1; @@ -138,7 +138,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its if (alloc_lpis) { lpi_map = its_lpi_alloc(nvecs, &lpi_base, &nr_lpis); if (lpi_map) -@@ -4704,6 +4741,13 @@ static bool __maybe_unused its_enable_qu +@@ -4716,6 +4753,13 @@ static bool __maybe_unused its_enable_qu return true; } @@ -152,7 +152,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its static const struct gic_quirk its_quirks[] = { #ifdef CONFIG_CAVIUM_ERRATUM_22375 { -@@ -4750,6 +4794,14 @@ static const struct gic_quirk its_quirks +@@ -4762,6 +4806,14 @@ static const struct gic_quirk its_quirks .init = its_enable_quirk_hip07_161600802, }, #endif @@ -167,7 +167,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its { } }; -@@ -5005,6 +5057,7 @@ static int __init its_probe_one(struct r +@@ -5017,6 +5069,7 @@ static int __init its_probe_one(struct r struct page *page; u32 ctlr; int err; @@ -175,7 +175,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its its_base = its_map_one(res, &err); if (!its_base) -@@ -5058,7 +5111,9 @@ static int __init its_probe_one(struct r +@@ -5070,7 +5123,9 @@ static int __init its_probe_one(struct r its->numa_node = numa_node; @@ -186,7 +186,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its get_order(ITS_CMD_QUEUE_SZ)); if (!page) { err = -ENOMEM; -@@ -5089,6 +5144,9 @@ static int __init its_probe_one(struct r +@@ -5101,6 +5156,9 @@ static int __init its_probe_one(struct r gits_write_cbaser(baser, its->base + GITS_CBASER); tmp = gits_read_cbaser(its->base + GITS_CBASER); diff --git a/target/linux/rockchip/patches-6.1/305-clk-rockchip-add-clock-controller-for-the-RK3528.patch b/target/linux/rockchip/patches-6.1/305-clk-rockchip-add-clock-controller-for-the-RK3528.patch index 1d48c4ae50018a..dfea48511927ae 100644 --- a/target/linux/rockchip/patches-6.1/305-clk-rockchip-add-clock-controller-for-the-RK3528.patch +++ b/target/linux/rockchip/patches-6.1/305-clk-rockchip-add-clock-controller-for-the-RK3528.patch @@ -87,7 +87,7 @@ Change-Id: I09745b6a31484d6a27f04e608268d9738c1fe224 obj-$(CONFIG_CLK_RK3568) += clk-rk3568.o --- a/drivers/clk/rockchip/clk.c +++ b/drivers/clk/rockchip/clk.c -@@ -514,6 +514,14 @@ void rockchip_clk_register_branches(stru +@@ -515,6 +515,14 @@ void rockchip_clk_register_branches(stru ctx->reg_base + list->gate_offset, list->gate_shift, list->gate_flags, &ctx->lock); break; diff --git a/target/linux/rockchip/patches-6.1/603-net-ethernet-stmmac-add-devname-configuration-from-OF.patch b/target/linux/rockchip/patches-6.1/603-net-ethernet-stmmac-add-devname-configuration-from-OF.patch index b79b26d48351f4..6f75b490f763ad 100644 --- a/target/linux/rockchip/patches-6.1/603-net-ethernet-stmmac-add-devname-configuration-from-OF.patch +++ b/target/linux/rockchip/patches-6.1/603-net-ethernet-stmmac-add-devname-configuration-from-OF.patch @@ -1,6 +1,6 @@ --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -7099,6 +7099,7 @@ int stmmac_dvr_probe(struct device *devi +@@ -7112,6 +7112,7 @@ int stmmac_dvr_probe(struct device *devi { struct net_device *ndev = NULL; struct stmmac_priv *priv; @@ -8,7 +8,7 @@ u32 rxq; int i, ret = 0; -@@ -7107,6 +7108,9 @@ int stmmac_dvr_probe(struct device *devi +@@ -7120,6 +7121,9 @@ int stmmac_dvr_probe(struct device *devi if (!ndev) return -ENOMEM; diff --git a/target/linux/rockchip/patches-6.1/806-arm64-dts-rockchip-rk3328-add-dfi-node.patch b/target/linux/rockchip/patches-6.1/806-arm64-dts-rockchip-rk3328-add-dfi-node.patch index 89e327e0dfd68f..4c151e851d49c5 100644 --- a/target/linux/rockchip/patches-6.1/806-arm64-dts-rockchip-rk3328-add-dfi-node.patch +++ b/target/linux/rockchip/patches-6.1/806-arm64-dts-rockchip-rk3328-add-dfi-node.patch @@ -9,7 +9,7 @@ Signed-off-by: hmz007 --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi -@@ -1032,6 +1032,13 @@ +@@ -1031,6 +1031,13 @@ status = "disabled"; }; diff --git a/target/linux/x86/patches-6.1/998-add-a-sysctl-to-enable-disable-tcp_collapse-logic.patch b/target/linux/x86/patches-6.1/998-add-a-sysctl-to-enable-disable-tcp_collapse-logic.patch index 3af554a5629e34..e2effa7ae7978e 100644 --- a/target/linux/x86/patches-6.1/998-add-a-sysctl-to-enable-disable-tcp_collapse-logic.patch +++ b/target/linux/x86/patches-6.1/998-add-a-sysctl-to-enable-disable-tcp_collapse-logic.patch @@ -81,7 +81,7 @@ and performance for all other cases. --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -5443,6 +5443,7 @@ static bool tcp_prune_ofo_queue(struct s +@@ -5470,6 +5470,7 @@ static bool tcp_prune_ofo_queue(struct s static int tcp_prune_queue(struct sock *sk) { struct tcp_sock *tp = tcp_sk(sk); @@ -89,7 +89,7 @@ and performance for all other cases. NET_INC_STATS(sock_net(sk), LINUX_MIB_PRUNECALLED); -@@ -5454,6 +5455,39 @@ static int tcp_prune_queue(struct sock * +@@ -5481,6 +5482,39 @@ static int tcp_prune_queue(struct sock * if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf) return 0; @@ -129,7 +129,7 @@ and performance for all other cases. tcp_collapse_ofo_queue(sk); if (!skb_queue_empty(&sk->sk_receive_queue)) tcp_collapse(sk, &sk->sk_receive_queue, NULL, -@@ -5472,6 +5506,8 @@ static int tcp_prune_queue(struct sock * +@@ -5499,6 +5533,8 @@ static int tcp_prune_queue(struct sock * if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf) return 0; @@ -140,7 +140,7 @@ and performance for all other cases. * and hopefully then we'll have sufficient space. --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c -@@ -3237,6 +3237,8 @@ static int __net_init tcp_sk_init(struct +@@ -3240,6 +3240,8 @@ static int __net_init tcp_sk_init(struct net->ipv4.sysctl_tcp_shrink_window = 0;