lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a934bb78-587b-6aca-2fb1-38605d3b385a@quicinc.com>
Date: Fri, 27 Jun 2025 20:53:47 +0530
From: Vikash Garodia <quic_vgarodia@...cinc.com>
To: Konrad Dybcio <konrad.dybcio@....qualcomm.com>,
        Jorge Ramirez
	<jorge.ramirez@....qualcomm.com>
CC: <krzk+dt@...nel.org>, <bryan.odonoghue@...aro.org>,
        <quic_dikshita@...cinc.com>, <mchehab@...nel.org>, <robh@...nel.org>,
        <conor+dt@...nel.org>, <konradybcio@...nel.org>,
        <andersson@...nel.org>, <linux-arm-msm@...r.kernel.org>,
        <linux-media@...r.kernel.org>, <devicetree@...r.kernel.org>,
        <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v5 5/5] arm64: dts: qcom: qcm2290: Add venus video node


On 6/27/2025 8:50 PM, Konrad Dybcio wrote:
> On 6/27/25 5:12 PM, Vikash Garodia wrote:
>>
>> On 6/27/2025 8:38 PM, Jorge Ramirez wrote:
>>> On 27/06/25 20:28:29, Vikash Garodia wrote:
>>>>
>>>> On 6/27/2025 6:03 PM, Jorge Ramirez wrote:
>>>>> On 27/06/25 17:40:19, Vikash Garodia wrote:
>>>>>>
>>>>>> On 6/26/2025 7:29 PM, Jorge Ramirez-Ortiz wrote:
>>>>>>> Add DT entries for the qcm2290 venus encoder/decoder.
>>>>>>>
>>>>>>> Co-developed-by: Loic Poulain <loic.poulain@....qualcomm.com>
>>>>>>> Signed-off-by: Loic Poulain <loic.poulain@....qualcomm.com>
>>>>>>> Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez@....qualcomm.com>
>>>>>>> ---
>>>>>>>  arch/arm64/boot/dts/qcom/qcm2290.dtsi | 57 +++++++++++++++++++++++++++
>>>>>>>  1 file changed, 57 insertions(+)
>>>>>>>
>>>>>>> diff --git a/arch/arm64/boot/dts/qcom/qcm2290.dtsi b/arch/arm64/boot/dts/qcom/qcm2290.dtsi
>>>>>>> index f49ac1c1f8a3..5326c91a0ff0 100644
>>>>>>> --- a/arch/arm64/boot/dts/qcom/qcm2290.dtsi
>>>>>>> +++ b/arch/arm64/boot/dts/qcom/qcm2290.dtsi
>>>>>>> @@ -1628,6 +1628,63 @@ adreno_smmu: iommu@...0000 {
>>>>>>>  			#iommu-cells = <2>;
>>>>>>>  		};
>>>>>>>  
>>>>>>> +		venus: video-codec@...0000 {
>>>>>>> +			compatible = "qcom,qcm2290-venus";
>>>>>>> +			reg = <0 0x5a00000 0 0xf0000>;
>>>>>>> +			interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
>>>>>>> +
>>>>>>> +			power-domains = <&gcc GCC_VENUS_GDSC>,
>>>>>>> +					<&gcc GCC_VCODEC0_GDSC>,
>>>>>>> +					<&rpmpd QCM2290_VDDCX>;
>>>>>>> +			power-domain-names = "venus",
>>>>>>> +					     "vcodec0",
>>>>>>> +					     "cx";
>>>>>>> +			operating-points-v2 = <&venus_opp_table>;
>>>>>>> +
>>>>>>> +			clocks = <&gcc GCC_VIDEO_VENUS_CTL_CLK>,
>>>>>>> +				 <&gcc GCC_VIDEO_AHB_CLK>,
>>>>>>> +				 <&gcc GCC_VENUS_CTL_AXI_CLK>,
>>>>>>> +				 <&gcc GCC_VIDEO_THROTTLE_CORE_CLK>,
>>>>>>> +				 <&gcc GCC_VIDEO_VCODEC0_SYS_CLK>,
>>>>>>> +				 <&gcc GCC_VCODEC0_AXI_CLK>;
>>>>>>> +			clock-names = "core",
>>>>>>> +				      "iface",
>>>>>>> +				      "bus",
>>>>>>> +				      "throttle",
>>>>>>> +				      "vcodec0_core",
>>>>>>> +				      "vcodec0_bus";
>>>>>>> +
>>>>>>> +			memory-region = <&pil_video_mem>;
>>>>>>> +			iommus = <&apps_smmu 0x860 0x0>,
>>>>>>> +				 <&apps_smmu 0x880 0x0>,
>>>>>>> +				 <&apps_smmu 0x861 0x04>,
>>>>>>> +				 <&apps_smmu 0x863 0x0>,
>>>>>>> +				 <&apps_smmu 0x804 0xe0>;
>>>>>> keep only the non secure ones.
>>>>>
>>>>> ok
>>>>>
>>>>>>> +
>>>>>>> +			interconnects = <&mmnrt_virt MASTER_VIDEO_P0 RPM_ALWAYS_TAG
>>>>>>> +					 &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>,
>>>>>>> +					<&bimc MASTER_APPSS_PROC RPM_ACTIVE_TAG
>>>>>>> +					 &config_noc SLAVE_VENUS_CFG RPM_ACTIVE_TAG>;
>>>>>>> +			interconnect-names = "video-mem",
>>>>>>> +					     "cpu-cfg";
>>>>>>> +
>>>>>>> +			status = "okay";
>>>>>>> +
>>>>>>> +			venus_opp_table: opp-table {
>>>>>>> +				compatible = "operating-points-v2";
>>>>>>> +
>>>>>>> +				opp-133000000 {
>>>>>>> +					opp-hz = /bits/ 64 <133000000>;
>>>>>>> +					required-opps = <&rpmpd_opp_low_svs>;
>>>>>>> +				};
>>>>>> Fix the corner freq value
>>>>>
>>>>> can you add some reference please?
>>>>>
>>>>> I took this data from an internal document - not sure why the downstream
>>>>> driver supports different values or where those were taken from (AFAIK
>>>>> they are not supported)
>>>> Most likely you have referred incorrect downstream file. Refer scuba-vidc.dtsi.
>>>
>>> I took them from actual documents (which might or might not be obsolete,
>>> hard to say but they were the latest version and as such, they
>>> contradict the downstream dtsi).
>>>
>>> So I'd rather not use downstream - could you point me to the reference
>>> you used please - I wonder if the fix is required downstream instead of here?
>>
>> You can look for this file gcc-scuba.c and refer gcc_video_venus_clk_src which
>> is the src for different venus clocks.
> 
> This is not a good source in general, GCC often has more rates defined
> than the consumer is supposed to finally run at (because they were deemed
> power-inefficient or similar, you can pretty much set any rate you want
> on the clocks fwiw)
Count wise, i agree. Value-wise, afaik, corners should match OR are you saying
client scaling request for 133.0 MHz is ok when src is generating 133.33 MHz ?

> 
> Konrad

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ