[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3ef570ec-1a55-5449-58fb-4e0039350299@nvidia.com>
Date: Tue, 23 Jun 2020 11:35:27 +0530
From: Sumit Gupta <sumitg@...dia.com>
To: Viresh Kumar <viresh.kumar@...aro.org>
CC: <rjw@...ysocki.net>, <catalin.marinas@....com>, <will@...nel.org>,
<thierry.reding@...il.com>, <robh+dt@...nel.org>,
<devicetree@...r.kernel.org>, <jonathanh@...dia.com>,
<talho@...dia.com>, <linux-pm@...r.kernel.org>,
<linux-tegra@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>, <bbasu@...dia.com>,
<mperttunen@...dia.com>, Sumit Gupta <sumitg@...dia.com>
Subject: Re: [TEGRA194_CPUFREQ Patch v3 1/4] dt-bindings: arm: Add t194 ccplex
compatible and bpmp property
On 22/06/20 12:52 PM, Viresh Kumar wrote:
> External email: Use caution opening links or attachments
>
>
> On 22-06-20, 03:04, Sumit Gupta wrote:
>> To do frequency scaling on all CPUs within T194 CPU Complex, we need
>> to query BPMP for data on valid operating points. Document a compatible
>> string under 'cpus' node to represent the CPU Complex for binding drivers
>> like cpufreq which don't have their node or CPU Complex node to bind to.
>> Also, document a property to point to the BPMP device that can be queried
>> for all CPUs.
>
> You shouldn't be putting how linux is going to use this information and entries
> shouldn't be made just so cpufreq can bind to a driver.
>
> Though I see that this is a real hardware register which you can use to interact
> with the firmware ? And so it makes sense to have it, maybe in different form
> though.
>
CPUFREQ driver doesn't communicate directly with BPMP firmware. It uses
BPMP node's reference to call api's exported by BPMP driver which
communicates with BPMP firmware.
> I will let Rob explain what would be the right way of doing this though.
>
This is already discussed by Thierry with Rob.
Please refer https://marc.info/?l=linux-arm-kernel&m=158999171528418&w=2
>>
>> Signed-off-by: Sumit Gupta <sumitg@...dia.com>
>> ---
>> Documentation/devicetree/bindings/arm/cpus.yaml | 9 +++++++++
>> 1 file changed, 9 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml
>> index a018147..737b55e 100644
>> --- a/Documentation/devicetree/bindings/arm/cpus.yaml
>> +++ b/Documentation/devicetree/bindings/arm/cpus.yaml
>> @@ -162,6 +162,7 @@ properties:
>> - nvidia,tegra132-denver
>> - nvidia,tegra186-denver
>> - nvidia,tegra194-carmel
>> + - nvidia,tegra194-ccplex
>> - qcom,krait
>> - qcom,kryo
>> - qcom,kryo260
>> @@ -255,6 +256,14 @@ properties:
>>
>> where voltage is in V, frequency is in MHz.
>>
>> + nvidia,bpmp:
>> + $ref: '/schemas/types.yaml#/definitions/phandle'
>> + descrption: |
>> + Specifies the bpmp node that needs to be queried to get
>> + operating point data for all CPUs.
>> +
>> + Optional for NVIDIA Tegra194 Carmel CPUs
>> +
>> power-domains:
>> $ref: '/schemas/types.yaml#/definitions/phandle-array'
>> description:
>> --
>> 2.7.4
>
> --
> viresh
>
Powered by blists - more mailing lists