arm64: dts: qcom: sc7180: add gpu_zap_shader label

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>
This commit is contained in:
Dmitry Baryshkov
2025-10-28 23:00:05 +02:00
committed by Bjorn Andersson
parent 00d3f7b053
commit d994ae0427
5 changed files with 12 additions and 9 deletions

View File

@@ -31,7 +31,7 @@
};
reserved-memory {
zap_mem: zap-shader@80840000 {
gpu_mem: zap-shader@80840000 {
reg = <0x0 0x80840000 0 0x2000>;
no-map;
};
@@ -426,11 +426,10 @@
&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 {

View 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. */

View File

@@ -39,6 +39,7 @@
*
*/
/delete-node/ &gpu_zap_shader;
/delete-node/ &hyp_mem;
/delete-node/ &xbl_mem;
/delete-node/ &aop_mem;

View 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;

View File

@@ -2185,6 +2185,10 @@
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";