]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.1-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 9 Dec 2023 12:51:44 +0000 (13:51 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 9 Dec 2023 12:51:44 +0000 (13:51 +0100)
added patches:
arm64-dts-mediatek-cherry-fix-interrupt-cells-for-mt6360-on-i2c7.patch
arm64-dts-mediatek-mt7622-fix-memory-node-warning-check.patch
arm64-dts-mediatek-mt8173-evb-fix-regulator-fixed-node-names.patch
arm64-dts-mediatek-mt8183-evb-fix-unit_address_vs_reg-warning-on-ntc.patch
arm64-dts-mediatek-mt8183-fix-unit-address-for-scp-reserved-memory.patch
arm64-dts-mediatek-mt8183-kukui-jacuzzi-fix-dsi-unnecessary-cells-properties.patch
arm64-dts-mediatek-mt8183-move-thermal-zones-to-the-root-node.patch
arm64-dts-mediatek-mt8195-fix-pm-suspend-resume-with-venc-clocks.patch
md-raid6-use-valid-sector-values-to-determine-if-an-i-o-should-wait-on-the-reshape.patch
powercap-dtpm-fix-missing-cpufreq_cpu_put-calls.patch

queue-6.1/arm64-dts-mediatek-cherry-fix-interrupt-cells-for-mt6360-on-i2c7.patch [new file with mode: 0644]
queue-6.1/arm64-dts-mediatek-mt7622-fix-memory-node-warning-check.patch [new file with mode: 0644]
queue-6.1/arm64-dts-mediatek-mt8173-evb-fix-regulator-fixed-node-names.patch [new file with mode: 0644]
queue-6.1/arm64-dts-mediatek-mt8183-evb-fix-unit_address_vs_reg-warning-on-ntc.patch [new file with mode: 0644]
queue-6.1/arm64-dts-mediatek-mt8183-fix-unit-address-for-scp-reserved-memory.patch [new file with mode: 0644]
queue-6.1/arm64-dts-mediatek-mt8183-kukui-jacuzzi-fix-dsi-unnecessary-cells-properties.patch [new file with mode: 0644]
queue-6.1/arm64-dts-mediatek-mt8183-move-thermal-zones-to-the-root-node.patch [new file with mode: 0644]
queue-6.1/arm64-dts-mediatek-mt8195-fix-pm-suspend-resume-with-venc-clocks.patch [new file with mode: 0644]
queue-6.1/md-raid6-use-valid-sector-values-to-determine-if-an-i-o-should-wait-on-the-reshape.patch [new file with mode: 0644]
queue-6.1/powercap-dtpm-fix-missing-cpufreq_cpu_put-calls.patch [new file with mode: 0644]
queue-6.1/series

diff --git a/queue-6.1/arm64-dts-mediatek-cherry-fix-interrupt-cells-for-mt6360-on-i2c7.patch b/queue-6.1/arm64-dts-mediatek-cherry-fix-interrupt-cells-for-mt6360-on-i2c7.patch
new file mode 100644 (file)
index 0000000..a223812
--- /dev/null
@@ -0,0 +1,31 @@
+From 5943b8f7449df9881b273db07bdde1e7120dccf0 Mon Sep 17 00:00:00 2001
+From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+Date: Mon, 27 Nov 2023 14:20:26 +0100
+Subject: arm64: dts: mediatek: cherry: Fix interrupt cells for MT6360 on I2C7
+
+From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+
+commit 5943b8f7449df9881b273db07bdde1e7120dccf0 upstream.
+
+Change interrupt cells to 2 to suppress interrupts_property warning.
+
+Cc: stable@vger.kernel.org
+Fixes: 0de0fe950f1b ("arm64: dts: mediatek: cherry: Enable MT6360 sub-pmic on I2C7")
+Link: https://lore.kernel.org/r/20231127132026.165027-1-angelogioacchino.delregno@collabora.com
+Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
++++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
+@@ -207,7 +207,7 @@
+       pinctrl-0 = <&i2c7_pins>;
+       pmic@34 {
+-              #interrupt-cells = <1>;
++              #interrupt-cells = <2>;
+               compatible = "mediatek,mt6360";
+               reg = <0x34>;
+               interrupt-controller;
diff --git a/queue-6.1/arm64-dts-mediatek-mt7622-fix-memory-node-warning-check.patch b/queue-6.1/arm64-dts-mediatek-mt7622-fix-memory-node-warning-check.patch
new file mode 100644 (file)
index 0000000..f9e1975
--- /dev/null
@@ -0,0 +1,48 @@
+From 8e6ecbfd44b5542a7598c1c5fc9c6dcb5d367f2a Mon Sep 17 00:00:00 2001
+From: Eugen Hristev <eugen.hristev@collabora.com>
+Date: Mon, 14 Aug 2023 09:50:42 +0300
+Subject: arm64: dts: mediatek: mt7622: fix memory node warning check
+
+From: Eugen Hristev <eugen.hristev@collabora.com>
+
+commit 8e6ecbfd44b5542a7598c1c5fc9c6dcb5d367f2a upstream.
+
+dtbs_check throws a warning at the memory node:
+Warning (unit_address_vs_reg): /memory: node has a reg or ranges property, but no unit name
+
+fix by adding the address into the node name.
+
+Cc: stable@vger.kernel.org
+Fixes: 0b6286dd96c0 ("arm64: dts: mt7622: add bananapi BPI-R64 board")
+Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
+Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+Link: https://lore.kernel.org/r/20230814065042.4973-1-eugen.hristev@collabora.com
+Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts |    2 +-
+ arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts             |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
++++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
+@@ -72,7 +72,7 @@
+               };
+       };
+-      memory {
++      memory@40000000 {
+               reg = <0 0x40000000 0 0x40000000>;
+       };
+--- a/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts
++++ b/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts
+@@ -54,7 +54,7 @@
+               };
+       };
+-      memory {
++      memory@40000000 {
+               reg = <0 0x40000000 0 0x20000000>;
+       };
diff --git a/queue-6.1/arm64-dts-mediatek-mt8173-evb-fix-regulator-fixed-node-names.patch b/queue-6.1/arm64-dts-mediatek-mt8173-evb-fix-regulator-fixed-node-names.patch
new file mode 100644 (file)
index 0000000..df66a0b
--- /dev/null
@@ -0,0 +1,42 @@
+From 24165c5dad7ba7c7624d05575a5e0cc851396c71 Mon Sep 17 00:00:00 2001
+From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+Date: Wed, 25 Oct 2023 11:38:15 +0200
+Subject: arm64: dts: mediatek: mt8173-evb: Fix regulator-fixed node names
+
+From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+
+commit 24165c5dad7ba7c7624d05575a5e0cc851396c71 upstream.
+
+Fix a unit_address_vs_reg warning for the USB VBUS fixed regulators
+by renaming the regulator nodes from regulator@{0,1} to regulator-usb-p0
+and regulator-usb-p1.
+
+Cc: stable@vger.kernel.org
+Fixes: c0891284a74a ("arm64: dts: mediatek: add USB3 DRD driver")
+Link: https://lore.kernel.org/r/20231025093816.44327-8-angelogioacchino.delregno@collabora.com
+Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm64/boot/dts/mediatek/mt8173-evb.dts |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
++++ b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
+@@ -43,7 +43,7 @@
+               id-gpio = <&pio 16 GPIO_ACTIVE_HIGH>;
+       };
+-      usb_p1_vbus: regulator@0 {
++      usb_p1_vbus: regulator-usb-p1 {
+               compatible = "regulator-fixed";
+               regulator-name = "usb_vbus";
+               regulator-min-microvolt = <5000000>;
+@@ -52,7 +52,7 @@
+               enable-active-high;
+       };
+-      usb_p0_vbus: regulator@1 {
++      usb_p0_vbus: regulator-usb-p0 {
+               compatible = "regulator-fixed";
+               regulator-name = "vbus";
+               regulator-min-microvolt = <5000000>;
diff --git a/queue-6.1/arm64-dts-mediatek-mt8183-evb-fix-unit_address_vs_reg-warning-on-ntc.patch b/queue-6.1/arm64-dts-mediatek-mt8183-evb-fix-unit_address_vs_reg-warning-on-ntc.patch
new file mode 100644 (file)
index 0000000..e88be82
--- /dev/null
@@ -0,0 +1,34 @@
+From 9dea1c724fc36643e83216c1f5a26613412150db Mon Sep 17 00:00:00 2001
+From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+Date: Wed, 25 Oct 2023 11:38:14 +0200
+Subject: arm64: dts: mediatek: mt8183-evb: Fix unit_address_vs_reg warning on ntc
+
+From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+
+commit 9dea1c724fc36643e83216c1f5a26613412150db upstream.
+
+The NTC is defined as ntc@0 but it doesn't need any address at all.
+Fix the unit_address_vs_reg warning by dropping the unit address: since
+the node name has to be generic also fully rename it from ntc@0 to
+thermal-sensor.
+
+Cc: stable@vger.kernel.org
+Fixes: ff9ea5c62279 ("arm64: dts: mediatek: mt8183-evb: Add node for thermistor")
+Link: https://lore.kernel.org/r/20231025093816.44327-7-angelogioacchino.delregno@collabora.com
+Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm64/boot/dts/mediatek/mt8183-evb.dts |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm64/boot/dts/mediatek/mt8183-evb.dts
++++ b/arch/arm64/boot/dts/mediatek/mt8183-evb.dts
+@@ -37,7 +37,7 @@
+               };
+       };
+-      ntc@0 {
++      thermal-sensor {
+               compatible = "murata,ncp03wf104";
+               pullup-uv = <1800000>;
+               pullup-ohm = <390000>;
diff --git a/queue-6.1/arm64-dts-mediatek-mt8183-fix-unit-address-for-scp-reserved-memory.patch b/queue-6.1/arm64-dts-mediatek-mt8183-fix-unit-address-for-scp-reserved-memory.patch
new file mode 100644 (file)
index 0000000..fc5c7e1
--- /dev/null
@@ -0,0 +1,45 @@
+From 19cba9a6c071db57888dc6b2ec1d9bf8996ea681 Mon Sep 17 00:00:00 2001
+From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+Date: Wed, 25 Oct 2023 11:38:13 +0200
+Subject: arm64: dts: mediatek: mt8183: Fix unit address for scp reserved memory
+
+From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+
+commit 19cba9a6c071db57888dc6b2ec1d9bf8996ea681 upstream.
+
+The reserved memory for scp had node name "scp_mem_region" and also
+without unit-address: change the name to "memory@(address)".
+This fixes a unit_address_vs_reg warning.
+
+Cc: stable@vger.kernel.org
+Fixes: 1652dbf7363a ("arm64: dts: mt8183: add scp node")
+Link: https://lore.kernel.org/r/20231025093816.44327-6-angelogioacchino.delregno@collabora.com
+Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm64/boot/dts/mediatek/mt8183-evb.dts    |    2 +-
+ arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/arm64/boot/dts/mediatek/mt8183-evb.dts
++++ b/arch/arm64/boot/dts/mediatek/mt8183-evb.dts
+@@ -30,7 +30,7 @@
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+-              scp_mem_reserved: scp_mem_region {
++              scp_mem_reserved: memory@50000000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0 0x50000000 0 0x2900000>;
+                       no-map;
+--- a/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
++++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
+@@ -108,7 +108,7 @@
+               #size-cells = <2>;
+               ranges;
+-              scp_mem_reserved: scp_mem_region {
++              scp_mem_reserved: memory@50000000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0 0x50000000 0 0x2900000>;
+                       no-map;
diff --git a/queue-6.1/arm64-dts-mediatek-mt8183-kukui-jacuzzi-fix-dsi-unnecessary-cells-properties.patch b/queue-6.1/arm64-dts-mediatek-mt8183-kukui-jacuzzi-fix-dsi-unnecessary-cells-properties.patch
new file mode 100644 (file)
index 0000000..a9127c9
--- /dev/null
@@ -0,0 +1,41 @@
+From 74543b303a9abfe4fa253d1fa215281baa05ff3a Mon Sep 17 00:00:00 2001
+From: Eugen Hristev <eugen.hristev@collabora.com>
+Date: Mon, 14 Aug 2023 10:10:53 +0300
+Subject: arm64: dts: mediatek: mt8183-kukui-jacuzzi: fix dsi unnecessary cells properties
+
+From: Eugen Hristev <eugen.hristev@collabora.com>
+
+commit 74543b303a9abfe4fa253d1fa215281baa05ff3a upstream.
+
+dtbs_check throws a warning at the dsi node:
+Warning (avoid_unnecessary_addr_size): /soc/dsi@14014000: unnecessary #address-cells/#size-cells without "ranges" or child "reg" property
+
+Other DTS have a panel child node with a reg, so the parent dtsi
+must have the address-cells and size-cells, however this specific DT
+has the panel removed, but not the cells, hence the warning above.
+
+If panel is deleted then the cells must also be deleted since they are
+tied together, as the child node in this DT does not have a reg.
+
+Cc: stable@vger.kernel.org
+Fixes: cabc71b08eb5 ("arm64: dts: mt8183: Add kukui-jacuzzi-damu board")
+Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
+Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+Link: https://lore.kernel.org/r/20230814071053.5459-1-eugen.hristev@collabora.com
+Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi
++++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi
+@@ -101,6 +101,8 @@
+ &dsi0 {
+       status = "okay";
++      /delete-property/#size-cells;
++      /delete-property/#address-cells;
+       /delete-node/panel@0;
+       ports {
+               port {
diff --git a/queue-6.1/arm64-dts-mediatek-mt8183-move-thermal-zones-to-the-root-node.patch b/queue-6.1/arm64-dts-mediatek-mt8183-move-thermal-zones-to-the-root-node.patch
new file mode 100644 (file)
index 0000000..0bb001a
--- /dev/null
@@ -0,0 +1,277 @@
+From 5a60d63439694590cd5ab1f998fc917ff7ba1c1d Mon Sep 17 00:00:00 2001
+From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+Date: Wed, 25 Oct 2023 11:38:16 +0200
+Subject: arm64: dts: mediatek: mt8183: Move thermal-zones to the root node
+
+From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+
+commit 5a60d63439694590cd5ab1f998fc917ff7ba1c1d upstream.
+
+The thermal zones are not a soc bus device: move it to the root
+node to solve simple_bus_reg warnings.
+
+Cc: stable@vger.kernel.org
+Fixes: b325ce39785b ("arm64: dts: mt8183: add thermal zone node")
+Link: https://lore.kernel.org/r/20231025093816.44327-9-angelogioacchino.delregno@collabora.com
+Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm64/boot/dts/mediatek/mt8183.dtsi |  242 +++++++++++++++----------------
+ 1 file changed, 121 insertions(+), 121 deletions(-)
+
+--- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
++++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
+@@ -1136,127 +1136,6 @@
+                       nvmem-cell-names = "calibration-data";
+               };
+-              thermal_zones: thermal-zones {
+-                      cpu_thermal: cpu-thermal {
+-                              polling-delay-passive = <100>;
+-                              polling-delay = <500>;
+-                              thermal-sensors = <&thermal 0>;
+-                              sustainable-power = <5000>;
+-
+-                              trips {
+-                                      threshold: trip-point0 {
+-                                              temperature = <68000>;
+-                                              hysteresis = <2000>;
+-                                              type = "passive";
+-                                      };
+-
+-                                      target: trip-point1 {
+-                                              temperature = <80000>;
+-                                              hysteresis = <2000>;
+-                                              type = "passive";
+-                                      };
+-
+-                                      cpu_crit: cpu-crit {
+-                                              temperature = <115000>;
+-                                              hysteresis = <2000>;
+-                                              type = "critical";
+-                                      };
+-                              };
+-
+-                              cooling-maps {
+-                                      map0 {
+-                                              trip = <&target>;
+-                                              cooling-device = <&cpu0
+-                                                      THERMAL_NO_LIMIT
+-                                                      THERMAL_NO_LIMIT>,
+-                                                               <&cpu1
+-                                                      THERMAL_NO_LIMIT
+-                                                      THERMAL_NO_LIMIT>,
+-                                                               <&cpu2
+-                                                      THERMAL_NO_LIMIT
+-                                                      THERMAL_NO_LIMIT>,
+-                                                               <&cpu3
+-                                                      THERMAL_NO_LIMIT
+-                                                      THERMAL_NO_LIMIT>;
+-                                              contribution = <3072>;
+-                                      };
+-                                      map1 {
+-                                              trip = <&target>;
+-                                              cooling-device = <&cpu4
+-                                                      THERMAL_NO_LIMIT
+-                                                      THERMAL_NO_LIMIT>,
+-                                                               <&cpu5
+-                                                      THERMAL_NO_LIMIT
+-                                                      THERMAL_NO_LIMIT>,
+-                                                               <&cpu6
+-                                                      THERMAL_NO_LIMIT
+-                                                      THERMAL_NO_LIMIT>,
+-                                                               <&cpu7
+-                                                      THERMAL_NO_LIMIT
+-                                                      THERMAL_NO_LIMIT>;
+-                                              contribution = <1024>;
+-                                      };
+-                              };
+-                      };
+-
+-                      /* The tzts1 ~ tzts6 don't need to polling */
+-                      /* The tzts1 ~ tzts6 don't need to thermal throttle */
+-
+-                      tzts1: tzts1 {
+-                              polling-delay-passive = <0>;
+-                              polling-delay = <0>;
+-                              thermal-sensors = <&thermal 1>;
+-                              sustainable-power = <5000>;
+-                              trips {};
+-                              cooling-maps {};
+-                      };
+-
+-                      tzts2: tzts2 {
+-                              polling-delay-passive = <0>;
+-                              polling-delay = <0>;
+-                              thermal-sensors = <&thermal 2>;
+-                              sustainable-power = <5000>;
+-                              trips {};
+-                              cooling-maps {};
+-                      };
+-
+-                      tzts3: tzts3 {
+-                              polling-delay-passive = <0>;
+-                              polling-delay = <0>;
+-                              thermal-sensors = <&thermal 3>;
+-                              sustainable-power = <5000>;
+-                              trips {};
+-                              cooling-maps {};
+-                      };
+-
+-                      tzts4: tzts4 {
+-                              polling-delay-passive = <0>;
+-                              polling-delay = <0>;
+-                              thermal-sensors = <&thermal 4>;
+-                              sustainable-power = <5000>;
+-                              trips {};
+-                              cooling-maps {};
+-                      };
+-
+-                      tzts5: tzts5 {
+-                              polling-delay-passive = <0>;
+-                              polling-delay = <0>;
+-                              thermal-sensors = <&thermal 5>;
+-                              sustainable-power = <5000>;
+-                              trips {};
+-                              cooling-maps {};
+-                      };
+-
+-                      tztsABB: tztsABB {
+-                              polling-delay-passive = <0>;
+-                              polling-delay = <0>;
+-                              thermal-sensors = <&thermal 6>;
+-                              sustainable-power = <5000>;
+-                              trips {};
+-                              cooling-maps {};
+-                      };
+-              };
+-
+               pwm0: pwm@1100e000 {
+                       compatible = "mediatek,mt8183-disp-pwm";
+                       reg = <0 0x1100e000 0 0x1000>;
+@@ -2031,4 +1910,125 @@
+                       power-domains = <&spm MT8183_POWER_DOMAIN_CAM>;
+               };
+       };
++
++      thermal_zones: thermal-zones {
++              cpu_thermal: cpu-thermal {
++                      polling-delay-passive = <100>;
++                      polling-delay = <500>;
++                      thermal-sensors = <&thermal 0>;
++                      sustainable-power = <5000>;
++
++                      trips {
++                              threshold: trip-point0 {
++                                      temperature = <68000>;
++                                      hysteresis = <2000>;
++                                      type = "passive";
++                              };
++
++                              target: trip-point1 {
++                                      temperature = <80000>;
++                                      hysteresis = <2000>;
++                                      type = "passive";
++                              };
++
++                              cpu_crit: cpu-crit {
++                                      temperature = <115000>;
++                                      hysteresis = <2000>;
++                                      type = "critical";
++                              };
++                      };
++
++                      cooling-maps {
++                              map0 {
++                                      trip = <&target>;
++                                      cooling-device = <&cpu0
++                                              THERMAL_NO_LIMIT
++                                              THERMAL_NO_LIMIT>,
++                                                       <&cpu1
++                                              THERMAL_NO_LIMIT
++                                              THERMAL_NO_LIMIT>,
++                                                       <&cpu2
++                                              THERMAL_NO_LIMIT
++                                              THERMAL_NO_LIMIT>,
++                                                       <&cpu3
++                                              THERMAL_NO_LIMIT
++                                              THERMAL_NO_LIMIT>;
++                                      contribution = <3072>;
++                              };
++                              map1 {
++                                      trip = <&target>;
++                                      cooling-device = <&cpu4
++                                              THERMAL_NO_LIMIT
++                                              THERMAL_NO_LIMIT>,
++                                                       <&cpu5
++                                              THERMAL_NO_LIMIT
++                                              THERMAL_NO_LIMIT>,
++                                                       <&cpu6
++                                              THERMAL_NO_LIMIT
++                                              THERMAL_NO_LIMIT>,
++                                                       <&cpu7
++                                              THERMAL_NO_LIMIT
++                                              THERMAL_NO_LIMIT>;
++                                      contribution = <1024>;
++                              };
++                      };
++              };
++
++              /* The tzts1 ~ tzts6 don't need to polling */
++              /* The tzts1 ~ tzts6 don't need to thermal throttle */
++
++              tzts1: tzts1 {
++                      polling-delay-passive = <0>;
++                      polling-delay = <0>;
++                      thermal-sensors = <&thermal 1>;
++                      sustainable-power = <5000>;
++                      trips {};
++                      cooling-maps {};
++              };
++
++              tzts2: tzts2 {
++                      polling-delay-passive = <0>;
++                      polling-delay = <0>;
++                      thermal-sensors = <&thermal 2>;
++                      sustainable-power = <5000>;
++                      trips {};
++                      cooling-maps {};
++              };
++
++              tzts3: tzts3 {
++                      polling-delay-passive = <0>;
++                      polling-delay = <0>;
++                      thermal-sensors = <&thermal 3>;
++                      sustainable-power = <5000>;
++                      trips {};
++                      cooling-maps {};
++              };
++
++              tzts4: tzts4 {
++                      polling-delay-passive = <0>;
++                      polling-delay = <0>;
++                      thermal-sensors = <&thermal 4>;
++                      sustainable-power = <5000>;
++                      trips {};
++                      cooling-maps {};
++              };
++
++              tzts5: tzts5 {
++                      polling-delay-passive = <0>;
++                      polling-delay = <0>;
++                      thermal-sensors = <&thermal 5>;
++                      sustainable-power = <5000>;
++                      trips {};
++                      cooling-maps {};
++              };
++
++              tztsABB: tztsABB {
++                      polling-delay-passive = <0>;
++                      polling-delay = <0>;
++                      thermal-sensors = <&thermal 6>;
++                      sustainable-power = <5000>;
++                      trips {};
++                      cooling-maps {};
++              };
++      };
+ };
diff --git a/queue-6.1/arm64-dts-mediatek-mt8195-fix-pm-suspend-resume-with-venc-clocks.patch b/queue-6.1/arm64-dts-mediatek-mt8195-fix-pm-suspend-resume-with-venc-clocks.patch
new file mode 100644 (file)
index 0000000..2eafbb7
--- /dev/null
@@ -0,0 +1,63 @@
+From 61b94d54421a1f3670ddd5396ec70afe833e9405 Mon Sep 17 00:00:00 2001
+From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+Date: Thu, 6 Jul 2023 11:58:41 +0200
+Subject: arm64: dts: mediatek: mt8195: Fix PM suspend/resume with venc clocks
+
+From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+
+commit 61b94d54421a1f3670ddd5396ec70afe833e9405 upstream.
+
+Before suspending the LARBs we're making sure that any operation is
+done: this never happens because we are unexpectedly unclocking the
+LARB20 before executing the suspend handler for the MediaTek Smart
+Multimedia Interface (SMI) and the cause of this is incorrect clocks
+on this LARB.
+
+Fix this issue by changing the Local Arbiter 20 (used by the video
+encoder secondary core) apb clock to CLK_VENC_CORE1_VENC;
+furthermore, in order to make sure that both the PM resume and video
+encoder operation is stable, add the CLK_VENC(_CORE1)_LARB clock to
+the VENC (main core) and VENC_CORE1 power domains, as this IP cannot
+communicate with the rest of the system (the AP) without local
+arbiter clocks being operational.
+
+Cc: stable@vger.kernel.org
+Fixes: 3b5838d1d82e ("arm64: dts: mt8195: Add iommu and smi nodes")
+Fixes: 2b515194bf0c ("arm64: dts: mt8195: Add power domains controller")
+Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
+Link: https://lore.kernel.org/r/20230706095841.109315-1-angelogioacchino.delregno@collabora.com
+Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm64/boot/dts/mediatek/mt8195.dtsi |    6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/arch/arm64/boot/dts/mediatek/mt8195.dtsi
++++ b/arch/arm64/boot/dts/mediatek/mt8195.dtsi
+@@ -471,6 +471,8 @@
+                                       power-domain@MT8195_POWER_DOMAIN_VENC_CORE1 {
+                                               reg = <MT8195_POWER_DOMAIN_VENC_CORE1>;
++                                              clocks = <&vencsys_core1 CLK_VENC_CORE1_LARB>;
++                                              clock-names = "venc1-larb";
+                                               mediatek,infracfg = <&infracfg_ao>;
+                                               #power-domain-cells = <0>;
+                                       };
+@@ -533,6 +535,8 @@
+                                               power-domain@MT8195_POWER_DOMAIN_VENC {
+                                                       reg = <MT8195_POWER_DOMAIN_VENC>;
++                                                      clocks = <&vencsys CLK_VENC_LARB>;
++                                                      clock-names = "venc0-larb";
+                                                       mediatek,infracfg = <&infracfg_ao>;
+                                                       #power-domain-cells = <0>;
+                                               };
+@@ -1985,7 +1989,7 @@
+                       reg = <0 0x1b010000 0 0x1000>;
+                       mediatek,larb-id = <20>;
+                       mediatek,smi = <&smi_common_vpp>;
+-                      clocks = <&vencsys_core1 CLK_VENC_CORE1_LARB>,
++                      clocks = <&vencsys_core1 CLK_VENC_CORE1_VENC>,
+                                <&vencsys_core1 CLK_VENC_CORE1_GALS>,
+                                <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>;
+                       clock-names = "apb", "smi", "gals";
diff --git a/queue-6.1/md-raid6-use-valid-sector-values-to-determine-if-an-i-o-should-wait-on-the-reshape.patch b/queue-6.1/md-raid6-use-valid-sector-values-to-determine-if-an-i-o-should-wait-on-the-reshape.patch
new file mode 100644 (file)
index 0000000..946c212
--- /dev/null
@@ -0,0 +1,55 @@
+From c467e97f079f0019870c314996fae952cc768e82 Mon Sep 17 00:00:00 2001
+From: David Jeffery <djeffery@redhat.com>
+Date: Tue, 28 Nov 2023 13:11:39 -0500
+Subject: md/raid6: use valid sector values to determine if an I/O should wait on the reshape
+
+From: David Jeffery <djeffery@redhat.com>
+
+commit c467e97f079f0019870c314996fae952cc768e82 upstream.
+
+During a reshape or a RAID6 array such as expanding by adding an additional
+disk, I/Os to the region of the array which have not yet been reshaped can
+stall indefinitely. This is from errors in the stripe_ahead_of_reshape
+function causing md to think the I/O is to a region in the actively
+undergoing the reshape.
+
+stripe_ahead_of_reshape fails to account for the q disk having a sector
+value of 0. By not excluding the q disk from the for loop, raid6 will always
+generate a min_sector value of 0, causing a return value which stalls.
+
+The function's max_sector calculation also uses min() when it should use
+max(), causing the max_sector value to always be 0. During a backwards
+rebuild this can cause the opposite problem where it allows I/O to advance
+when it should wait.
+
+Fixing these errors will allow safe I/O to advance in a timely manner and
+delay only I/O which is unsafe due to stripes in the middle of undergoing
+the reshape.
+
+Fixes: 486f60558607 ("md/raid5: Check all disks in a stripe_head for reshape progress")
+Cc: stable@vger.kernel.org # v6.0+
+Signed-off-by: David Jeffery <djeffery@redhat.com>
+Tested-by: Laurence Oberman <loberman@redhat.com>
+Signed-off-by: Song Liu <song@kernel.org>
+Link: https://lore.kernel.org/r/20231128181233.6187-1-djeffery@redhat.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/md/raid5.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/md/raid5.c
++++ b/drivers/md/raid5.c
+@@ -5905,11 +5905,11 @@ static bool stripe_ahead_of_reshape(stru
+       int dd_idx;
+       for (dd_idx = 0; dd_idx < sh->disks; dd_idx++) {
+-              if (dd_idx == sh->pd_idx)
++              if (dd_idx == sh->pd_idx || dd_idx == sh->qd_idx)
+                       continue;
+               min_sector = min(min_sector, sh->dev[dd_idx].sector);
+-              max_sector = min(max_sector, sh->dev[dd_idx].sector);
++              max_sector = max(max_sector, sh->dev[dd_idx].sector);
+       }
+       spin_lock_irq(&conf->device_lock);
diff --git a/queue-6.1/powercap-dtpm-fix-missing-cpufreq_cpu_put-calls.patch b/queue-6.1/powercap-dtpm-fix-missing-cpufreq_cpu_put-calls.patch
new file mode 100644 (file)
index 0000000..1b6f1d3
--- /dev/null
@@ -0,0 +1,74 @@
+From bdefd9913bdd453991ef756b6f7176e8ad80d786 Mon Sep 17 00:00:00 2001
+From: Lukasz Luba <lukasz.luba@arm.com>
+Date: Fri, 1 Dec 2023 12:32:05 +0000
+Subject: powercap: DTPM: Fix missing cpufreq_cpu_put() calls
+
+From: Lukasz Luba <lukasz.luba@arm.com>
+
+commit bdefd9913bdd453991ef756b6f7176e8ad80d786 upstream.
+
+The policy returned by cpufreq_cpu_get() has to be released with
+the help of cpufreq_cpu_put() to balance its kobject reference counter
+properly.
+
+Add the missing calls to cpufreq_cpu_put() in the code.
+
+Fixes: 0aea2e4ec2a2 ("powercap/dtpm_cpu: Reset per_cpu variable in the release function")
+Fixes: 0e8f68d7f048 ("powercap/drivers/dtpm: Add CPU energy model based support")
+Cc: v5.16+ <stable@vger.kernel.org> # v5.16+
+Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
+Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/powercap/dtpm_cpu.c |   17 +++++++++++++----
+ 1 file changed, 13 insertions(+), 4 deletions(-)
+
+--- a/drivers/powercap/dtpm_cpu.c
++++ b/drivers/powercap/dtpm_cpu.c
+@@ -140,6 +140,8 @@ static void pd_release(struct dtpm *dtpm
+       if (policy) {
+               for_each_cpu(dtpm_cpu->cpu, policy->related_cpus)
+                       per_cpu(dtpm_per_cpu, dtpm_cpu->cpu) = NULL;
++
++              cpufreq_cpu_put(policy);
+       }
+       
+       kfree(dtpm_cpu);
+@@ -191,12 +193,16 @@ static int __dtpm_cpu_setup(int cpu, str
+               return 0;
+       pd = em_cpu_get(cpu);
+-      if (!pd || em_is_artificial(pd))
+-              return -EINVAL;
++      if (!pd || em_is_artificial(pd)) {
++              ret = -EINVAL;
++              goto release_policy;
++      }
+       dtpm_cpu = kzalloc(sizeof(*dtpm_cpu), GFP_KERNEL);
+-      if (!dtpm_cpu)
+-              return -ENOMEM;
++      if (!dtpm_cpu) {
++              ret = -ENOMEM;
++              goto release_policy;
++      }
+       dtpm_init(&dtpm_cpu->dtpm, &dtpm_ops);
+       dtpm_cpu->cpu = cpu;
+@@ -216,6 +222,7 @@ static int __dtpm_cpu_setup(int cpu, str
+       if (ret)
+               goto out_dtpm_unregister;
++      cpufreq_cpu_put(policy);
+       return 0;
+ out_dtpm_unregister:
+@@ -227,6 +234,8 @@ out_kfree_dtpm_cpu:
+               per_cpu(dtpm_per_cpu, cpu) = NULL;
+       kfree(dtpm_cpu);
++release_policy:
++      cpufreq_cpu_put(policy);
+       return ret;
+ }
index cf26fc5403a2771848afe60920c9553a9127d5c2..1b9113bae084834d92cc782222799163aee6679a 100644 (file)
@@ -123,3 +123,13 @@ regmap-fix-bogus-error-on-regcache_sync-success.patch
 platform-surface-aggregator-fix-recv_buf-return-value.patch
 hugetlb-fix-null-ptr-deref-in-hugetlb_vma_lock_write.patch
 mm-fix-oops-when-filemap_map_pmd-without-prealloc_pte.patch
+powercap-dtpm-fix-missing-cpufreq_cpu_put-calls.patch
+md-raid6-use-valid-sector-values-to-determine-if-an-i-o-should-wait-on-the-reshape.patch
+arm64-dts-mediatek-mt7622-fix-memory-node-warning-check.patch
+arm64-dts-mediatek-mt8183-kukui-jacuzzi-fix-dsi-unnecessary-cells-properties.patch
+arm64-dts-mediatek-cherry-fix-interrupt-cells-for-mt6360-on-i2c7.patch
+arm64-dts-mediatek-mt8173-evb-fix-regulator-fixed-node-names.patch
+arm64-dts-mediatek-mt8195-fix-pm-suspend-resume-with-venc-clocks.patch
+arm64-dts-mediatek-mt8183-fix-unit-address-for-scp-reserved-memory.patch
+arm64-dts-mediatek-mt8183-move-thermal-zones-to-the-root-node.patch
+arm64-dts-mediatek-mt8183-evb-fix-unit_address_vs_reg-warning-on-ntc.patch