From: Greg Kroah-Hartman Date: Fri, 13 Sep 2024 12:43:45 +0000 (+0200) Subject: 5.10-stable patches X-Git-Tag: v6.1.111~44 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=86f9590bc1db5a34402f764123a67f2a60b74907;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: arm64-dts-rockchip-override-bios_disable-signal-via-gpio-hog-on-rk3399-puma.patch minmax-reduce-min-max-macro-expansion-in-atomisp-driver.patch --- diff --git a/queue-5.10/arm64-dts-rockchip-override-bios_disable-signal-via-gpio-hog-on-rk3399-puma.patch b/queue-5.10/arm64-dts-rockchip-override-bios_disable-signal-via-gpio-hog-on-rk3399-puma.patch new file mode 100644 index 00000000000..130a94da1bf --- /dev/null +++ b/queue-5.10/arm64-dts-rockchip-override-bios_disable-signal-via-gpio-hog-on-rk3399-puma.patch @@ -0,0 +1,70 @@ +From 741f5ba7ccba5d7ae796dd11c320e28045524771 Mon Sep 17 00:00:00 2001 +From: Quentin Schulz +Date: Wed, 31 Jul 2024 13:05:29 +0200 +Subject: arm64: dts: rockchip: override BIOS_DISABLE signal via GPIO hog on RK3399 Puma + +From: Quentin Schulz + +commit 741f5ba7ccba5d7ae796dd11c320e28045524771 upstream. + +The Qseven BIOS_DISABLE signal on the RK3399-Q7 keeps the on-module eMMC +and SPI flash powered-down initially (in fact it keeps the reset signal +asserted). BIOS_DISABLE_OVERRIDE pin allows to override that signal so +that eMMC and SPI can be used regardless of the state of the signal. + +Let's make this GPIO a hog so that it's reserved and locked in the +proper state. + +At the same time, make sure the pin is reserved for the hog and cannot +be requested by another node. + +Cc: stable@vger.kernel.org +Signed-off-by: Quentin Schulz +Link: https://lore.kernel.org/r/20240731-puma-emmc-6-v1-2-4e28eadf32d0@cherry.de +Signed-off-by: Heiko Stuebner +Signed-off-by: Greg Kroah-Hartman +--- + arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi | 23 ++++++++++++++++++++++- + 1 file changed, 22 insertions(+), 1 deletion(-) + +--- a/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi +@@ -148,6 +148,22 @@ + drive-impedance-ohm = <33>; + }; + ++&gpio3 { ++ /* ++ * The Qseven BIOS_DISABLE signal on the RK3399-Q7 keeps the on-module ++ * eMMC and SPI flash powered-down initially (in fact it keeps the ++ * reset signal asserted). BIOS_DISABLE_OVERRIDE pin allows to override ++ * that signal so that eMMC and SPI can be used regardless of the state ++ * of the signal. ++ */ ++ bios-disable-override-hog { ++ gpios = ; ++ gpio-hog; ++ line-name = "bios_disable_override"; ++ output-high; ++ }; ++}; ++ + &gmac { + assigned-clocks = <&cru SCLK_RMII_SRC>; + assigned-clock-parents = <&clkin_gmac>; +@@ -437,9 +453,14 @@ + + &pinctrl { + pinctrl-names = "default"; +- pinctrl-0 = <&q7_thermal_pin>; ++ pinctrl-0 = <&q7_thermal_pin &bios_disable_override_hog_pin>; + + gpios { ++ bios_disable_override_hog_pin: bios-disable-override-hog-pin { ++ rockchip,pins = ++ <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_down>; ++ }; ++ + q7_thermal_pin: q7-thermal-pin { + rockchip,pins = + <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; diff --git a/queue-5.10/minmax-reduce-min-max-macro-expansion-in-atomisp-driver.patch b/queue-5.10/minmax-reduce-min-max-macro-expansion-in-atomisp-driver.patch new file mode 100644 index 00000000000..ea2aa6db54f --- /dev/null +++ b/queue-5.10/minmax-reduce-min-max-macro-expansion-in-atomisp-driver.patch @@ -0,0 +1,68 @@ +From 7c6a3a65ace70f12b27b1a27c9a69cb791dc6e91 Mon Sep 17 00:00:00 2001 +From: Lorenzo Stoakes +Date: Wed, 11 Sep 2024 18:51:11 +0100 +Subject: minmax: reduce min/max macro expansion in atomisp driver + +From: Lorenzo Stoakes + +commit 7c6a3a65ace70f12b27b1a27c9a69cb791dc6e91 upstream. + +Avoid unnecessary nested min()/max() which results in egregious macro +expansion. + +Use clamp_t() as this introduces the least possible expansion, and turn +the {s,u}DIGIT_FITTING() macros into inline functions to avoid the +nested expansion. + +This resolves an issue with slackware 15.0 32-bit compilation as +reported by Richard Narron. + +Presumably the min/max fixups would be difficult to backport, this patch +should be easier and fix's Richard's problem in 5.15. + +Reported-by: Richard Narron +Reviewed-by: Hans de Goede +Closes: https://lore.kernel.org/all/4a5321bd-b1f-1832-f0c-cea8694dc5aa@aaazen.com/ +Fixes: 867046cc7027 ("minmax: relax check to allow comparison between unsigned arguments and signed constants") +Cc: stable@vger.kernel.org +Signed-off-by: Lorenzo Stoakes +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman +--- + drivers/staging/media/atomisp/pci/sh_css_frac.h | 26 +++++++++++++++++------- + 1 file changed, 19 insertions(+), 7 deletions(-) + +--- a/drivers/staging/media/atomisp/pci/sh_css_frac.h ++++ b/drivers/staging/media/atomisp/pci/sh_css_frac.h +@@ -30,12 +30,24 @@ + #define uISP_VAL_MAX ((unsigned int)((1 << uISP_REG_BIT) - 1)) + + /* a:fraction bits for 16bit precision, b:fraction bits for ISP precision */ +-#define sDIGIT_FITTING(v, a, b) \ +- min_t(int, max_t(int, (((v) >> sSHIFT) >> max(sFRACTION_BITS_FITTING(a) - (b), 0)), \ +- sISP_VAL_MIN), sISP_VAL_MAX) +-#define uDIGIT_FITTING(v, a, b) \ +- min((unsigned int)max((unsigned)(((v) >> uSHIFT) \ +- >> max((int)(uFRACTION_BITS_FITTING(a) - (b)), 0)), \ +- uISP_VAL_MIN), uISP_VAL_MAX) ++static inline int sDIGIT_FITTING(int v, int a, int b) ++{ ++ int fit_shift = sFRACTION_BITS_FITTING(a) - b; ++ ++ v >>= sSHIFT; ++ v >>= fit_shift > 0 ? fit_shift : 0; ++ ++ return clamp_t(int, v, sISP_VAL_MIN, sISP_VAL_MAX); ++} ++ ++static inline unsigned int uDIGIT_FITTING(unsigned int v, int a, int b) ++{ ++ int fit_shift = uFRACTION_BITS_FITTING(a) - b; ++ ++ v >>= uSHIFT; ++ v >>= fit_shift > 0 ? fit_shift : 0; ++ ++ return clamp_t(unsigned int, v, uISP_VAL_MIN, uISP_VAL_MAX); ++} + + #endif /* __SH_CSS_FRAC_H */ diff --git a/queue-5.10/series b/queue-5.10/series index ee7eeb00f6d..482a04c8819 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -12,3 +12,5 @@ scripts-kconfig-merge_config-config-files-add-a-trai.patch drm-msm-adreno-fix-error-return-if-missing-firmware-.patch input-i8042-add-fujitsu-lifebook-e756-to-i8042-quirk.patch nfs-avoid-unnecessary-rescanning-of-the-per-server-d.patch +arm64-dts-rockchip-override-bios_disable-signal-via-gpio-hog-on-rk3399-puma.patch +minmax-reduce-min-max-macro-expansion-in-atomisp-driver.patch