From 204ee24f14d5b8f781909793d575702a3302e845 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sat, 9 Dec 2023 13:51:44 +0100 Subject: [PATCH] 6.1-stable patches 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 --- ...x-interrupt-cells-for-mt6360-on-i2c7.patch | 31 ++ ...mt7622-fix-memory-node-warning-check.patch | 48 +++ ...3-evb-fix-regulator-fixed-node-names.patch | 42 +++ ...x-unit_address_vs_reg-warning-on-ntc.patch | 34 +++ ...unit-address-for-scp-reserved-memory.patch | 45 +++ ...fix-dsi-unnecessary-cells-properties.patch | 41 +++ ...-move-thermal-zones-to-the-root-node.patch | 277 ++++++++++++++++++ ...x-pm-suspend-resume-with-venc-clocks.patch | 63 ++++ ...if-an-i-o-should-wait-on-the-reshape.patch | 55 ++++ ...pm-fix-missing-cpufreq_cpu_put-calls.patch | 74 +++++ queue-6.1/series | 10 + 11 files changed, 720 insertions(+) create mode 100644 queue-6.1/arm64-dts-mediatek-cherry-fix-interrupt-cells-for-mt6360-on-i2c7.patch create mode 100644 queue-6.1/arm64-dts-mediatek-mt7622-fix-memory-node-warning-check.patch create mode 100644 queue-6.1/arm64-dts-mediatek-mt8173-evb-fix-regulator-fixed-node-names.patch create mode 100644 queue-6.1/arm64-dts-mediatek-mt8183-evb-fix-unit_address_vs_reg-warning-on-ntc.patch create mode 100644 queue-6.1/arm64-dts-mediatek-mt8183-fix-unit-address-for-scp-reserved-memory.patch create mode 100644 queue-6.1/arm64-dts-mediatek-mt8183-kukui-jacuzzi-fix-dsi-unnecessary-cells-properties.patch create mode 100644 queue-6.1/arm64-dts-mediatek-mt8183-move-thermal-zones-to-the-root-node.patch create mode 100644 queue-6.1/arm64-dts-mediatek-mt8195-fix-pm-suspend-resume-with-venc-clocks.patch create mode 100644 queue-6.1/md-raid6-use-valid-sector-values-to-determine-if-an-i-o-should-wait-on-the-reshape.patch create mode 100644 queue-6.1/powercap-dtpm-fix-missing-cpufreq_cpu_put-calls.patch 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 index 00000000000..a2238121cfe --- /dev/null +++ b/queue-6.1/arm64-dts-mediatek-cherry-fix-interrupt-cells-for-mt6360-on-i2c7.patch @@ -0,0 +1,31 @@ +From 5943b8f7449df9881b273db07bdde1e7120dccf0 Mon Sep 17 00:00:00 2001 +From: AngeloGioacchino Del Regno +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 + +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 +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..f9e1975230c --- /dev/null +++ b/queue-6.1/arm64-dts-mediatek-mt7622-fix-memory-node-warning-check.patch @@ -0,0 +1,48 @@ +From 8e6ecbfd44b5542a7598c1c5fc9c6dcb5d367f2a Mon Sep 17 00:00:00 2001 +From: Eugen Hristev +Date: Mon, 14 Aug 2023 09:50:42 +0300 +Subject: arm64: dts: mediatek: mt7622: fix memory node warning check + +From: Eugen Hristev + +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 +Reviewed-by: AngeloGioacchino Del Regno +Link: https://lore.kernel.org/r/20230814065042.4973-1-eugen.hristev@collabora.com +Signed-off-by: AngeloGioacchino Del Regno +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..df66a0b22e9 --- /dev/null +++ b/queue-6.1/arm64-dts-mediatek-mt8173-evb-fix-regulator-fixed-node-names.patch @@ -0,0 +1,42 @@ +From 24165c5dad7ba7c7624d05575a5e0cc851396c71 Mon Sep 17 00:00:00 2001 +From: AngeloGioacchino Del Regno +Date: Wed, 25 Oct 2023 11:38:15 +0200 +Subject: arm64: dts: mediatek: mt8173-evb: Fix regulator-fixed node names + +From: AngeloGioacchino Del Regno + +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 +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..e88be823742 --- /dev/null +++ b/queue-6.1/arm64-dts-mediatek-mt8183-evb-fix-unit_address_vs_reg-warning-on-ntc.patch @@ -0,0 +1,34 @@ +From 9dea1c724fc36643e83216c1f5a26613412150db Mon Sep 17 00:00:00 2001 +From: AngeloGioacchino Del Regno +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 + +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 +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..fc5c7e1a5bb --- /dev/null +++ b/queue-6.1/arm64-dts-mediatek-mt8183-fix-unit-address-for-scp-reserved-memory.patch @@ -0,0 +1,45 @@ +From 19cba9a6c071db57888dc6b2ec1d9bf8996ea681 Mon Sep 17 00:00:00 2001 +From: AngeloGioacchino Del Regno +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 + +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 +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..a9127c9f188 --- /dev/null +++ b/queue-6.1/arm64-dts-mediatek-mt8183-kukui-jacuzzi-fix-dsi-unnecessary-cells-properties.patch @@ -0,0 +1,41 @@ +From 74543b303a9abfe4fa253d1fa215281baa05ff3a Mon Sep 17 00:00:00 2001 +From: Eugen Hristev +Date: Mon, 14 Aug 2023 10:10:53 +0300 +Subject: arm64: dts: mediatek: mt8183-kukui-jacuzzi: fix dsi unnecessary cells properties + +From: Eugen Hristev + +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 +Reviewed-by: AngeloGioacchino Del Regno +Link: https://lore.kernel.org/r/20230814071053.5459-1-eugen.hristev@collabora.com +Signed-off-by: AngeloGioacchino Del Regno +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..0bb001a1467 --- /dev/null +++ b/queue-6.1/arm64-dts-mediatek-mt8183-move-thermal-zones-to-the-root-node.patch @@ -0,0 +1,277 @@ +From 5a60d63439694590cd5ab1f998fc917ff7ba1c1d Mon Sep 17 00:00:00 2001 +From: AngeloGioacchino Del Regno +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 + +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 +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..2eafbb77e0d --- /dev/null +++ b/queue-6.1/arm64-dts-mediatek-mt8195-fix-pm-suspend-resume-with-venc-clocks.patch @@ -0,0 +1,63 @@ +From 61b94d54421a1f3670ddd5396ec70afe833e9405 Mon Sep 17 00:00:00 2001 +From: AngeloGioacchino Del Regno +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 + +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 +Link: https://lore.kernel.org/r/20230706095841.109315-1-angelogioacchino.delregno@collabora.com +Signed-off-by: AngeloGioacchino Del Regno +Signed-off-by: Greg Kroah-Hartman +--- + 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 = ; ++ 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 = ; ++ 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 index 00000000000..946c2126b18 --- /dev/null +++ b/queue-6.1/md-raid6-use-valid-sector-values-to-determine-if-an-i-o-should-wait-on-the-reshape.patch @@ -0,0 +1,55 @@ +From c467e97f079f0019870c314996fae952cc768e82 Mon Sep 17 00:00:00 2001 +From: David Jeffery +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 + +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 +Tested-by: Laurence Oberman +Signed-off-by: Song Liu +Link: https://lore.kernel.org/r/20231128181233.6187-1-djeffery@redhat.com +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..1b6f1d39504 --- /dev/null +++ b/queue-6.1/powercap-dtpm-fix-missing-cpufreq_cpu_put-calls.patch @@ -0,0 +1,74 @@ +From bdefd9913bdd453991ef756b6f7176e8ad80d786 Mon Sep 17 00:00:00 2001 +From: Lukasz Luba +Date: Fri, 1 Dec 2023 12:32:05 +0000 +Subject: powercap: DTPM: Fix missing cpufreq_cpu_put() calls + +From: Lukasz Luba + +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+ # v5.16+ +Signed-off-by: Lukasz Luba +Signed-off-by: Rafael J. Wysocki +Signed-off-by: Greg Kroah-Hartman +--- + 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; + } + diff --git a/queue-6.1/series b/queue-6.1/series index cf26fc5403a..1b9113bae08 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -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 -- 2.47.3