You've already forked meta-qcom-extras
mirror of
https://github.com/linux-msm/meta-qcom-extras.git
synced 2026-02-25 13:14:43 -08:00
linux-yocto: sc7280: move video-firmware to chrome-common
At the same time also disable the venus node by default in the dtsi, like it's done on other SoCs. This is needed to fix crash while venus init. Call trace: qcom_smmu_write_s2cr+0x60/0xa4 arm_smmu_attach_dev+0x1d8/0x98c __iommu_device_set_domain+0x7c/0x110 __iommu_group_set_domain_internal+0x60/0x194 iommu_setup_default_domain+0x374/0x420 __iommu_probe_device+0x3ac/0x3d4 iommu_probe_device+0x34/0x78 of_iommu_configure+0x18c/0x25c of_dma_configure_id+0x114/0x2c8 platform_dma_configure+0x30/0x78 really_probe+0x70/0x2b0 __driver_probe_device+0x78/0x12c driver_probe_device+0x3c/0x15c __driver_attach+0x90/0x19c bus_for_each_dev+0x7c/0xdc driver_attach+0x24/0x30 bus_add_driver+0xe8/0x1f8 driver_register+0x5c/0x124 __platform_driver_register+0x28/0x34 qcom_venus_driver_init+0x20/0x1000 [venus_core]
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
From 65d0e0ecf6725459457162b33d02333888bfa25e Mon Sep 17 00:00:00 2001
|
||||
From: Luca Weiss <luca.weiss@fairphone.com>
|
||||
Date: Fri, 1 Dec 2023 10:33:19 +0100
|
||||
Subject: [PATCH] UPSTREAM: arm64: dts: qcom: sc7280: Move video-firmware to
|
||||
chrome-common
|
||||
|
||||
If the video-firmware node is present, the venus driver assumes we're on
|
||||
a system that doesn't use TZ for starting venus, like on ChromeOS
|
||||
devices.
|
||||
|
||||
Move the video-firmware node to chrome-common.dtsi so we can use venus
|
||||
on a non-ChromeOS devices. We also need to move the secure SID 0x2184
|
||||
for iommu since (on some boards) we cannot touch that.
|
||||
|
||||
At the same time also disable the venus node by default in the dtsi,
|
||||
like it's done on other SoCs.
|
||||
|
||||
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
|
||||
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
|
||||
Reviewed-by: Vikash Garodia <quic_vgarodia@quicinc.com>
|
||||
Link: https://lore.kernel.org/r/20231201-sc7280-venus-pas-v3-2-bc132dc5fc30@fairphone.com
|
||||
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
Upstream-Status: Backport [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 82066cdb17608abc95192632fd5c702be8e57ab5]
|
||||
---
|
||||
arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi | 11 +++++++++++
|
||||
arch/arm64/boot/dts/qcom/sc7280.dtsi | 9 +++------
|
||||
2 files changed, 14 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi b/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi
|
||||
index 5d462ae14ba1..459ff877df54 100644
|
||||
--- a/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi
|
||||
@@ -104,6 +104,17 @@ &scm {
|
||||
dma-coherent;
|
||||
};
|
||||
|
||||
+&venus {
|
||||
+ iommus = <&apps_smmu 0x2180 0x20>,
|
||||
+ <&apps_smmu 0x2184 0x20>;
|
||||
+
|
||||
+ status = "okay";
|
||||
+
|
||||
+ video-firmware {
|
||||
+ iommus = <&apps_smmu 0x21a2 0x0>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&watchdog {
|
||||
status = "okay";
|
||||
};
|
||||
diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi b/arch/arm64/boot/dts/qcom/sc7280.dtsi
|
||||
index cbd0f4176daa..1c136ad878ed 100644
|
||||
--- a/arch/arm64/boot/dts/qcom/sc7280.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi
|
||||
@@ -3725,10 +3725,11 @@ venus: video-codec@aa00000 {
|
||||
<&mmss_noc MASTER_VIDEO_P0 0 &mc_virt SLAVE_EBI1 0>;
|
||||
interconnect-names = "cpu-cfg", "video-mem";
|
||||
|
||||
- iommus = <&apps_smmu 0x2180 0x20>,
|
||||
- <&apps_smmu 0x2184 0x20>;
|
||||
+ iommus = <&apps_smmu 0x2180 0x20>;
|
||||
memory-region = <&video_mem>;
|
||||
|
||||
+ status = "disabled";
|
||||
+
|
||||
video-decoder {
|
||||
compatible = "venus-decoder";
|
||||
};
|
||||
@@ -3737,10 +3738,6 @@ video-encoder {
|
||||
compatible = "venus-encoder";
|
||||
};
|
||||
|
||||
- video-firmware {
|
||||
- iommus = <&apps_smmu 0x21a2 0x0>;
|
||||
- };
|
||||
-
|
||||
venus_opp_table: opp-table {
|
||||
compatible = "operating-points-v2";
|
||||
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -55,6 +55,7 @@ SRC_URI:append:qcom = " \
|
||||
file://qcm6490-drivers/0001-FROMGIT-phy-qcom-qmp-ufs-Add-Phy-Configuration-suppo.patch \
|
||||
file://qcm6490-dtsi/0001-FROMLIST-arm64-dts-qcom-sc7280-Add-UFS-nodes-for-sc7.patch \
|
||||
file://qcm6490-dtsi/0001-PENDING-arm64-dts-qcom-sc7280-Add-interconnect-paths.patch \
|
||||
file://qcm6490-dtsi/0001-UPSTREAM-arm64-dts-qcom-sc7280-Move-video-firmware-t.patch \
|
||||
file://qcm6490-dtsi/0001-UPSTREAM-arm64-dts-qcom-Use-QCOM_SCM_VMID-defines-fo.patch \
|
||||
file://qcm6490-board-dts/0001-UPSTREAM-dt-bindings-arm-qcom-Add-QCM6490-Fairphone-.patch \
|
||||
file://qcm6490-board-dts/0002-UPSTREAM-dt-bindings-arm-qcom-Add-QCM6490-IDP-and-QC.patch \
|
||||
|
||||
Reference in New Issue
Block a user