Re: [RFC PATCH 0/3] Add support of busfreq

From: Alexandre Bailon
Date: Fri Mar 15 2019 - 05:31:19 EST


Hi Aisheng

On 3/15/19 3:39 AM, Aisheng Dong wrote:
+Jacky and Leonard, Ranjani

Hi Alexandre,

From: Alexandre Bailon [mailto:abailon@xxxxxxxxxxxx]

This series implements busfreq, a framework used in MXP's tree to scale the
interconnect and dram frequencies.
In the vendor tree, device's driver request for a performance level, which is
used to scale the frequencies.
This series implements it using the interconnect framework.
Devices' driver request for bandwidth which is use by busfreq to determine a
performance level, and then scale the frequency.

Busfreq is quite generic. It could be used for any i.MX SoC.
A busfreq platform driver just have to define a list of interconnect nodes, and
some OPPs.


It's really great to see this patch series.
And it should be the correct direction we're heading to upstream busfreq support.

This series is sent as RFC mostly because the current support of i.MX SoC won't
benefit of busfreq framework, because the clocks' driver don't support
interconnect / dram frequency scaling.
As exemple, this series implements busfreq for i.MX8MM whose upstreaming
is in progress. Because this relies on ATF to do the frequency scaling, it won't
be hard make it work.


How can I test this patch series?
Any additional patches you can share with us?
Or what else we need to do to test it? We can help with it.
Many other patches will be required to test the series.
There are a couple of patches that updates i.MX device drivers to request for bandwidth (does similar thing as bus_freq_request and bus_freq_release).
In addition, a patch to that allow to scale the DRAM
frequency using CCF is required. I'm still working on this patch. It works correctly on 4.14, but since I rebased it on linux-next/master, it stopped to work. I'm trying to fix it now.
I will share all this patches ASAP.

Best Regards,
Alexandre

Regards
Dong Aisheng

As exemple, this series implements busfreq for Alexandre Bailon (3):
drivers: interconnect: Add a driver for i.MX SoC
drivers: interconnect: imx: Add support of i.MX8MM
dt-bindings: interconnect: Document fsl,busfreq-imx8mm bindings

.../bindings/interconnect/imx8mm.txt | 24 +
drivers/interconnect/Kconfig | 1 +
drivers/interconnect/Makefile | 1 +
drivers/interconnect/imx/Kconfig | 17 +
drivers/interconnect/imx/Makefile | 2 +
drivers/interconnect/imx/busfreq-imx8mm.c | 132 ++++
drivers/interconnect/imx/busfreq.c | 570
++++++++++++++++++
drivers/interconnect/imx/busfreq.h | 123 ++++
include/dt-bindings/interconnect/imx8mm.h | 37 ++
9 files changed, 907 insertions(+)
create mode 100644
Documentation/devicetree/bindings/interconnect/imx8mm.txt
create mode 100644 drivers/interconnect/imx/Kconfig create mode
100644 drivers/interconnect/imx/Makefile create mode 100644
drivers/interconnect/imx/busfreq-imx8mm.c
create mode 100644 drivers/interconnect/imx/busfreq.c
create mode 100644 drivers/interconnect/imx/busfreq.h
create mode 100644 include/dt-bindings/interconnect/imx8mm.h

--
2.19.2