diff --git a/packages/linux/package.mk b/packages/linux/package.mk index dcf0c023b9..6074b36311 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -23,14 +23,14 @@ case "${LINUX}" in PKG_PATCH_DIRS="default" ;; raspberrypi) - PKG_VERSION="d2813c02131b9ddf938277f4123da7ccbd113ea7" # 6.6.35 - PKG_SHA256="a443bcb9f4548db18b8774e448ed4ed811abc26b32cf017e0ae691abc2789db9" + PKG_VERSION="89f80b37bc78986a109897ada807213fbbfe91ad" # 6.6.39 + PKG_SHA256="858d1ab216f2a845270984524966c1089e5455c1ae3fa2ffdb7d20cf5516f27f" PKG_URL="https://github.com/raspberrypi/linux/archive/${PKG_VERSION}.tar.gz" PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz" ;; *) - PKG_VERSION="6.6.30" - PKG_SHA256="b66a5b863b0f8669448b74ca83bd641a856f164b29956e539bbcb5fdeeab9cc6" + PKG_VERSION="6.6.39" + PKG_SHA256="2783d42112095f95c510e1b421f056df8cbfa845f9040c6115080434a77a776b" PKG_URL="https://www.kernel.org/pub/linux/kernel/v${PKG_VERSION/.*/}.x/${PKG_NAME}-${PKG_VERSION}.tar.xz" PKG_PATCH_DIRS="default" ;; diff --git a/projects/Allwinner/patches/linux/0069-clk-sunxi-ng-h6-Reparent-CPUX-during-PLL-CPUX-rate-c.patch b/projects/Allwinner/patches/linux/0069-clk-sunxi-ng-h6-Reparent-CPUX-during-PLL-CPUX-rate-c.patch deleted file mode 100644 index a9b2056c88..0000000000 --- a/projects/Allwinner/patches/linux/0069-clk-sunxi-ng-h6-Reparent-CPUX-during-PLL-CPUX-rate-c.patch +++ /dev/null @@ -1,66 +0,0 @@ -From edfe1a6c99aff85e97dc1600355a66bbcb417531 Mon Sep 17 00:00:00 2001 -From: Jernej Skrabec -Date: Thu, 12 Oct 2023 20:25:42 +0200 -Subject: [PATCH 22/25] clk: sunxi-ng: h6: Reparent CPUX during PLL CPUX rate - change - -While PLL CPUX clock rate change when CPU is running from it works in -vast majority of cases, now and then it causes instability. This leads -to system crashes and other undefined behaviour. After a lot of testing -(30+ hours) while also doing a lot of frequency switches, we can't -observe any instability issues anymore when doing reparenting to stable -clock like 24 MHz oscillator. - -Fixes: 524353ea480b ("clk: sunxi-ng: add support for the Allwinner H6 CCU") -Link: https://forum.libreelec.tv/thread/27295-orange-pi-3-lts-freezes/ -Reported-by: Chad Wagner -Tested-by: Chad Wagner -Signed-off-by: Jernej Skrabec ---- - drivers/clk/sunxi-ng/ccu-sun50i-h6.c | 19 +++++++++++++++++-- - 1 file changed, 17 insertions(+), 2 deletions(-) - -diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-h6.c b/drivers/clk/sunxi-ng/ccu-sun50i-h6.c -index 42568c616181..892df807275c 100644 ---- a/drivers/clk/sunxi-ng/ccu-sun50i-h6.c -+++ b/drivers/clk/sunxi-ng/ccu-sun50i-h6.c -@@ -1181,11 +1181,18 @@ static const u32 usb2_clk_regs[] = { - SUN50I_H6_USB3_CLK_REG, - }; - -+static struct ccu_mux_nb sun50i_h6_cpu_nb = { -+ .common = &cpux_clk.common, -+ .cm = &cpux_clk.mux, -+ .delay_us = 1, -+ .bypass_index = 0, /* index of 24 MHz oscillator */ -+}; -+ - static int sun50i_h6_ccu_probe(struct platform_device *pdev) - { - void __iomem *reg; -+ int i, ret; - u32 val; -- int i; - - reg = devm_platform_ioremap_resource(pdev, 0); - if (IS_ERR(reg)) -@@ -1252,7 +1259,15 @@ static int sun50i_h6_ccu_probe(struct platform_device *pdev) - val |= BIT(24); - writel(val, reg + SUN50I_H6_HDMI_CEC_CLK_REG); - -- return devm_sunxi_ccu_probe(&pdev->dev, reg, &sun50i_h6_ccu_desc); -+ ret = devm_sunxi_ccu_probe(&pdev->dev, reg, &sun50i_h6_ccu_desc); -+ if (ret) -+ return ret; -+ -+ /* Reparent CPU during PLL CPUX rate changes */ -+ ccu_mux_notifier_register(pll_cpux_clk.common.hw.clk, -+ &sun50i_h6_cpu_nb); -+ -+ return 0; - } - - static const struct of_device_id sun50i_h6_ccu_ids[] = { --- -2.42.0 -