All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Osipenko <digetx@gmail.com>
To: Viresh Kumar <viresh.kumar@linaro.org>, sumitg <sumitg@nvidia.com>
Cc: rjw@rjwysocki.net, catalin.marinas@arm.com, will@kernel.org,
	thierry.reding@gmail.com, jonathanh@nvidia.com, talho@nvidia.com,
	linux-pm@vger.kernel.org, linux-tegra@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, bbasu@nvidia.com,
	mperttunen@nvidia.com
Subject: Re: [TEGRA194_CPUFREQ Patch 2/3] cpufreq: Add Tegra194 cpufreq driver
Date: Wed, 4 Dec 2019 16:57:53 +0300	[thread overview]
Message-ID: <0b634341-ea2b-e9cd-4986-dc9a01c839bb@gmail.com> (raw)
In-Reply-To: <20191204112749.jkwlyteal4hfvnhb@vireshk-i7>

04.12.2019 14:27, Viresh Kumar пишет:
> On 04-12-19, 16:25, sumitg wrote:
>> In T194, CCPLEX doesn't have access to set clocks and the
>>
>> clk_{get|set}_rate() functions set clocks by hook to BPMP R5.
>>
>> CPU freq can be directly set by CCPLEX using MSR(NVFREQ_REQ_EL1).
>>
>> As DVFS run's on BPMP, another MSR (NVFREQ_FEEDBACK_EL1) is
>>
>> used to read the counters and calculate "actual" cpu freq at CCPLEX.
>>
>> So, "cpuinfo_cur_freq" node gives the actual cpu frequency and not
>>
>> given by node "scaling_cur_freq".
> 
> Right, but why can't this be hidden in the CPU's clk driver instead,
> so cpufreq driver can just do clk_get_rate() and clk_set_rate() ?

What about to make use of dev_pm_opp_register_set_opp_helper()?


>>> - populating cpufreq table, you can probably add OPPs instead using
>>>    the same mechanism
>>
>> We are reading available frequencies from BPMP to populate
>>
>> cpufreq table and not using static opp table.
> 
> Right and lot of other platforms read it from firmware (I believe BBMP
> is a firmware here), and create OPPs at runtime. Look at this for
> example:
> 
> drivers/cpufreq/qcom-cpufreq-hw.c
> 
> and search for dev_pm_opp_add().
> 


WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Osipenko <digetx@gmail.com>
To: Viresh Kumar <viresh.kumar@linaro.org>, sumitg <sumitg@nvidia.com>
Cc: bbasu@nvidia.com, linux-pm@vger.kernel.org,
	catalin.marinas@arm.com, rjw@rjwysocki.net,
	linux-kernel@vger.kernel.org, jonathanh@nvidia.com,
	talho@nvidia.com, thierry.reding@gmail.com,
	linux-tegra@vger.kernel.org, mperttunen@nvidia.com,
	will@kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [TEGRA194_CPUFREQ Patch 2/3] cpufreq: Add Tegra194 cpufreq driver
Date: Wed, 4 Dec 2019 16:57:53 +0300	[thread overview]
Message-ID: <0b634341-ea2b-e9cd-4986-dc9a01c839bb@gmail.com> (raw)
In-Reply-To: <20191204112749.jkwlyteal4hfvnhb@vireshk-i7>

04.12.2019 14:27, Viresh Kumar пишет:
> On 04-12-19, 16:25, sumitg wrote:
>> In T194, CCPLEX doesn't have access to set clocks and the
>>
>> clk_{get|set}_rate() functions set clocks by hook to BPMP R5.
>>
>> CPU freq can be directly set by CCPLEX using MSR(NVFREQ_REQ_EL1).
>>
>> As DVFS run's on BPMP, another MSR (NVFREQ_FEEDBACK_EL1) is
>>
>> used to read the counters and calculate "actual" cpu freq at CCPLEX.
>>
>> So, "cpuinfo_cur_freq" node gives the actual cpu frequency and not
>>
>> given by node "scaling_cur_freq".
> 
> Right, but why can't this be hidden in the CPU's clk driver instead,
> so cpufreq driver can just do clk_get_rate() and clk_set_rate() ?

What about to make use of dev_pm_opp_register_set_opp_helper()?


>>> - populating cpufreq table, you can probably add OPPs instead using
>>>    the same mechanism
>>
>> We are reading available frequencies from BPMP to populate
>>
>> cpufreq table and not using static opp table.
> 
> Right and lot of other platforms read it from firmware (I believe BBMP
> is a firmware here), and create OPPs at runtime. Look at this for
> example:
> 
> drivers/cpufreq/qcom-cpufreq-hw.c
> 
> and search for dev_pm_opp_add().
> 


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-12-04 13:57 UTC|newest]

Thread overview: 105+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-03 17:32 [TEGRA194_CPUFREQ Patch 1/3] firmware: tegra: adding function to get BPMP data Sumit Gupta
2019-12-03 17:32 ` Sumit Gupta
2019-12-03 17:32 ` Sumit Gupta
2019-12-03 17:32 ` [TEGRA194_CPUFREQ Patch 2/3] cpufreq: Add Tegra194 cpufreq driver Sumit Gupta
2019-12-03 17:32   ` Sumit Gupta
2019-12-03 17:32   ` Sumit Gupta
2019-12-04  5:40   ` Viresh Kumar
2019-12-04  5:40     ` Viresh Kumar
2019-12-04 10:55     ` sumitg
2019-12-04 10:55       ` sumitg
2019-12-04 10:55       ` sumitg
2019-12-04 11:27       ` Viresh Kumar
2019-12-04 11:27         ` Viresh Kumar
2019-12-04 13:57         ` Dmitry Osipenko [this message]
2019-12-04 13:57           ` Dmitry Osipenko
2019-12-05  2:51           ` Viresh Kumar
2019-12-05  2:51             ` Viresh Kumar
2019-12-05 12:55             ` Dmitry Osipenko
2019-12-05 12:55               ` Dmitry Osipenko
2020-03-25 23:59         ` sumitg
2020-03-25 23:59           ` sumitg
2020-03-25 23:59           ` sumitg
2019-12-04 13:59   ` Dmitry Osipenko
2019-12-04 13:59     ` Dmitry Osipenko
2019-12-05 14:15   ` Dmitry Osipenko
2019-12-05 14:15     ` Dmitry Osipenko
2020-03-26 11:50   ` Viresh Kumar
2020-03-26 11:50     ` Viresh Kumar
2020-03-26 11:50     ` Viresh Kumar
2020-04-04 18:38     ` sumitg
2020-04-04 18:38       ` sumitg
2020-04-04 18:38       ` sumitg
2020-04-06  2:55       ` Viresh Kumar
2020-04-06  2:55         ` Viresh Kumar
2020-04-06  2:55         ` Viresh Kumar
2020-04-07 18:18         ` sumitg
2020-04-07 18:18           ` sumitg
2020-04-07 18:18           ` sumitg
2020-04-08  5:53           ` Viresh Kumar
2020-04-08  5:53             ` Viresh Kumar
2020-04-08  5:53             ` Viresh Kumar
2020-04-08 11:24             ` sumitg
2020-04-08 11:24               ` sumitg
2020-04-08 11:24               ` sumitg
2020-04-09  7:44               ` Viresh Kumar
2020-04-09  7:44                 ` Viresh Kumar
2020-04-09  7:44                 ` Viresh Kumar
2020-04-09 11:21                 ` Sumit Gupta
2020-04-09 11:21                   ` Sumit Gupta
2020-04-09 11:21                   ` Sumit Gupta
2020-04-13  6:21                   ` Viresh Kumar
2020-04-13  6:21                     ` Viresh Kumar
2020-04-13  6:21                     ` Viresh Kumar
2020-04-13 12:20                     ` Sumit Gupta
2020-04-13 12:20                       ` Sumit Gupta
2020-04-13 12:20                       ` Sumit Gupta
2020-04-14  5:45                       ` Viresh Kumar
2020-04-14  5:45                         ` Viresh Kumar
2020-04-14  5:45                         ` Viresh Kumar
2020-04-15 11:25                         ` Sumit Gupta
2020-04-15 11:25                           ` Sumit Gupta
2020-04-15 11:25                           ` Sumit Gupta
2020-04-16  3:37                           ` Viresh Kumar
2020-04-16  3:37                             ` Viresh Kumar
2020-04-16  3:37                             ` Viresh Kumar
2020-04-16  7:06                             ` Sumit Gupta
2020-04-16  7:06                               ` Sumit Gupta
2020-04-16  7:06                               ` Sumit Gupta
2019-12-03 17:32 ` [TEGRA194_CPUFREQ Patch 3/3] arm64: defconfig: Enable CONFIG_ARM_TEGRA194_CPUFREQ Sumit Gupta
2019-12-03 17:32   ` Sumit Gupta
2019-12-03 17:32   ` Sumit Gupta
2019-12-03 17:42 ` [TEGRA194_CPUFREQ Patch 1/3] firmware: tegra: adding function to get BPMP data Thierry Reding
2019-12-03 17:42   ` Thierry Reding
2019-12-04  8:45   ` Mikko Perttunen
2019-12-04  8:45     ` Mikko Perttunen
2019-12-04  9:17     ` Viresh Kumar
2019-12-04  9:17       ` Viresh Kumar
2019-12-04  9:33       ` Thierry Reding
2019-12-04  9:33         ` Thierry Reding
2019-12-04  9:51         ` Viresh Kumar
2019-12-04  9:51           ` Viresh Kumar
2020-04-07 10:05           ` Thierry Reding
2020-04-07 10:05             ` Thierry Reding
2020-04-07 10:05             ` Thierry Reding
2020-04-27  7:18             ` Thierry Reding
2020-04-27  7:18               ` Thierry Reding
2020-04-27  7:18               ` Thierry Reding
2020-04-29  8:21               ` Sumit Gupta
2020-04-29  8:21                 ` Sumit Gupta
2020-04-29  8:21                 ` Sumit Gupta
2020-05-06 16:58               ` Thierry Reding
2020-05-06 16:58                 ` Thierry Reding
2020-05-20 14:43             ` Rob Herring
2020-05-20 14:43               ` Rob Herring
2020-05-20 14:43               ` Rob Herring
2020-05-20 15:38               ` Thierry Reding
2020-05-20 15:38                 ` Thierry Reding
2020-05-20 15:38                 ` Thierry Reding
2020-05-20 16:21                 ` Rob Herring
2020-05-20 16:21                   ` Rob Herring
2020-05-20 16:21                   ` Rob Herring
2019-12-04 10:21       ` Mikko Perttunen
2019-12-04 10:21         ` Mikko Perttunen
2019-12-04 10:26         ` Viresh Kumar
2019-12-04 10:26           ` Viresh Kumar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0b634341-ea2b-e9cd-4986-dc9a01c839bb@gmail.com \
    --to=digetx@gmail.com \
    --cc=bbasu@nvidia.com \
    --cc=catalin.marinas@arm.com \
    --cc=jonathanh@nvidia.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=mperttunen@nvidia.com \
    --cc=rjw@rjwysocki.net \
    --cc=sumitg@nvidia.com \
    --cc=talho@nvidia.com \
    --cc=thierry.reding@gmail.com \
    --cc=viresh.kumar@linaro.org \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.