From: gregory.clement@free-electrons.com (Gregory CLEMENT)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/6] Add CPU Frequency scaling support on Armada 37xx
Date: Wed, 06 Dec 2017 12:50:31 +0100 [thread overview]
Message-ID: <874lp4ulbs.fsf@free-electrons.com> (raw)
In-Reply-To: <f9ebd3e3-143a-b7e3-7b16-f09750b4c320@gmail.com> (Andre Heider's message of "Sun, 3 Dec 2017 13:23:33 +0100")
Hi Andre,
On dim., d?c. 03 2017, Andre Heider <a.heider@gmail.com> wrote:
> Hi Gregory,
>
> I applied this and the dvfs patch set ([PATCH 0/3] Add DVFS support on
> CPU clock for Armada 37xx) on top of 4.14.3 and gave it a try on
> espressobin.
Thanks for testing.
>
> Upon modprobe I get:
> [ 66.231652] freq_table: Duplicate freq-table entries: 0
> [ 66.236967] cpu cpu0: cpufreq_init: invalid frequency table: -22
> [ 66.243534] freq_table: Duplicate freq-table entries: 0
> [ 66.248575] cpu cpu1: cpufreq_init: invalid frequency table: -22
>
> Is this supposed to work already? Do I miss something?
I did a last rebase before sending the series to remove the avs part not
working yet. And during this rebase I introduced an bug.
I will send a v2 soon if you are intersected by testing it right now,
here it is the fix:
iff --git a/drivers/cpufreq/armada-37xx-cpufreq.c b/drivers/cpufreq/armada-37xx-cpufreq.c
index 40c9a744cc6e..96c2600009b5 100644
--- a/drivers/cpufreq/armada-37xx-cpufreq.c
+++ b/drivers/cpufreq/armada-37xx-cpufreq.c
@@ -219,7 +219,8 @@ static int __init armada37xx_cpufreq_driver_init(void)
*/
for (load_level = ARMADA_37XX_DVFS_LOAD_0; load_level < LOAD_LEVEL_NR;
load_level++) {
- unsigned long freq = dvfs->divider[load_level];
+ unsigned long freq = cur_frequency /
+ dvfs->divider[load_level];
ret = dev_pm_opp_add(cpu_dev, freq, 0);
if (ret)
Gregory
>
> Oh, and on that scenario it's not possible to rmmod the driver again, EBUSY.
>
> Thanks,
> Andre
>
> On 01/12/17 12:25, Gregory CLEMENT
> <gregory.clement@free-electrons.com> wrote:
>> Hi,
>>
>> This series adds the CPU Frequency support on Armada 37xx using
>> DVFS. It is based on the initial work of Evan Wang and Victor Gu.
>>
>> DVFS control is done by a set of registers from the North Bridge Power
>> Management block. The binding for this block is documented in patch 1.
>>
>> While adding a new cpufreq driver I found that the Kconfig and
>> Makefile were no more in order, so it is fixed by patch 2 and 3.
>>
>> The 4th patch is just about updating the MAINTAINERS file with the new
>> driver.
>>
>> The next patch is the real purpose of the series. The main goal of
>> this driver is to setup the CPU load level in the hardware to
>> associate them to CPU frequencies and register a standard cpufreq
>> driver. Note that the hardware also capable of doing AVS (Adaptive
>> Voltage Scaling), by associating a voltage on each level beside the
>> CPU frequency. However, this support is not yet ready, so it is not
>> part of this series.
>>
>> Finally, the last patch is for arm-soc the arm-soc subsystem through
>> mvebu and update the device tree to support the CPU frequency scaling.
>>
>> An update on the CPU clock driver is needed in order to take into
>> account the DVFS setting. It's the purpose of an other series already
>> sent, but is no dependencies between the series (for building or at
>> runtime).
>>
>> Thanks,
>>
>> Gregory
>>
>> Gregory CLEMENT (6):
>> dt-bindings: marvell: Add documentation for the North Bridge PM on
>> Armada 37xx
>> cpufreq: ARM: sort the Kconfig menu
>> cpufreq: sort the drivers in ARM part
>> MAINTAINERS: add new entries for Armada 37xx cpufreq driver
>> cpufreq: Add DVFS support for Armada 37xx
>> arm64: dts: marvell: armada-37xx: add nodes allowing cpufreq support
>>
>> .../bindings/arm/marvell/armada-37xx.txt | 19 ++
>> MAINTAINERS | 1 +
>> arch/arm64/boot/dts/marvell/armada-372x.dtsi | 1 +
>> arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 7 +
>> drivers/cpufreq/Kconfig.arm | 89 ++++----
>> drivers/cpufreq/Makefile | 9 +-
>> drivers/cpufreq/armada-37xx-cpufreq.c | 241 +++++++++++++++++++++
>> 7 files changed, 322 insertions(+), 45 deletions(-)
>> create mode 100644 drivers/cpufreq/armada-37xx-cpufreq.c
>>
>
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
next prev parent reply other threads:[~2017-12-06 11:50 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-01 11:25 [PATCH 0/6] Add CPU Frequency scaling support on Armada 37xx Gregory CLEMENT
2017-12-01 11:25 ` Gregory CLEMENT
2017-12-01 11:25 ` [PATCH 1/6] dt-bindings: marvell: Add documentation for the North Bridge PM " Gregory CLEMENT
2017-12-01 11:25 ` Gregory CLEMENT
2017-12-04 21:47 ` Rob Herring
2017-12-04 21:47 ` Rob Herring
2017-12-06 11:51 ` Gregory CLEMENT
2017-12-06 11:51 ` Gregory CLEMENT
2017-12-01 11:25 ` [PATCH 2/6] cpufreq: ARM: sort the Kconfig menu Gregory CLEMENT
2017-12-01 11:25 ` Gregory CLEMENT
2017-12-04 8:41 ` Viresh Kumar
2017-12-04 8:41 ` Viresh Kumar
2017-12-06 11:52 ` Gregory CLEMENT
2017-12-06 11:52 ` Gregory CLEMENT
2017-12-01 11:25 ` [PATCH 3/6] cpufreq: sort the drivers in ARM part Gregory CLEMENT
2017-12-01 11:25 ` Gregory CLEMENT
2017-12-04 9:18 ` Viresh Kumar
2017-12-04 9:18 ` Viresh Kumar
2017-12-06 12:09 ` Gregory CLEMENT
2017-12-06 12:09 ` Gregory CLEMENT
[not found] ` <20171201112508.14121-1-gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-12-01 11:25 ` [PATCH 4/6] MAINTAINERS: add new entries for Armada 37xx cpufreq driver Gregory CLEMENT
2017-12-01 11:25 ` Gregory CLEMENT
2017-12-01 11:25 ` [PATCH 5/6] cpufreq: Add DVFS support for Armada 37xx Gregory CLEMENT
2017-12-01 11:25 ` Gregory CLEMENT
2017-12-05 5:54 ` Viresh Kumar
2017-12-05 5:54 ` Viresh Kumar
2017-12-06 12:24 ` Gregory CLEMENT
2017-12-06 12:24 ` Gregory CLEMENT
2017-12-01 11:25 ` [PATCH 6/6] arm64: dts: marvell: armada-37xx: add nodes allowing cpufreq support Gregory CLEMENT
2017-12-01 11:25 ` Gregory CLEMENT
2017-12-03 12:23 ` [PATCH 0/6] Add CPU Frequency scaling support on Armada 37xx Andre Heider
2017-12-06 11:50 ` Gregory CLEMENT [this message]
2017-12-06 14:08 ` Andre Heider
2017-12-18 17:03 ` Gregory CLEMENT
2017-12-21 7:45 ` Andre Heider
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=874lp4ulbs.fsf@free-electrons.com \
--to=gregory.clement@free-electrons.com \
--cc=linux-arm-kernel@lists.infradead.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.