rockchip64-6.18: update patches
This commit is contained in:
parent
4967fd506f
commit
e5080ec2cb
@ -1,48 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
Date: Sat, 25 Sep 2021 15:26:41 +0000
|
||||
Subject: gpu operating points
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 25 ++++++++++
|
||||
1 file changed, 25 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
||||
@@ -713,6 +713,31 @@ gpu: gpu@ff300000 {
|
||||
clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>;
|
||||
clock-names = "bus", "core";
|
||||
resets = <&cru SRST_GPU_A>;
|
||||
+ operating-points-v2 = <&gpu_opp_table>;
|
||||
+ };
|
||||
+
|
||||
+ gpu_opp_table: gpu-opp-table {
|
||||
+ compatible = "operating-points-v2";
|
||||
+
|
||||
+ opp-200000000 {
|
||||
+ opp-hz = /bits/ 64 <200000000>;
|
||||
+ opp-microvolt = <1050000 950000 1200000>;
|
||||
+ };
|
||||
+
|
||||
+ opp-300000000 {
|
||||
+ opp-hz = /bits/ 64 <300000000>;
|
||||
+ opp-microvolt = <1050000 950000 1200000>;
|
||||
+ };
|
||||
+
|
||||
+ opp-400000000 {
|
||||
+ opp-hz = /bits/ 64 <400000000>;
|
||||
+ opp-microvolt = <1050000 950000 1200000>;
|
||||
+ };
|
||||
+
|
||||
+ opp-500000000 {
|
||||
+ opp-hz = /bits/ 64 <500000000>;
|
||||
+ opp-microvolt = <1150000 950000 1200000>;
|
||||
+ };
|
||||
};
|
||||
|
||||
h265e_mmu: iommu@ff330200 {
|
||||
--
|
||||
Armbian
|
||||
|
||||
@ -1,37 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: tonymac32 <tonymckahan@gmail.com>
|
||||
Date: Wed, 4 Aug 2021 00:14:33 -0400
|
||||
Subject: rk3328-gpu-cooling-target
|
||||
|
||||
Signed-off-by: tonymac32 <tonymckahan@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
||||
@@ -594,6 +594,11 @@ map0 {
|
||||
<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
contribution = <4096>;
|
||||
};
|
||||
+ map1 {
|
||||
+ trip = <&target>;
|
||||
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
+ contribution = <4096>;
|
||||
+ };
|
||||
};
|
||||
};
|
||||
|
||||
@@ -739,6 +744,7 @@ gpu: gpu@ff300000 {
|
||||
power-domains = <&power RK3328_PD_GPU>;
|
||||
resets = <&cru SRST_GPU_A>;
|
||||
operating-points-v2 = <&gpu_opp_table>;
|
||||
+ #cooling-cells = <2>;
|
||||
};
|
||||
|
||||
gpu_opp_table: gpu-opp-table {
|
||||
--
|
||||
Armbian
|
||||
|
||||
@ -11,7 +11,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts b/arch/arm64/boot/dt
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts
|
||||
@@ -1,109 +1,517 @@
|
||||
@@ -1,105 +1,512 @@
|
||||
-// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
-// Copyright (c) 2021 T-Chip Intelligent Technology Co., Ltd
|
||||
+/*
|
||||
@ -218,11 +218,6 @@ index 111111111111..222222222222 100644
|
||||
+ cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
&gpu {
|
||||
+ status = "okay";
|
||||
mali-supply = <&vdd_logic>;
|
||||
};
|
||||
|
||||
-&pinctrl {
|
||||
- ir {
|
||||
- ir_int: ir-int {
|
||||
@ -23,7 +23,6 @@
|
||||
};
|
||||
|
||||
/delete-node/ opp-table-0;
|
||||
/delete-node/ gpu-opp-table;
|
||||
|
||||
cpu0_opp_table: opp_table0 {
|
||||
compatible = "operating-points-v2";
|
||||
@ -59,30 +58,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
gpu_opp_table: gpu-opp-table {
|
||||
compatible = "operating-points-v2";
|
||||
|
||||
opp-200000000 {
|
||||
opp-hz = /bits/ 64 <200000000>;
|
||||
opp-microvolt = <1000000 950000 1200000>;
|
||||
};
|
||||
|
||||
opp-300000000 {
|
||||
opp-hz = /bits/ 64 <300000000>;
|
||||
opp-microvolt = <1050000 950000 1200000>;
|
||||
};
|
||||
|
||||
opp-400000000 {
|
||||
opp-hz = /bits/ 64 <400000000>;
|
||||
opp-microvolt = <1050000 950000 1200000>;
|
||||
};
|
||||
|
||||
opp-500000000 {
|
||||
opp-hz = /bits/ 64 <500000000>;
|
||||
opp-microvolt = <1100000 950000 1200000>;
|
||||
};
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial2:1500000n8";
|
||||
};
|
||||
@ -126,7 +126,6 @@
|
||||
};
|
||||
|
||||
/delete-node/ opp-table-0;
|
||||
/delete-node/ gpu-opp-table;
|
||||
|
||||
cpu0_opp_table: opp_table0 {
|
||||
compatible = "operating-points-v2";
|
||||
@ -160,30 +159,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
gpu_opp_table: gpu-opp-table {
|
||||
compatible = "operating-points-v2";
|
||||
|
||||
opp-200000000 {
|
||||
opp-hz = /bits/ 64 <200000000>;
|
||||
opp-microvolt = <1000000 950000 1200000>;
|
||||
};
|
||||
|
||||
opp-300000000 {
|
||||
opp-hz = /bits/ 64 <300000000>;
|
||||
opp-microvolt = <1050000 950000 1200000>;
|
||||
};
|
||||
|
||||
opp-400000000 {
|
||||
opp-hz = /bits/ 64 <400000000>;
|
||||
opp-microvolt = <1050000 950000 1200000>;
|
||||
};
|
||||
|
||||
opp-500000000 {
|
||||
opp-hz = /bits/ 64 <500000000>;
|
||||
opp-microvolt = <1100000 950000 1200000>;
|
||||
};
|
||||
};
|
||||
|
||||
sdio_pwrseq: sdio-pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
pinctrl-names = "default";
|
||||
@ -1,98 +1,3 @@
|
||||
From 80cbedd730c85b852ab68ebff40b520b339d9d3c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Lessard?= <jefflessard3@gmail.com>
|
||||
Date: Mon, 1 Sep 2025 12:16:39 -0400
|
||||
Subject: [PATCH 01/14] device property: Add scoped fwnode child node iterators
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Add scoped versions of fwnode child node iterators that automatically
|
||||
handle reference counting cleanup using the __free() attribute:
|
||||
|
||||
- fwnode_for_each_child_node_scoped()
|
||||
- fwnode_for_each_available_child_node_scoped()
|
||||
|
||||
These macros follow the same pattern as existing scoped iterators in the
|
||||
kernel, ensuring fwnode references are automatically released when the
|
||||
iterator variable goes out of scope. This prevents resource leaks and
|
||||
eliminates the need for manual cleanup in error paths.
|
||||
|
||||
The implementation mirrors the non-scoped variants but uses
|
||||
__free(fwnode_handle) for automatic resource management, providing a
|
||||
safer and more convenient interface for drivers iterating over firmware
|
||||
node children.
|
||||
|
||||
Signed-off-by: Jean-François Lessard <jefflessard3@gmail.com>
|
||||
---
|
||||
include/linux/property.h | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/include/linux/property.h b/include/linux/property.h
|
||||
index 82f0cb3ab..862e20813 100644
|
||||
--- a/include/linux/property.h
|
||||
+++ b/include/linux/property.h
|
||||
@@ -176,6 +176,16 @@ struct fwnode_handle *fwnode_get_next_available_child_node(
|
||||
for (child = fwnode_get_next_available_child_node(fwnode, NULL); child;\
|
||||
child = fwnode_get_next_available_child_node(fwnode, child))
|
||||
|
||||
+#define fwnode_for_each_child_node_scoped(fwnode, child) \
|
||||
+ for (struct fwnode_handle *child __free(fwnode_handle) = \
|
||||
+ fwnode_get_next_child_node(fwnode, NULL); \
|
||||
+ child; child = fwnode_get_next_child_node(fwnode, child))
|
||||
+
|
||||
+#define fwnode_for_each_available_child_node_scoped(fwnode, child) \
|
||||
+ for (struct fwnode_handle *child __free(fwnode_handle) = \
|
||||
+ fwnode_get_next_available_child_node(fwnode, NULL); \
|
||||
+ child; child = fwnode_get_next_available_child_node(fwnode, child))
|
||||
+
|
||||
struct fwnode_handle *device_get_next_child_node(const struct device *dev,
|
||||
struct fwnode_handle *child);
|
||||
|
||||
--
|
||||
2.43.0
|
||||
|
||||
|
||||
From 57483ceb601c6e5ae5e29b915b71ef6e546cb256 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Lessard?= <jefflessard3@gmail.com>
|
||||
Date: Mon, 1 Sep 2025 12:18:40 -0400
|
||||
Subject: [PATCH 02/14] i2c: core: Use fwnode_for_each_child_node_scoped()
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Replace the manual __free(fwnode_handle) iterator declaration with the
|
||||
new scoped iterator macro for cleaner, less error-prone code.
|
||||
|
||||
This eliminates the need for explicit iterator variable declaration with
|
||||
the cleanup attribute, making the code more consistent with other scoped
|
||||
iterator usage patterns in the kernel.
|
||||
|
||||
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
|
||||
Signed-off-by: Jean-François Lessard <jefflessard3@gmail.com>
|
||||
---
|
||||
drivers/i2c/i2c-core-slave.c | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/i2c/i2c-core-slave.c b/drivers/i2c/i2c-core-slave.c
|
||||
index 7ee6b992b..02ca55c22 100644
|
||||
--- a/drivers/i2c/i2c-core-slave.c
|
||||
+++ b/drivers/i2c/i2c-core-slave.c
|
||||
@@ -112,10 +112,9 @@ bool i2c_detect_slave_mode(struct device *dev)
|
||||
struct fwnode_handle *fwnode = dev_fwnode(dev);
|
||||
|
||||
if (is_of_node(fwnode)) {
|
||||
- struct fwnode_handle *child __free(fwnode_handle) = NULL;
|
||||
u32 reg;
|
||||
|
||||
- fwnode_for_each_child_node(fwnode, child) {
|
||||
+ fwnode_for_each_child_node_scoped(fwnode, child) {
|
||||
fwnode_property_read_u32(child, "reg", ®);
|
||||
if (reg & I2C_OWN_SLAVE_ADDRESS)
|
||||
return true;
|
||||
--
|
||||
2.43.0
|
||||
|
||||
|
||||
From 912e1aadb342a09838069e81dfeee8d9fa15ae68 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Lessard?= <jefflessard3@gmail.com>
|
||||
Date: Sun, 31 Aug 2025 00:23:51 -0400
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user