]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: dts: qcom: sc7180: add gpu_zap_shader label
authorDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Tue, 28 Oct 2025 21:00:05 +0000 (23:00 +0200)
committerBjorn Andersson <andersson@kernel.org>
Thu, 30 Oct 2025 18:43:10 +0000 (13:43 -0500)
Patching existing DT nodes based on full path is error prone and
generally not recommended. Add a generic zap-shader subnode to the GPU
node on SC7180, delete it on trogdor and IDP, two platforms which don't
use ZAP and patch it with the firmware-name on all other platforms by
using the label.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: David Heidelberg <david@ixit.cz>
Link: https://lore.kernel.org/r/20251028-dt-zap-shader-v1-6-7eccb823b986@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
arch/arm64/boot/dts/qcom/sc7180-el2.dtso
arch/arm64/boot/dts/qcom/sc7180-idp.dts
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
arch/arm64/boot/dts/qcom/sc7180.dtsi

index ad342d8b7508c543984f166300bea04b6d7de88f..1514da636269826ce3e87d8c23aad0e37430f57d 100644 (file)
@@ -31,7 +31,7 @@
        };
 
        reserved-memory {
-               zap_mem: zap-shader@80840000 {
+               gpu_mem: zap-shader@80840000 {
                        reg = <0x0 0x80840000 0 0x2000>;
                        no-map;
                };
 
 &gpu {
        status = "okay";
+};
 
-       zap-shader {
-               memory-region = <&zap_mem>;
-               firmware-name = "qcom/sc7180/acer/aspire1/qcdxkmsuc7180.mbn";
-       };
+&gpu_zap_shader {
+       firmware-name = "qcom/sc7180/acer/aspire1/qcdxkmsuc7180.mbn";
 };
 
 &mdss {
index 49a98676ca4db270ecb55e8f801d0800ef9e4def..6e8da59597b657cf15c68c3a12ab56213979950b 100644 (file)
@@ -8,10 +8,8 @@
 /plugin/;
 
 /* We can't and don't need to use zap shader in EL2 as linux can zap the gpu on it's own. */
-&gpu {
-       zap-shader {
-               status = "disabled";
-       };
+&gpu_zap_shader {
+       status = "disabled";
 };
 
 /* Venus can be used in EL2 if booted similarly to ChromeOS devices. */
index 19cf419cf531f353f17b83b89ec57dac697d5134..0bce3eefca2e9b14310390f49616873689894ae3 100644 (file)
@@ -39,6 +39,7 @@
  *
  */
 
+/delete-node/ &gpu_zap_shader;
 /delete-node/ &hyp_mem;
 /delete-node/ &xbl_mem;
 /delete-node/ &aop_mem;
index 74ab321d3333cf8fdca45c7cde2fcd9d34b264b2..b398f69917f0e1eb7f2b1b0a6cb582ecb0c7c5c9 100644 (file)
@@ -41,6 +41,7 @@
  * required by the board dts.
  */
 
+/delete-node/ &gpu_zap_shader;
 /delete-node/ &hyp_mem;
 /delete-node/ &ipa_fw_mem;
 /delete-node/ &xbl_mem;
index a47182994c564e036dba25c772454320dc41cc7c..45b9864e3304b2c0331a27109f7918c327cee5c2 100644 (file)
                        interconnects = <&gem_noc MASTER_GFX3D 0 &mc_virt SLAVE_EBI1 0>;
                        interconnect-names = "gfx-mem";
 
+                       gpu_zap_shader: zap-shader {
+                               memory-region = <&gpu_mem>;
+                       };
+
                        gpu_opp_table: opp-table {
                                compatible = "operating-points-v2";