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.odonog...@linaro.org>
> Signed-off-by: Luca Weiss <luca.we...@fairphone.com>
> ---
>  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
> 

Reply via email to