On Thu, Sep 2, 2021 at 11:02 PM Péter Ujfalusi <peter.ujfalusi@xxxxxxxxxxxxxxx> wrote: > > Hi Daniel, > > On 02/09/2021 15:32, Daniel Baluta wrote: > > From: Daniel Baluta <daniel.baluta@xxxxxxx> > > > > There are two types of clocks: > > * DSP IP clocks > > * DAI clocks > > > > This clocks are necessary in order to power up DSP and DAIs. > > > > We choose to enable DAI clocks here because of the way i.MX8/i.MX8X > > design handles resources (including clocks). > > > > All clocks are managed by a separate core (named SCU) which communicates > > with Linux managed ARM core via a well known API. > > > > We parse and enable the clocks in probe function and disable them in > > remove function. > > > > Future patches will introduce Power Management support so that we > > disable clocks while DSP is not used or system enters power save. > > Unfortunately this patch does not apply to next. Yes, because my patch is based on SOF topic/sof-dev branch and this small patch https://github.com/thesofproject/linux/commit/b56c58b5938a626fb08fcf1d5e38d687b520ab89 is not in linux-next. I plan to stay on SOF branch and get the review tags so we can merge it in SOF tree. > > I might be a bit too cautius, but I would also add "&& COMMON_CLK" for > the COMPILE_TEST in Kconfig or select it from where it is appropriate? Maybe add a depends on COMMON_CLK for IMX hardware support? Altough, if CLK support is not selected clk API transforms itself into dummy wrappers. > > > Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxx> > > --- > > sound/soc/sof/imx/imx-common.c | 77 ++++++++++++++++++++++++++++++++++ > > sound/soc/sof/imx/imx-common.h | 16 +++++++ > > sound/soc/sof/imx/imx8.c | 32 ++++++++++++++ > > sound/soc/sof/imx/imx8m.c | 33 +++++++++++++++ > > 4 files changed, 158 insertions(+) > > > > diff --git a/sound/soc/sof/imx/imx8m.c b/sound/soc/sof/imx/imx8m.c > > index 30624fafc632..482c25ab15ce 100644 > > --- a/sound/soc/sof/imx/imx8m.c > > +++ b/sound/soc/sof/imx/imx8m.c > > @@ -23,6 +23,20 @@ > > #define MBOX_OFFSET 0x800000 > > #define MBOX_SIZE 0x1000 > > > > +#define IMX8M_DSP_CLK_NUM 3 > > +static const char *imx8m_dsp_clks_names[IMX8M_DSP_CLK_NUM] = { > > static const char *imx8m_dsp_clks_names[] > > + ARRAY_SIZE(imx8m_dsp_clks_names) instead IMX8M_DSP_CLK_NUM ? Yes, this is a good idea. Already fixed in v2 I sent eariler.