linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Qcom clock performance votes on mainline
@ 2020-09-10 16:26 Stephan Gerhold
  2020-09-10 21:28 ` Stephen Boyd
  0 siblings, 1 reply; 5+ messages in thread
From: Stephan Gerhold @ 2020-09-10 16:26 UTC (permalink / raw)
  To: Stephen Boyd, Rajendra Nayak
  Cc: Viresh Kumar, Ulf Hansson, Georgi Djakov, linux-arm-msm, linux-pm,
	linux-clk

Hi Stephen, Hi Rajendra,

while working on some MSM8916 things I've been staring at the downstream
clock-gcc-8916.c [1] driver a bit. One thing that confuses me are the
voltage/performance state votes that are made for certain clocks within
the driver. Specifically lines like

    VDD_DIG_FMAX_MAP2(LOW, 32000000, NOMINAL, 64000000),

on certain clocks like UART, I2C or SPI. There does not seem to be
anything equivalent in the mainline clock driver at the moment.

As far as I understand from related discussions on mailing lists [2],
these performance votes are not supposed to be added to the clock
driver(s), but rather as required-opps within OPP tables of all the
consumers. Is that correct?

As a second question, I'm wondering about one particular case:
I've been trying to get CPR / all the CPU frequencies working on MSM8916.
For that, I already added performance state votes for VDDMX and CPR as
required-opps to the CPU OPP table.

After a recent discussion [3] with Viresh about where to enable power
domains managed by the OPP core, I've been looking at all the
performance state votes made in the downstream kernel again.

Actually, the A53 PLL used for the higher CPU frequencies also has such
voltage/performance state votes. The downstream driver declares the
clock like [4]:

		.vdd_class = &vdd_sr2_pll,
		.fmax = (unsigned long [VDD_SR2_PLL_NUM]) {
			[VDD_SR2_PLL_SVS] = 1000000000,
			[VDD_SR2_PLL_NOM] = 1900000000,
		},
		.num_fmax = VDD_SR2_PLL_NUM,

which ends up as votes for the VDDCX power domain.

Now I'm wondering: Where should I make these votes on mainline?
Should I add it as yet another required-opps to the CPU OPP table?

It would be a bit of a special case because these votes are only done
for the A53 PLL (which is only used for the higher CPU frequencies, not
the lower ones)...

Thanks in advance!
Stephan

[1]: https://source.codeaurora.org/quic/la/kernel/msm-3.10/tree/drivers/clk/qcom/clock-gcc-8916.c?h=LA.BR.1.2.9.1-02310-8x16.0
[2]: https://lore.kernel.org/linux-arm-msm/20190129015547.213276-1-swboyd@chromium.org/
[3]: https://lore.kernel.org/linux-pm/20200826093328.88268-1-stephan@gerhold.net/
[4]: https://source.codeaurora.org/quic/la/kernel/msm-3.10/tree/drivers/clk/qcom/clock-gcc-8916.c?h=LA.BR.1.2.9.1-02310-8x16.0#n354

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

end of thread, other threads:[~2020-09-11  6:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-10 16:26 Qcom clock performance votes on mainline Stephan Gerhold
2020-09-10 21:28 ` Stephen Boyd
2020-09-11  5:48   ` Stephan Gerhold
2020-09-11  6:05     ` Viresh Kumar
2020-09-11  6:26       ` Stephan Gerhold

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).