linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] arm64: dts: sdm845: Add video nodes
@ 2019-06-27  7:25 Aniket Masule
  2019-06-27  7:25 ` Aniket Masule
  0 siblings, 1 reply; 6+ messages in thread
From: Aniket Masule @ 2019-06-27  7:25 UTC (permalink / raw)
  To: david.brown, robh+dt, mark.rutland
  Cc: devicetree, linux-kernel, linux-arm-msm, Aniket Masule

This adds video nodes to sdm845 based on the examples
in the bindings.

Changes since v1:
 - Corrected the Signed-off-by ordering.
 - Corrected the node position based on the address.

Aniket Masule (1):
  arm64: dts: sdm845: Add video nodes

 arch/arm64/boot/dts/qcom/sdm845.dtsi | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2] arm64: dts: sdm845: Add video nodes
  2019-06-27  7:25 [PATCH v2] arm64: dts: sdm845: Add video nodes Aniket Masule
@ 2019-06-27  7:25 ` Aniket Masule
  2019-07-02  6:04   ` Rajendra Nayak
  0 siblings, 1 reply; 6+ messages in thread
From: Aniket Masule @ 2019-06-27  7:25 UTC (permalink / raw)
  To: david.brown, robh+dt, mark.rutland
  Cc: devicetree, linux-kernel, linux-arm-msm, Aniket Masule, Malathi Gottam

From: Malathi Gottam <mgottam@codeaurora.org>

This adds video nodes to sdm845 based on the examples
in the bindings.

Signed-off-by: Malathi Gottam <mgottam@codeaurora.org>
Co-developed-by: Aniket Masule <amasule@codeaurora.org>
Signed-off-by: Aniket Masule <amasule@codeaurora.org>
---
 arch/arm64/boot/dts/qcom/sdm845.dtsi | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index fcb9330..94813a9 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -1893,6 +1893,36 @@
 			};
 		};
 
+		video-codec@aa00000 {
+			compatible = "qcom,sdm845-venus";
+			reg = <0x0aa00000 0xff000>;
+			interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
+			power-domains = <&videocc VENUS_GDSC>;
+			clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,
+				 <&videocc VIDEO_CC_VENUS_AHB_CLK>,
+				 <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>;
+			clock-names = "core", "iface", "bus";
+			iommus = <&apps_smmu 0x10a0 0x8>,
+				 <&apps_smmu 0x10b0 0x0>;
+			memory-region = <&venus_region>;
+
+			video-core0 {
+				compatible = "venus-decoder";
+				clocks = <&videocc VIDEO_CC_VCODEC0_CORE_CLK>,
+					 <&videocc VIDEO_CC_VCODEC0_AXI_CLK>;
+				clock-names = "core", "bus";
+				power-domains = <&videocc VCODEC0_GDSC>;
+			};
+
+			video-core1 {
+				compatible = "venus-encoder";
+				clocks = <&videocc VIDEO_CC_VCODEC1_CORE_CLK>,
+					 <&videocc VIDEO_CC_VCODEC1_AXI_CLK>;
+				clock-names = "core", "bus";
+				power-domains = <&videocc VCODEC1_GDSC>;
+			};
+		};
+
 		videocc: clock-controller@ab00000 {
 			compatible = "qcom,sdm845-videocc";
 			reg = <0 0x0ab00000 0 0x10000>;
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] arm64: dts: sdm845: Add video nodes
  2019-06-27  7:25 ` Aniket Masule
@ 2019-07-02  6:04   ` Rajendra Nayak
  0 siblings, 0 replies; 6+ messages in thread
From: Rajendra Nayak @ 2019-07-02  6:04 UTC (permalink / raw)
  To: Aniket Masule, david.brown, robh+dt, mark.rutland
  Cc: devicetree, linux-kernel, linux-arm-msm, Malathi Gottam



On 6/27/2019 12:55 PM, Aniket Masule wrote:
> From: Malathi Gottam <mgottam@codeaurora.org>
> 
> This adds video nodes to sdm845 based on the examples
> in the bindings.
> 
> Signed-off-by: Malathi Gottam <mgottam@codeaurora.org>
> Co-developed-by: Aniket Masule <amasule@codeaurora.org>
> Signed-off-by: Aniket Masule <amasule@codeaurora.org>
> ---
>   arch/arm64/boot/dts/qcom/sdm845.dtsi | 30 ++++++++++++++++++++++++++++++
>   1 file changed, 30 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> index fcb9330..94813a9 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> @@ -1893,6 +1893,36 @@
>   			};
>   		};
>   
> +		video-codec@aa00000 {
> +			compatible = "qcom,sdm845-venus";
> +			reg = <0x0aa00000 0xff000>;

this should be
	reg = <0 0x0aa00000 0 0xff000>;

> +			interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
> +			power-domains = <&videocc VENUS_GDSC>;
> +			clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,
> +				 <&videocc VIDEO_CC_VENUS_AHB_CLK>,
> +				 <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>;
> +			clock-names = "core", "iface", "bus";
> +			iommus = <&apps_smmu 0x10a0 0x8>,
> +				 <&apps_smmu 0x10b0 0x0>;
> +			memory-region = <&venus_region>;

this is venus_mem and not venus_region.

-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] arm64: dts: sdm845: add video nodes
  2018-11-30  6:39 ` Alexandre Courbot
@ 2018-12-20  7:46   ` mgottam
  0 siblings, 0 replies; 6+ messages in thread
From: mgottam @ 2018-12-20  7:46 UTC (permalink / raw)
  To: Alexandre Courbot
  Cc: Andy Gross, david.brown, robh+dt, mark.rutland, devicetree, LKML,
	linux-arm-msm, Stanimir Varbanov, vgarodia

On 2018-11-30 12:09, Alexandre Courbot wrote:
> On Wed, Nov 28, 2018 at 10:12 PM Malathi Gottam 
> <mgottam@codeaurora.org> wrote:
>> 
>> This adds video nodes to sdm845 based on the examples
>> in the bindings.
>> 
>> Signed-off-by: Malathi Gottam <mgottam@codeaurora.org>
>> ---
>>  arch/arm64/boot/dts/qcom/sdm845.dtsi | 35 
>> +++++++++++++++++++++++++++++++++++
>>  1 file changed, 35 insertions(+)
>> 
>> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi 
>> b/arch/arm64/boot/dts/qcom/sdm845.dtsi
>> index 0c9a2aa..4c9d6a4 100644
>> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
>> @@ -84,6 +84,11 @@
>>                         reg = <0 0x86200000 0 0x2d00000>;
>>                         no-map;
>>                 };
>> +
>> +               venus_region: memory@95800000 {
>> +                       reg = <0x0 0x95800000 0x0 0x500000>;
> 
> This patch depends on the firmware loader being fixed to not expect a
> 6MB area size. I think you can do it as follows:
> 

For now, we are proceeding on adding node with memory region as 6MB.
Once we have the other patch for fixing firmware loader merged,
we can then try on recording the reserved area size.

I am posting updated patch with hard coded memory region.

Regards,
Malathi.

> 1) Record the reserved area size in the venus_core structure during
> venus_load_fw(),
> 2) Use that area size in place of VENUS_FW_MEM_SIZE everywhere else in 
> the code.
> 
> That way we don't put any artificial limitation on the expected
> firmware size, or on the reserved area in the DT matching a hardcoded
> size.
> 
> Once you have this, the driver should work no matter what the size of
> the reserved area is, provided the firmware first into it.
> 
>> +                       no-map;
>> +               };
>>         };
>> 
>>         cpus {
>> @@ -1103,5 +1108,35 @@
>>                                 status = "disabled";
>>                         };
>>                 };
>> +
>> +               video-codec@aa00000 {
>> +                       compatible = "qcom,sdm845-venus";
>> +                       reg = <0x0aa00000 0xff000>;
>> +                       interrupts = <GIC_SPI 174 
>> IRQ_TYPE_LEVEL_HIGH>;
>> +                       power-domains = <&videocc VENUS_GDSC>;
>> +                       clocks = <&videocc 
>> VIDEO_CC_VENUS_CTL_CORE_CLK>,
>> +                                <&videocc VIDEO_CC_VENUS_AHB_CLK>,
>> +                                <&videocc 
>> VIDEO_CC_VENUS_CTL_AXI_CLK>;
>> +                       clock-names = "core", "iface", "bus";
>> +                       iommus = <&apps_smmu 0x10a0 0x8>,
>> +                                <&apps_smmu 0x10b0 0x0>;
>> +                       memory-region = <&venus_region>;
>> +
>> +                       video-core0 {
>> +                               compatible = "venus-decoder";
>> +                               clocks = <&videocc 
>> VIDEO_CC_VCODEC0_CORE_CLK>,
>> +                                        <&videocc 
>> VIDEO_CC_VCODEC0_AXI_CLK>;
>> +                               clock-names = "core", "bus";
>> +                               power-domains = <&videocc 
>> VCODEC0_GDSC>;
>> +                       };
>> +
>> +                       video-core1 {
>> +                               compatible = "venus-encoder";
>> +                               clocks = <&videocc 
>> VIDEO_CC_VCODEC1_CORE_CLK>,
>> +                                        <&videocc 
>> VIDEO_CC_VCODEC1_AXI_CLK>;
>> +                               clock-names = "core", "bus";
>> +                               power-domains = <&videocc 
>> VCODEC1_GDSC>;
>> +                       };
> 
> We should probably have status = "disabled" here and enable this node
> on a per-board basis?
> 
> Also, shouldn't we define the firmware subnode here too?
> 
> Cheers,
> Alex.
>> --
>> 1.9.1
>> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] arm64: dts: sdm845: add video nodes
  2018-11-28 13:10 [PATCH v2] arm64: dts: sdm845: add " Malathi Gottam
@ 2018-11-30  6:39 ` Alexandre Courbot
  2018-12-20  7:46   ` mgottam
  0 siblings, 1 reply; 6+ messages in thread
From: Alexandre Courbot @ 2018-11-30  6:39 UTC (permalink / raw)
  To: mgottam
  Cc: Andy Gross, david.brown, robh+dt, mark.rutland, devicetree, LKML,
	linux-arm-msm, Stanimir Varbanov, vgarodia

On Wed, Nov 28, 2018 at 10:12 PM Malathi Gottam <mgottam@codeaurora.org> wrote:
>
> This adds video nodes to sdm845 based on the examples
> in the bindings.
>
> Signed-off-by: Malathi Gottam <mgottam@codeaurora.org>
> ---
>  arch/arm64/boot/dts/qcom/sdm845.dtsi | 35 +++++++++++++++++++++++++++++++++++
>  1 file changed, 35 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> index 0c9a2aa..4c9d6a4 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> @@ -84,6 +84,11 @@
>                         reg = <0 0x86200000 0 0x2d00000>;
>                         no-map;
>                 };
> +
> +               venus_region: memory@95800000 {
> +                       reg = <0x0 0x95800000 0x0 0x500000>;

This patch depends on the firmware loader being fixed to not expect a
6MB area size. I think you can do it as follows:

1) Record the reserved area size in the venus_core structure during
venus_load_fw(),
2) Use that area size in place of VENUS_FW_MEM_SIZE everywhere else in the code.

That way we don't put any artificial limitation on the expected
firmware size, or on the reserved area in the DT matching a hardcoded
size.

Once you have this, the driver should work no matter what the size of
the reserved area is, provided the firmware first into it.

> +                       no-map;
> +               };
>         };
>
>         cpus {
> @@ -1103,5 +1108,35 @@
>                                 status = "disabled";
>                         };
>                 };
> +
> +               video-codec@aa00000 {
> +                       compatible = "qcom,sdm845-venus";
> +                       reg = <0x0aa00000 0xff000>;
> +                       interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
> +                       power-domains = <&videocc VENUS_GDSC>;
> +                       clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,
> +                                <&videocc VIDEO_CC_VENUS_AHB_CLK>,
> +                                <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>;
> +                       clock-names = "core", "iface", "bus";
> +                       iommus = <&apps_smmu 0x10a0 0x8>,
> +                                <&apps_smmu 0x10b0 0x0>;
> +                       memory-region = <&venus_region>;
> +
> +                       video-core0 {
> +                               compatible = "venus-decoder";
> +                               clocks = <&videocc VIDEO_CC_VCODEC0_CORE_CLK>,
> +                                        <&videocc VIDEO_CC_VCODEC0_AXI_CLK>;
> +                               clock-names = "core", "bus";
> +                               power-domains = <&videocc VCODEC0_GDSC>;
> +                       };
> +
> +                       video-core1 {
> +                               compatible = "venus-encoder";
> +                               clocks = <&videocc VIDEO_CC_VCODEC1_CORE_CLK>,
> +                                        <&videocc VIDEO_CC_VCODEC1_AXI_CLK>;
> +                               clock-names = "core", "bus";
> +                               power-domains = <&videocc VCODEC1_GDSC>;
> +                       };

We should probably have status = "disabled" here and enable this node
on a per-board basis?

Also, shouldn't we define the firmware subnode here too?

Cheers,
Alex.
> --
> 1.9.1
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2] arm64: dts: sdm845: add video nodes
@ 2018-11-28 13:10 Malathi Gottam
  2018-11-30  6:39 ` Alexandre Courbot
  0 siblings, 1 reply; 6+ messages in thread
From: Malathi Gottam @ 2018-11-28 13:10 UTC (permalink / raw)
  To: andy.gross, david.brown, robh+dt, mark.rutland
  Cc: devicetree, linux-kernel, linux-arm-msm, acourbot,
	stanimir.varbanov, vgarodia, mgottam

This adds video nodes to sdm845 based on the examples
in the bindings.

Signed-off-by: Malathi Gottam <mgottam@codeaurora.org>
---
 arch/arm64/boot/dts/qcom/sdm845.dtsi | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index 0c9a2aa..4c9d6a4 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -84,6 +84,11 @@
 			reg = <0 0x86200000 0 0x2d00000>;
 			no-map;
 		};
+
+		venus_region: memory@95800000 {
+			reg = <0x0 0x95800000 0x0 0x500000>;
+			no-map;
+		};
 	};
 
 	cpus {
@@ -1103,5 +1108,35 @@
 				status = "disabled";
 			};
 		};
+
+		video-codec@aa00000 {
+			compatible = "qcom,sdm845-venus";
+			reg = <0x0aa00000 0xff000>;
+			interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
+			power-domains = <&videocc VENUS_GDSC>;
+			clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,
+				 <&videocc VIDEO_CC_VENUS_AHB_CLK>,
+				 <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>;
+			clock-names = "core", "iface", "bus";
+			iommus = <&apps_smmu 0x10a0 0x8>,
+				 <&apps_smmu 0x10b0 0x0>;
+			memory-region = <&venus_region>;
+
+			video-core0 {
+				compatible = "venus-decoder";
+				clocks = <&videocc VIDEO_CC_VCODEC0_CORE_CLK>,
+					 <&videocc VIDEO_CC_VCODEC0_AXI_CLK>;
+				clock-names = "core", "bus";
+				power-domains = <&videocc VCODEC0_GDSC>;
+			};
+
+			video-core1 {
+				compatible = "venus-encoder";
+				clocks = <&videocc VIDEO_CC_VCODEC1_CORE_CLK>,
+					 <&videocc VIDEO_CC_VCODEC1_AXI_CLK>;
+				clock-names = "core", "bus";
+				power-domains = <&videocc VCODEC1_GDSC>;
+			};
+		};
 	};
 };
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-07-02  6:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-27  7:25 [PATCH v2] arm64: dts: sdm845: Add video nodes Aniket Masule
2019-06-27  7:25 ` Aniket Masule
2019-07-02  6:04   ` Rajendra Nayak
  -- strict thread matches above, loose matches on Subject: below --
2018-11-28 13:10 [PATCH v2] arm64: dts: sdm845: add " Malathi Gottam
2018-11-30  6:39 ` Alexandre Courbot
2018-12-20  7:46   ` mgottam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).