From 224f2fd5676f56d5be98d08dc2f041d5dece8ce1 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Wed, 20 Mar 2024 01:48:41 +0100 Subject: [PATCH] ipq806x: 6.6: refresh kernel patches Refresh kernel patches using make target/linux/refresh. Signed-off-by: Christian Marangi --- ...tfs-conflicts-with-OpenWrt-auto-mounting.patch | 2 +- ...com-add-saw-for-l2-cache-and-kraitcc-for.patch | 6 +++--- ...com-add-opp-table-for-cpu-and-l2-for-ipq.patch | 2 +- ...com-add-multiple-missing-binding-for-cpu.patch | 2 +- ...-fix-wrong-nad_pins-definition-for-ipq80.patch | 2 +- ...-add-MDIO-dedicated-controller-node-for-.patch | 4 ++-- ...-Add-L2-Krait-Cache-devfreq-scaling-driv.patch | 2 +- ...-add-krait-cache-compatible-for-ipq806x-.patch | 2 +- ...evfreq-add-ipq806x-fabric-scaling-driver.patch | 2 +- ...ts-qcom-add-fab-scaling-node-for-ipq806x.patch | 2 +- ...-qcom-clk-krait-generilize-div-functions.patch | 2 +- ...qcom-Fix-broken-misc_cmd_type-in-exec_op.patch | 15 +++------------ .../patches-6.6/850-soc-add-qualcomm-syscon.patch | 6 +++--- .../900-arm-add-cmdline-override.patch | 4 ++-- ...ompressor-add-option-to-ignore-MEM-ATAGs.patch | 4 ++-- ...ssor-support-for-ATAGs-rootblock-parsing.patch | 12 ++++++------ 16 files changed, 30 insertions(+), 39 deletions(-) diff --git a/target/linux/ipq806x/patches-6.6/102-mtd-rootfs-conflicts-with-OpenWrt-auto-mounting.patch b/target/linux/ipq806x/patches-6.6/102-mtd-rootfs-conflicts-with-OpenWrt-auto-mounting.patch index e0c195f1ab..d70be98aca 100644 --- a/target/linux/ipq806x/patches-6.6/102-mtd-rootfs-conflicts-with-OpenWrt-auto-mounting.patch +++ b/target/linux/ipq806x/patches-6.6/102-mtd-rootfs-conflicts-with-OpenWrt-auto-mounting.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -51,7 +51,11 @@ static struct mtd_info *allocate_partiti +@@ -57,7 +57,11 @@ static struct mtd_info *allocate_partiti /* allocate the partition structure */ child = kzalloc(sizeof(*child), GFP_KERNEL); diff --git a/target/linux/ipq806x/patches-6.6/107-10-ARM-dts-qcom-add-saw-for-l2-cache-and-kraitcc-for.patch b/target/linux/ipq806x/patches-6.6/107-10-ARM-dts-qcom-add-saw-for-l2-cache-and-kraitcc-for.patch index 228368b6cd..83eb6f38cd 100644 --- a/target/linux/ipq806x/patches-6.6/107-10-ARM-dts-qcom-add-saw-for-l2-cache-and-kraitcc-for.patch +++ b/target/linux/ipq806x/patches-6.6/107-10-ARM-dts-qcom-add-saw-for-l2-cache-and-kraitcc-for.patch @@ -16,7 +16,7 @@ Tested-by: Jonathan McDowell --- a/arch/arm/boot/dts/qcom/qcom-ipq8064.dtsi +++ b/arch/arm/boot/dts/qcom/qcom-ipq8064.dtsi -@@ -301,6 +301,12 @@ +@@ -302,6 +302,12 @@ }; clocks { @@ -29,7 +29,7 @@ Tested-by: Jonathan McDowell cxo_board: cxo_board { compatible = "fixed-clock"; #clock-cells = <0>; -@@ -575,7 +581,7 @@ +@@ -587,7 +593,7 @@ }; saw0: regulator@2089000 { @@ -38,7 +38,7 @@ Tested-by: Jonathan McDowell reg = <0x02089000 0x1000>, <0x02009000 0x1000>; regulator; }; -@@ -591,11 +612,27 @@ +@@ -602,11 +608,27 @@ }; saw1: regulator@2099000 { diff --git a/target/linux/ipq806x/patches-6.6/107-13-ARM-dts-qcom-add-opp-table-for-cpu-and-l2-for-ipq.patch b/target/linux/ipq806x/patches-6.6/107-13-ARM-dts-qcom-add-opp-table-for-cpu-and-l2-for-ipq.patch index b6359a946e..1cf57d018f 100644 --- a/target/linux/ipq806x/patches-6.6/107-13-ARM-dts-qcom-add-opp-table-for-cpu-and-l2-for-ipq.patch +++ b/target/linux/ipq806x/patches-6.6/107-13-ARM-dts-qcom-add-opp-table-for-cpu-and-l2-for-ipq.patch @@ -23,7 +23,7 @@ Tested-by: Jonathan McDowell --- a/arch/arm/boot/dts/qcom/qcom-ipq8064.dtsi +++ b/arch/arm/boot/dts/qcom/qcom-ipq8064.dtsi -@@ -48,6 +48,105 @@ +@@ -49,6 +49,105 @@ }; }; diff --git a/target/linux/ipq806x/patches-6.6/107-15-ARM-dts-qcom-add-multiple-missing-binding-for-cpu.patch b/target/linux/ipq806x/patches-6.6/107-15-ARM-dts-qcom-add-multiple-missing-binding-for-cpu.patch index 55f02ac5aa..e4c9f73c83 100644 --- a/target/linux/ipq806x/patches-6.6/107-15-ARM-dts-qcom-add-multiple-missing-binding-for-cpu.patch +++ b/target/linux/ipq806x/patches-6.6/107-15-ARM-dts-qcom-add-multiple-missing-binding-for-cpu.patch @@ -59,7 +59,7 @@ Tested-by: Jonathan McDowell L2: l2-cache { compatible = "cache"; cache-level = <2>; - cache-unified; + cache-unified; + qcom,saw = <&saw_l2>; + + clocks = <&kraitcc 4>; diff --git a/target/linux/ipq806x/patches-6.6/108-01-ARM-dts-qcom-fix-wrong-nad_pins-definition-for-ipq80.patch b/target/linux/ipq806x/patches-6.6/108-01-ARM-dts-qcom-fix-wrong-nad_pins-definition-for-ipq80.patch index a06dd00dfc..a3ac606ae9 100644 --- a/target/linux/ipq806x/patches-6.6/108-01-ARM-dts-qcom-fix-wrong-nad_pins-definition-for-ipq80.patch +++ b/target/linux/ipq806x/patches-6.6/108-01-ARM-dts-qcom-fix-wrong-nad_pins-definition-for-ipq80.patch @@ -12,7 +12,7 @@ Signed-off-by: Christian 'Ansuel' Marangi --- a/arch/arm/boot/dts/qcom/qcom-ipq8064.dtsi +++ b/arch/arm/boot/dts/qcom/qcom-ipq8064.dtsi -@@ -599,12 +599,9 @@ +@@ -600,12 +600,9 @@ }; nand_pins: nand_pins { diff --git a/target/linux/ipq806x/patches-6.6/108-02-ARM-dts-qcom-add-MDIO-dedicated-controller-node-for-.patch b/target/linux/ipq806x/patches-6.6/108-02-ARM-dts-qcom-add-MDIO-dedicated-controller-node-for-.patch index 8f6f8a287a..b4aa04d7d2 100644 --- a/target/linux/ipq806x/patches-6.6/108-02-ARM-dts-qcom-add-MDIO-dedicated-controller-node-for-.patch +++ b/target/linux/ipq806x/patches-6.6/108-02-ARM-dts-qcom-add-MDIO-dedicated-controller-node-for-.patch @@ -147,7 +147,7 @@ Signed-off-by: Christian 'Ansuel' Marangi mdio1: mdio-1 { status = "okay"; compatible = "virtual,mdio-gpio"; -@@ -222,6 +155,131 @@ +@@ -337,6 +212,131 @@ status = "okay"; }; @@ -281,7 +281,7 @@ Signed-off-by: Christian 'Ansuel' Marangi --- a/arch/arm/boot/dts/qcom/qcom-ipq8064.dtsi +++ b/arch/arm/boot/dts/qcom/qcom-ipq8064.dtsi -@@ -476,6 +476,20 @@ +@@ -1429,6 +1429,20 @@ status = "disabled"; }; diff --git a/target/linux/ipq806x/patches-6.6/114-01-devfreq-qcom-Add-L2-Krait-Cache-devfreq-scaling-driv.patch b/target/linux/ipq806x/patches-6.6/114-01-devfreq-qcom-Add-L2-Krait-Cache-devfreq-scaling-driv.patch index 9de7328879..9780f6a30b 100644 --- a/target/linux/ipq806x/patches-6.6/114-01-devfreq-qcom-Add-L2-Krait-Cache-devfreq-scaling-driv.patch +++ b/target/linux/ipq806x/patches-6.6/114-01-devfreq-qcom-Add-L2-Krait-Cache-devfreq-scaling-driv.patch @@ -21,7 +21,7 @@ Signed-off-by: Christian Marangi --- a/drivers/devfreq/Kconfig +++ b/drivers/devfreq/Kconfig -@@ -151,6 +151,17 @@ config ARM_SUN8I_A33_MBUS_DEVFREQ +@@ -150,6 +150,17 @@ config ARM_SUN8I_A33_MBUS_DEVFREQ This adds the DEVFREQ driver for the MBUS controller in some Allwinner sun8i (A33 through H3) and sun50i (A64 and H5) SoCs. diff --git a/target/linux/ipq806x/patches-6.6/114-02-ARM-dts-qcom-add-krait-cache-compatible-for-ipq806x-.patch b/target/linux/ipq806x/patches-6.6/114-02-ARM-dts-qcom-add-krait-cache-compatible-for-ipq806x-.patch index 77b6f926bd..92ff75afe6 100644 --- a/target/linux/ipq806x/patches-6.6/114-02-ARM-dts-qcom-add-krait-cache-compatible-for-ipq806x-.patch +++ b/target/linux/ipq806x/patches-6.6/114-02-ARM-dts-qcom-add-krait-cache-compatible-for-ipq806x-.patch @@ -32,7 +32,7 @@ Signed-off-by: Christian Marangi }; opp_table_l2: opp_table_l2 { -@@ -1409,6 +1399,17 @@ +@@ -1392,6 +1381,17 @@ #reset-cells = <1>; }; diff --git a/target/linux/ipq806x/patches-6.6/115-01-devfreq-add-ipq806x-fabric-scaling-driver.patch b/target/linux/ipq806x/patches-6.6/115-01-devfreq-add-ipq806x-fabric-scaling-driver.patch index c9cd3ebdf7..c359eda2a5 100644 --- a/target/linux/ipq806x/patches-6.6/115-01-devfreq-add-ipq806x-fabric-scaling-driver.patch +++ b/target/linux/ipq806x/patches-6.6/115-01-devfreq-add-ipq806x-fabric-scaling-driver.patch @@ -15,7 +15,7 @@ Signed-off-by: Christian Marangi --- a/drivers/devfreq/Kconfig +++ b/drivers/devfreq/Kconfig -@@ -162,6 +162,17 @@ config ARM_KRAIT_CACHE_DEVFREQ +@@ -161,6 +161,17 @@ config ARM_KRAIT_CACHE_DEVFREQ based on the max frequency across all core and the range set in the device dts. If provided this scale also the regulator attached to the l2 cache. diff --git a/target/linux/ipq806x/patches-6.6/115-02-ARM-dts-qcom-add-fab-scaling-node-for-ipq806x.patch b/target/linux/ipq806x/patches-6.6/115-02-ARM-dts-qcom-add-fab-scaling-node-for-ipq806x.patch index 418e3248ad..bbdbedd6c2 100644 --- a/target/linux/ipq806x/patches-6.6/115-02-ARM-dts-qcom-add-fab-scaling-node-for-ipq806x.patch +++ b/target/linux/ipq806x/patches-6.6/115-02-ARM-dts-qcom-add-fab-scaling-node-for-ipq806x.patch @@ -32,7 +32,7 @@ Signed-off-by: Christian Marangi thermal-zones { sensor0-thermal { polling-delay-passive = <0>; -@@ -1409,6 +1421,13 @@ +@@ -1392,6 +1404,13 @@ operating-points-v2 = <&opp_table_l2>; }; diff --git a/target/linux/ipq806x/patches-6.6/122-05-clk-qcom-clk-krait-generilize-div-functions.patch b/target/linux/ipq806x/patches-6.6/122-05-clk-qcom-clk-krait-generilize-div-functions.patch index 356659d9c0..45b94ed649 100644 --- a/target/linux/ipq806x/patches-6.6/122-05-clk-qcom-clk-krait-generilize-div-functions.patch +++ b/target/linux/ipq806x/patches-6.6/122-05-clk-qcom-clk-krait-generilize-div-functions.patch @@ -30,7 +30,7 @@ Signed-off-by: Christian Marangi + req->best_parent_rate = clk_hw_round_rate(clk_hw_get_parent(hw), + req->rate * d->divisor); + req->rate = DIV_ROUND_UP(req->best_parent_rate, d->divisor); - return 0; + return 0; } -static int krait_div2_set_rate(struct clk_hw *hw, unsigned long rate, diff --git a/target/linux/ipq806x/patches-6.6/130-mtd-rawnand-qcom-Fix-broken-misc_cmd_type-in-exec_op.patch b/target/linux/ipq806x/patches-6.6/130-mtd-rawnand-qcom-Fix-broken-misc_cmd_type-in-exec_op.patch index 5fc2599522..caa5b070e4 100644 --- a/target/linux/ipq806x/patches-6.6/130-mtd-rawnand-qcom-Fix-broken-misc_cmd_type-in-exec_op.patch +++ b/target/linux/ipq806x/patches-6.6/130-mtd-rawnand-qcom-Fix-broken-misc_cmd_type-in-exec_op.patch @@ -1,4 +1,4 @@ -From b25aac1f55c29048e5a6ab24ab0e2aea12cb4887 Mon Sep 17 00:00:00 2001 +From 9732c4f2d93a4a39ffc903c88ab7d531a8bb2e74 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Wed, 20 Mar 2024 00:47:58 +0100 Subject: [PATCH] mtd: rawnand: qcom: Fix broken misc_cmd_type in exec_op @@ -8,10 +8,6 @@ misc_cmd_type in exec_op have multiple problems. With commit a82990c8a409 reworked and generalized but actually dropped the handling of the RESET_DEVICE command. -The rework itself was correct with supporting case where a single misc -command is handled, but became problematic by the addition of exiting -early if we didn't had an ERASE or an OP_PROGRAM_PAGE operation. - Also additional logic was added without clear explaination causing the erase command to be broken on testing it on a ipq806x nandc. @@ -25,11 +21,9 @@ Signed-off-by: Christian Marangi drivers/mtd/nand/raw/qcom_nandc.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) -diff --git a/drivers/mtd/nand/raw/qcom_nandc.c b/drivers/mtd/nand/raw/qcom_nandc.c -index b079605c84d3..b8cff9240b28 100644 --- a/drivers/mtd/nand/raw/qcom_nandc.c +++ b/drivers/mtd/nand/raw/qcom_nandc.c -@@ -2815,7 +2815,7 @@ static int qcom_misc_cmd_type_exec(struct nand_chip *chip, const struct nand_sub +@@ -2815,7 +2815,7 @@ static int qcom_misc_cmd_type_exec(struc host->cfg0_raw & ~(7 << CW_PER_PAGE)); nandc_set_reg(chip, NAND_DEV0_CFG1, host->cfg1_raw); instrs = 3; @@ -38,7 +32,7 @@ index b079605c84d3..b8cff9240b28 100644 return 0; } -@@ -2830,9 +2830,8 @@ static int qcom_misc_cmd_type_exec(struct nand_chip *chip, const struct nand_sub +@@ -2830,9 +2830,8 @@ static int qcom_misc_cmd_type_exec(struc nandc_set_reg(chip, NAND_EXEC_CMD, 1); write_reg_dma(nandc, NAND_FLASH_CMD, instrs, NAND_BAM_NEXT_SGL); @@ -50,6 +44,3 @@ index b079605c84d3..b8cff9240b28 100644 write_reg_dma(nandc, NAND_EXEC_CMD, 1, NAND_BAM_NEXT_SGL); read_reg_dma(nandc, NAND_FLASH_STATUS, 1, NAND_BAM_NEXT_SGL); --- -2.43.0 - diff --git a/target/linux/ipq806x/patches-6.6/850-soc-add-qualcomm-syscon.patch b/target/linux/ipq806x/patches-6.6/850-soc-add-qualcomm-syscon.patch index 397c4481ab..3fa60a6abc 100644 --- a/target/linux/ipq806x/patches-6.6/850-soc-add-qualcomm-syscon.patch +++ b/target/linux/ipq806x/patches-6.6/850-soc-add-qualcomm-syscon.patch @@ -2,17 +2,17 @@ From: Christian Lamparter Subject: SoC: add qualcomm syscon --- a/drivers/soc/qcom/Makefile +++ b/drivers/soc/qcom/Makefile -@@ -23,6 +23,7 @@ obj-$(CONFIG_QCOM_SOCINFO) += socinfo.o +@@ -26,6 +26,7 @@ obj-$(CONFIG_QCOM_SOCINFO) += socinfo.o obj-$(CONFIG_QCOM_SPM) += spm.o obj-$(CONFIG_QCOM_STATS) += qcom_stats.o obj-$(CONFIG_QCOM_WCNSS_CTRL) += wcnss_ctrl.o +obj-$(CONFIG_QCOM_TCSR) += qcom_tcsr.o obj-$(CONFIG_QCOM_APR) += apr.o obj-$(CONFIG_QCOM_LLCC) += llcc-qcom.o - obj-$(CONFIG_QCOM_RPMHPD) += rpmhpd.o + obj-$(CONFIG_QCOM_KRYO_L2_ACCESSORS) += kryo-l2-accessors.o --- a/drivers/soc/qcom/Kconfig +++ b/drivers/soc/qcom/Kconfig -@@ -213,6 +213,13 @@ config QCOM_STATS +@@ -252,6 +252,13 @@ config QCOM_STATS various SoC level low power modes statistics and export to debugfs interface. diff --git a/target/linux/ipq806x/patches-6.6/900-arm-add-cmdline-override.patch b/target/linux/ipq806x/patches-6.6/900-arm-add-cmdline-override.patch index c9583549d0..f8bd1674b8 100644 --- a/target/linux/ipq806x/patches-6.6/900-arm-add-cmdline-override.patch +++ b/target/linux/ipq806x/patches-6.6/900-arm-add-cmdline-override.patch @@ -1,6 +1,6 @@ --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -1589,6 +1589,14 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN +@@ -1568,6 +1568,14 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN endchoice @@ -17,7 +17,7 @@ default "" --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c -@@ -1187,6 +1187,17 @@ int __init early_init_dt_scan_chosen(cha +@@ -1189,6 +1189,17 @@ int __init early_init_dt_scan_chosen(cha if (p != NULL && l > 0) strlcat(cmdline, p, min_t(int, strlen(cmdline) + (int)l, COMMAND_LINE_SIZE)); diff --git a/target/linux/ipq806x/patches-6.6/901-02-ARM-decompressor-add-option-to-ignore-MEM-ATAGs.patch b/target/linux/ipq806x/patches-6.6/901-02-ARM-decompressor-add-option-to-ignore-MEM-ATAGs.patch index 2e4c4de545..ce46f48fa5 100644 --- a/target/linux/ipq806x/patches-6.6/901-02-ARM-decompressor-add-option-to-ignore-MEM-ATAGs.patch +++ b/target/linux/ipq806x/patches-6.6/901-02-ARM-decompressor-add-option-to-ignore-MEM-ATAGs.patch @@ -20,7 +20,7 @@ Acked-by: Linus Walleij --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -1570,6 +1570,18 @@ config ARM_ATAG_DTB_COMPAT +@@ -1549,6 +1549,18 @@ config ARM_ATAG_DTB_COMPAT bootloaders, this option allows zImage to extract the information from the ATAG list and store it at run time into the appended DTB. @@ -41,7 +41,7 @@ Acked-by: Linus Walleij default ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER --- a/arch/arm/boot/compressed/atags_to_fdt.c +++ b/arch/arm/boot/compressed/atags_to_fdt.c -@@ -169,6 +169,10 @@ int atags_to_fdt(void *atag_list, void * +@@ -170,6 +170,10 @@ int atags_to_fdt(void *atag_list, void * setprop_string(fdt, "/chosen", "bootargs", atag->u.cmdline.cmdline); } else if (atag->hdr.tag == ATAG_MEM) { diff --git a/target/linux/ipq806x/patches-6.6/902-ARM-decompressor-support-for-ATAGs-rootblock-parsing.patch b/target/linux/ipq806x/patches-6.6/902-ARM-decompressor-support-for-ATAGs-rootblock-parsing.patch index 60b80fefe1..1832b6bead 100644 --- a/target/linux/ipq806x/patches-6.6/902-ARM-decompressor-support-for-ATAGs-rootblock-parsing.patch +++ b/target/linux/ipq806x/patches-6.6/902-ARM-decompressor-support-for-ATAGs-rootblock-parsing.patch @@ -24,7 +24,7 @@ Signed-off-by: Christian Marangi --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -1599,6 +1599,16 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN +@@ -1578,6 +1578,16 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN The command-line arguments provided by the boot loader will be appended to the the device tree bootargs property. @@ -43,9 +43,9 @@ Signed-off-by: Christian Marangi config CMDLINE_OVERRIDE --- a/arch/arm/boot/compressed/atags_to_fdt.c +++ b/arch/arm/boot/compressed/atags_to_fdt.c -@@ -3,7 +3,8 @@ - #include +@@ -4,7 +4,8 @@ #include + #include "misc.h" -#if defined(CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND) +#if defined(CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND) || \ @@ -53,7 +53,7 @@ Signed-off-by: Christian Marangi #define do_extend_cmdline 1 #else #define do_extend_cmdline 0 -@@ -69,6 +70,83 @@ static uint32_t get_cell_size(const void +@@ -70,6 +71,83 @@ static uint32_t get_cell_size(const void return cell_size; } @@ -137,7 +137,7 @@ Signed-off-by: Christian Marangi static void merge_fdt_bootargs(void *fdt, const char *fdt_cmdline) { char cmdline[COMMAND_LINE_SIZE]; -@@ -86,13 +164,23 @@ static void merge_fdt_bootargs(void *fdt +@@ -87,13 +165,23 @@ static void merge_fdt_bootargs(void *fdt ptr += len - 1; } @@ -177,7 +177,7 @@ Signed-off-by: Christian Marangi #include #include #include -@@ -995,6 +996,17 @@ asmlinkage __visible void __init __no_sa +@@ -929,6 +930,17 @@ void start_kernel(void) pr_notice("Kernel command line: %s\n", saved_command_line); /* parameters may set static keys */ jump_label_init(); -- 2.30.2