On Fri, Dec 01, 2023 at 10:33:19AM +0100, Luca Weiss wrote: > 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@xxxxxxxxxx> > Signed-off-by: Luca Weiss <luca.weiss@xxxxxxxxxxxxx> > --- > 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 326897af117a..0ff9a2484096 100644 > --- a/arch/arm64/boot/dts/qcom/sc7280.dtsi > +++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi > @@ -3836,10 +3836,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>; qcom,sc7280-venus expects 2 items here. Please follow up with a patch to the binding, if you haven't send one already. Thanks, Bjorn > memory-region = <&video_mem>; > > + status = "disabled"; > + > video-decoder { > compatible = "venus-decoder"; > }; > @@ -3848,10 +3849,6 @@ video-encoder { > compatible = "venus-encoder"; > }; > > - video-firmware { > - iommus = <&apps_smmu 0x21a2 0x0>; > - }; > - > venus_opp_table: opp-table { > compatible = "operating-points-v2"; > > > -- > 2.43.0 >