Skip to contentSkip to conversation

ARM: tegra: venice2: add GK20A GPU DT node

PATCH In review Alexandre Courbot 4 participants 8 messages Oct 9, 2014 – Oct 10, 2014

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/2 ARM: tegra: venice2: add GK20A GPU DT node

From: Thierry Reding <[email protected]>

Add the device-tree node for the GK20A GPU and leave it disabled by default. It is the responsability of the bootloader to enable it if the VPR registers have been programmed such as the GPU can operate.

---
 arch/arm/boot/dts/tegra124-venice2.dts | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
arch/arm/boot/dts/tegra124-venice2.dts +7 -1
index 13008858e967..cadaab74e649 100644
@@ -42,6 +42,12 @@
 		};
 	};
 
+	gpu@0,57000000 {
+		status = "disabled";
+
+		vdd-supply = <&vdd_gpu>;
+	};
+
 	pinmux: pinmux@0,70000868 {
 		pinctrl-names = "boot";
 		pinctrl-0 = <&pinmux_boot>;
@@ -734,7 +740,7 @@
 					regulator-always-on;
 				};
 
-				sd6 {
+				vdd_gpu: sd6 {
 					regulator-name = "+VDD_GPU_AP";
 					regulator-min-microvolt = <650000>;
 					regulator-max-microvolt = <1200000>;
Signature · 1 line
2.1.2
#1 lore raw

PATCH 2/2 ARM: tegra: jetson-tk1: add GK20A GPU DT node

Add the device-tree node for the GK20A GPU and leave it disabled by default. It is the responsability of the bootloader to enable it if the VPR registers have been programmed such as the GPU can operate.

---
 arch/arm/boot/dts/tegra124-jetson-tk1.dts | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
arch/arm/boot/dts/tegra124-jetson-tk1.dts +7 -1
index 029c9a021541..6f84c7e231a0 100644
@@ -50,6 +50,12 @@
 		};
 	};
 
+	gpu@0,57000000 {
+		status = "disabled";
+
+		vdd-supply = <&vdd_gpu>;
+	};
+
 	pinmux: pinmux@0,70000868 {
 		pinctrl-names = "boot";
 		pinctrl-0 = <&state_boot>;
@@ -1560,7 +1566,7 @@
 					regulator-always-on;
 				};
 
-				sd6 {
+				vdd_gpu: sd6 {
 					regulator-name = "+VDD_GPU_AP";
 					regulator-min-microvolt = <650000>;
 					regulator-max-microvolt = <1200000>;
Signature · 1 line
2.1.2
#2 lore raw
In reply to Alexandre Courbot
Quoted 11 lines · Alexandre Courbot

From: Thierry Reding <[email protected]>

Add the device-tree node for the GK20A GPU and leave it disabled by default. It is the responsability of the bootloader to enable it if the VPR registers have been programmed such as the GPU can operate.

---
 arch/arm/boot/dts/tegra124-venice2.dts | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Are you going to send the corresponding patches for U-Boot to update the status property if it's initialized VPR?

Thierry

#3 lore raw
Quoted 9 lines · Thierry Reding

* PGP Signed by an unknown key

Quoted 6 lines · Alexandre Courbot

From: Thierry Reding <[email protected]>

Add the device-tree node for the GK20A GPU and leave it disabled by default. It is the responsability of the bootloader to enable it if the VPR registers have been programmed such as the GPU can operate.

Quoted 8 lines
Quoted 5 lines
---
  arch/arm/boot/dts/tegra124-venice2.dts | 8 +++++++-
  1 file changed, 7 insertions(+), 1 deletion(-)

Are you going to send the corresponding patches for U-Boot to update the status property if it's initialized VPR?

Yes. But maybe I should wait until upstream Nouveau actually works properly for that? Right now it will probe successfully, but will crash as soon as the GPU is used because there still are memory coherency problems.

#4 lore raw
Quoted 16 lines · Alexandre Courbot
Quoted 15 lines · Thierry Reding

* PGP Signed by an unknown key

Quoted 11 lines · Alexandre Courbot

From: Thierry Reding <[email protected]>

Add the device-tree node for the GK20A GPU and leave it disabled by default. It is the responsability of the bootloader to enable it if the VPR registers have been programmed such as the GPU can operate.

---
 arch/arm/boot/dts/tegra124-venice2.dts | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
Quoted 6 lines
Quoted 2 lines

Are you going to send the corresponding patches for U-Boot to update the status property if it's initialized VPR?

Yes. But maybe I should wait until upstream Nouveau actually works properly for that? Right now it will probe successfully, but will crash as soon as the GPU is used because there still are memory coherency problems.

I think the same really goes for these patches. Applying these will make the node available to U-Boot, so technically some future U-Boot version could modify a kernel DTB and boot a version where nouveau didn't yet work out-of-the-box.

There's also still the issue about firmware loading and so on, so maybe holding off on applying these patches until gk20a is fully enabled is a good idea. Normally I guess this would be done by not adding the kernel driver until it's expected to be at least usable to some degree, but I guess it is a bit late for that now.

Thierry

#5 lore raw
Quoted 29 lines · Thierry Reding
Quoted 16 lines · Alexandre Courbot
Quoted 15 lines · Thierry Reding

* PGP Signed by an unknown key

Quoted 11 lines · Alexandre Courbot

From: Thierry Reding <[email protected]>

Add the device-tree node for the GK20A GPU and leave it disabled by default. It is the responsability of the bootloader to enable it if the VPR registers have been programmed such as the GPU can operate.

---
 arch/arm/boot/dts/tegra124-venice2.dts | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
Quoted 6 lines
Quoted 2 lines

Are you going to send the corresponding patches for U-Boot to update the status property if it's initialized VPR?

Yes. But maybe I should wait until upstream Nouveau actually works properly for that? Right now it will probe successfully, but will crash as soon as the GPU is used because there still are memory coherency problems.

I think the same really goes for these patches. Applying these will make the node available to U-Boot, so technically some future U-Boot version could modify a kernel DTB and boot a version where nouveau didn't yet work out-of-the-box.

Quoted 5 lines

There's also still the issue about firmware loading and so on, so maybe holding off on applying these patches until gk20a is fully enabled is a good idea. Normally I guess this would be done by not adding the kernel driver until it's expected to be at least usable to some degree, but I guess it is a bit late for that now.

I'm fine with that too. Dropping these patches fow now.

#6 lore raw
In reply to Alexandre Courbot

arch/arm/boot/dts/tegra124-venice2.dts line 46

Quoted 10 lines · Alexandre Courbot

From: Thierry Reding <[email protected]>

Add the device-tree node for the GK20A GPU and leave it disabled by default. It is the responsability of the bootloader to enable it if the VPR registers have been programmed such as the GPU can operate.

arch/arm/boot/dts/tegra124-venice2.dts +2 -0
 
+	gpu@0,57000000 {
+		status = "disabled";

status="disabled" usually goes into tegra124.dtsi. A board would only override status to "okay" if necessary, and include any board specific properties ...

arch/arm/boot/dts/tegra124-venice2.dts line 48

Quoted 1 line
arch/arm/boot/dts/tegra124-venice2.dts +1 -0
+		vdd-supply = <&vdd_gpu>;

... such as that.

#7 lore raw
Quoted 7 lines · Stephen Warren
Quoted 5 lines · Alexandre Courbot

From: Thierry Reding <[email protected]>

Add the device-tree node for the GK20A GPU and leave it disabled by default. It is the responsability of the bootloader to enable it if the VPR registers have been programmed such as the GPU can operate.

Quoted 8 lines

arch/arm/boot/dts/tegra124-venice2.dts line 46

Quoted 4 lines
arch/arm/boot/dts/tegra124-venice2.dts +2 -0
 
+	gpu@0,57000000 {
+		status = "disabled";

status="disabled" usually goes into tegra124.dtsi. A board would only override status to "okay" if necessary, and include any board specific properties ...

True. I guess this is somewhat redundant here since the .dtsi file already sets it to "disabled". Given how it is rather unusual for a board's DTS file to not enable a node I think there would be some advantage in keeping this explicitly to avoid confusion. Alternatively perhaps a comment in the DTS file about why this isn't enabled by default would be a good replacement.

Thierry