Re: [PATCH v2 2/3] arm64: dts: qcom: sc7280: Move video-firmware to chrome-common

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed Nov 22, 2023 at 2:17 PM CET, Vikash Garodia wrote:
>
> On 10/2/2023 7:50 PM, 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.
> > 
> > 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 | 8 ++++++++
> >  arch/arm64/boot/dts/qcom/sc7280.dtsi               | 6 ++----
> >  2 files changed, 10 insertions(+), 4 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..cd491e46666d 100644
> > --- a/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi
> > @@ -104,6 +104,14 @@ &scm {
> >  	dma-coherent;
> >  };
> >  
> > +&venus {
> > +	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 66f1eb83cca7..fa53f54d4675 100644
> > --- a/arch/arm64/boot/dts/qcom/sc7280.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi
> > @@ -3740,6 +3740,8 @@ venus: video-codec@aa00000 {
> >  				 <&apps_smmu 0x2184 0x20>;
> >  			memory-region = <&video_mem>;
> >  
> > +			status = "disabled";
> > +
> >  			video-decoder {
> >  				compatible = "venus-decoder";
> >  			};
> > @@ -3748,10 +3750,6 @@ video-encoder {
> >  				compatible = "venus-encoder";
> >  			};
> >  
> > -			video-firmware {
> > -				iommus = <&apps_smmu 0x21a2 0x0>;
> > -			};
> > -
> >  			venus_opp_table: opp-table {
> >  				compatible = "operating-points-v2";
> >  
> > 
> Changes look good. Is this tested on SC7280 ?

Hi Vikash,

I didn't test it myself on sc7280 (just qcm6490-fp5) but dtx_diff
reports no differences except for status = okay property being added, so
there should be no change on those boards. See below.

Regards
Luca


--- test-pre/sc7280-crd-r3.dtb
+++ test-post/sc7280-crd-r3.dtb
@@ -5744,6 +5744,7 @@
                        power-domain-names = "venus\0vcodec0\0cx";
                        power-domains = <0x13b 0x01 0x13b 0x00 0x34 0x00>;
                        reg = <0x00 0xaa00000 0x00 0xd0600>;
+                       status = "okay";
 
                        opp-table {
                                compatible = "operating-points-v2";
--- test-pre/sc7280-herobrine-crd.dtb
+++ test-post/sc7280-herobrine-crd.dtb
@@ -6117,6 +6117,7 @@
                        power-domain-names = "venus\0vcodec0\0cx";
                        power-domains = <0x147 0x01 0x147 0x00 0x34 0x00>;
                        reg = <0x00 0xaa00000 0x00 0xd0600>;
+                       status = "okay";
 
                        opp-table {
                                compatible = "operating-points-v2";
--- test-pre/sc7280-herobrine-crd-pro.dtb
+++ test-post/sc7280-herobrine-crd-pro.dtb
@@ -6112,6 +6112,7 @@
                        power-domain-names = "venus\0vcodec0\0cx";
                        power-domains = <0x147 0x01 0x147 0x00 0x34 0x00>;
                        reg = <0x00 0xaa00000 0x00 0xd0600>;
+                       status = "okay";
 
                        opp-table {
                                compatible = "operating-points-v2";
--- test-pre/sc7280-herobrine-evoker.dtb
+++ test-post/sc7280-herobrine-evoker.dtb
@@ -6058,6 +6058,7 @@
                        power-domain-names = "venus\0vcodec0\0cx";
                        power-domains = <0x14b 0x01 0x14b 0x00 0x34 0x00>;
                        reg = <0x00 0xaa00000 0x00 0xd0600>;
+                       status = "okay";
 
                        opp-table {
                                compatible = "operating-points-v2";
--- test-pre/sc7280-herobrine-evoker-lte.dtb
+++ test-post/sc7280-herobrine-evoker-lte.dtb
@@ -6121,6 +6121,7 @@
                        power-domain-names = "venus\0vcodec0\0cx";
                        power-domains = <0x151 0x01 0x151 0x00 0x34 0x00>;
                        reg = <0x00 0xaa00000 0x00 0xd0600>;
+                       status = "okay";
 
                        opp-table {
                                compatible = "operating-points-v2";
--- test-pre/sc7280-herobrine-herobrine-r1.dtb
+++ test-post/sc7280-herobrine-herobrine-r1.dtb
@@ -6108,6 +6108,7 @@
                        power-domain-names = "venus\0vcodec0\0cx";
                        power-domains = <0x14f 0x01 0x14f 0x00 0x34 0x00>;
                        reg = <0x00 0xaa00000 0x00 0xd0600>;
+                       status = "okay";
 
                        opp-table {
                                compatible = "operating-points-v2";
--- test-pre/sc7280-herobrine-villager-r0.dtb
+++ test-post/sc7280-herobrine-villager-r0.dtb
@@ -6049,6 +6049,7 @@
                        power-domain-names = "venus\0vcodec0\0cx";
                        power-domains = <0x145 0x01 0x145 0x00 0x34 0x00>;
                        reg = <0x00 0xaa00000 0x00 0xd0600>;
+                       status = "okay";
 
                        opp-table {
                                compatible = "operating-points-v2";
--- test-pre/sc7280-herobrine-villager-r1.dtb
+++ test-post/sc7280-herobrine-villager-r1.dtb
@@ -6037,6 +6037,7 @@
                        power-domain-names = "venus\0vcodec0\0cx";
                        power-domains = <0x142 0x01 0x142 0x00 0x34 0x00>;
                        reg = <0x00 0xaa00000 0x00 0xd0600>;
+                       status = "okay";
 
                        opp-table {
                                compatible = "operating-points-v2";
--- test-pre/sc7280-herobrine-villager-r1-lte.dtb
+++ test-post/sc7280-herobrine-villager-r1-lte.dtb
@@ -6100,6 +6100,7 @@
                        power-domain-names = "venus\0vcodec0\0cx";
                        power-domains = <0x148 0x01 0x148 0x00 0x34 0x00>;
                        reg = <0x00 0xaa00000 0x00 0xd0600>;
+                       status = "okay";
 
                        opp-table {
                                compatible = "operating-points-v2";
--- test-pre/sc7280-herobrine-zombie.dtb
+++ test-post/sc7280-herobrine-zombie.dtb
@@ -6031,6 +6031,7 @@
                        power-domain-names = "venus\0vcodec0\0cx";
                        power-domains = <0x146 0x01 0x146 0x00 0x34 0x00>;
                        reg = <0x00 0xaa00000 0x00 0xd0600>;
+                       status = "okay";
 
                        opp-table {
                                compatible = "operating-points-v2";
--- test-pre/sc7280-herobrine-zombie-lte.dtb
+++ test-post/sc7280-herobrine-zombie-lte.dtb
@@ -6094,6 +6094,7 @@
                        power-domain-names = "venus\0vcodec0\0cx";
                        power-domains = <0x14c 0x01 0x14c 0x00 0x34 0x00>;
                        reg = <0x00 0xaa00000 0x00 0xd0600>;
+                       status = "okay";
 
                        opp-table {
                                compatible = "operating-points-v2";
--- test-pre/sc7280-herobrine-zombie-nvme.dtb
+++ test-post/sc7280-herobrine-zombie-nvme.dtb
@@ -6031,6 +6031,7 @@
                        power-domain-names = "venus\0vcodec0\0cx";
                        power-domains = <0x146 0x01 0x146 0x00 0x34 0x00>;
                        reg = <0x00 0xaa00000 0x00 0xd0600>;
+                       status = "okay";
 
                        opp-table {
                                compatible = "operating-points-v2";
--- test-pre/sc7280-herobrine-zombie-nvme-lte.dtb
+++ test-post/sc7280-herobrine-zombie-nvme-lte.dtb
@@ -6094,6 +6094,7 @@
                        power-domain-names = "venus\0vcodec0\0cx";
                        power-domains = <0x14c 0x01 0x14c 0x00 0x34 0x00>;
                        reg = <0x00 0xaa00000 0x00 0xd0600>;
+                       status = "okay";
 
                        opp-table {
                                compatible = "operating-points-v2";
--- test-pre/sc7280-idp2.dtb
+++ test-post/sc7280-idp2.dtb
@@ -5677,6 +5677,7 @@
                        power-domain-names = "venus\0vcodec0\0cx";
                        power-domains = <0x138 0x01 0x138 0x00 0x34 0x00>;
                        reg = <0x00 0xaa00000 0x00 0xd0600>;
+                       status = "okay";
 
                        opp-table {
                                compatible = "operating-points-v2";
--- test-pre/sc7280-idp.dtb
+++ test-post/sc7280-idp.dtb
@@ -5642,6 +5642,7 @@
                        power-domain-names = "venus\0vcodec0\0cx";
                        power-domains = <0x133 0x01 0x133 0x00 0x34 0x00>;
                        reg = <0x00 0xaa00000 0x00 0xd0600>;
+                       status = "okay";
 
                        opp-table {
                                compatible = "operating-points-v2";


>
> Regards,
> Vikash






[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux