From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: Michael Turquette <mturquette@baylibre.com>,
Russell King <linux@armlinux.org.uk>,
linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Antoine Tenart <antoine.tenart@bootlin.com>,
Maxime Chevallier <maxime.chevallier@bootlin.com>,
Gregory Clement <gregory.clement@bootlin.com>,
Nadav Haklai <nadavh@marvell.com>
Subject: Re: [PATCH v3 1/4] clk: core: clarify the check for runtime PM
Date: Wed, 2 Jan 2019 11:55:22 +0100 [thread overview]
Message-ID: <20190102115522.2d7a1c37@xps13> (raw)
In-Reply-To: <154534015908.79149.14109221006631310404@swboyd.mtv.corp.google.com>
Hi Stephen,
Stephen Boyd <sboyd@kernel.org> wrote on Thu, 20 Dec 2018 13:09:19
-0800:
> Quoting Miquel Raynal (2018-12-19 00:03:31)
> > Hi Stephen,
> >
> > Stephen Boyd <sboyd@kernel.org> wrote on Tue, 18 Dec 2018 16:03:29
> > -0800:
> >
> > > Quoting Miquel Raynal (2018-12-04 11:24:37)
> > > > Currently, the core->dev entry is populated only if runtime PM is
> > > > enabled. Doing so prevents accessing the device structure in any
> > > > case.
> > > >
> > > > Keep the same logic but instead of using the presence of core->dev as
> > > > the only condition, also check the status of
> > > > pm_runtime_enabled(). Then, we can set the core->dev pointer at any
> > > > time as long as a device structure is available.
> > > >
> > > > This change will help supporting device links in the clock subsystem.
> > > >
> > > > Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
> > > > ---
> > > > drivers/clk/clk.c | 11 +++++------
> > > > 1 file changed, 5 insertions(+), 6 deletions(-)
> > > >
> > > > diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
> > > > index af011974d4ec..b799347c5fd6 100644
> > > > --- a/drivers/clk/clk.c
> > > > +++ b/drivers/clk/clk.c
> > > > @@ -97,7 +97,7 @@ static int clk_pm_runtime_get(struct clk_core *core)
> > > > {
> > > > int ret = 0;
> > > >
> > > > - if (!core->dev)
> > > > + if (!core->dev || !pm_runtime_enabled(core->dev))
> > >
> > > This looks potentially dangerous. What if runtime PM is disabled for the
> > > clk when this function is called? Shouldn't we just stash a bool away in
> > > the clk_core structure when it's registered? And then we can replace the
> > > check for !core->dev with a check for 'core->rpm_enabled' instead. That
> > > would be a more exact transformation.
> >
> > Sure, I'll do that if you think there is a danger.
>
> I've made the change and pushed it out to the clk tree. I'm working on
> some patches to change how we do parent lookups and reworking clk_get()
> in the process. Take a look so we don't duplicate efforts. The code
> isn't complete, but I hope to finish soon. Your device links patches can
> build upon this.
>
> git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-parent-rewrite
>
Sorry for the delay and thanks for the update. I have been preempted by
another issue, I will switch to clocks and propose something ASAP.
Thanks,
Miquèl
WARNING: multiple messages have this Message-ID (diff)
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: Gregory Clement <gregory.clement@bootlin.com>,
Antoine Tenart <antoine.tenart@bootlin.com>,
Michael Turquette <mturquette@baylibre.com>,
linux-kernel@vger.kernel.org,
Russell King <linux@armlinux.org.uk>,
Nadav Haklai <nadavh@marvell.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Maxime Chevallier <maxime.chevallier@bootlin.com>,
linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 1/4] clk: core: clarify the check for runtime PM
Date: Wed, 2 Jan 2019 11:55:22 +0100 [thread overview]
Message-ID: <20190102115522.2d7a1c37@xps13> (raw)
In-Reply-To: <154534015908.79149.14109221006631310404@swboyd.mtv.corp.google.com>
Hi Stephen,
Stephen Boyd <sboyd@kernel.org> wrote on Thu, 20 Dec 2018 13:09:19
-0800:
> Quoting Miquel Raynal (2018-12-19 00:03:31)
> > Hi Stephen,
> >
> > Stephen Boyd <sboyd@kernel.org> wrote on Tue, 18 Dec 2018 16:03:29
> > -0800:
> >
> > > Quoting Miquel Raynal (2018-12-04 11:24:37)
> > > > Currently, the core->dev entry is populated only if runtime PM is
> > > > enabled. Doing so prevents accessing the device structure in any
> > > > case.
> > > >
> > > > Keep the same logic but instead of using the presence of core->dev as
> > > > the only condition, also check the status of
> > > > pm_runtime_enabled(). Then, we can set the core->dev pointer at any
> > > > time as long as a device structure is available.
> > > >
> > > > This change will help supporting device links in the clock subsystem.
> > > >
> > > > Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
> > > > ---
> > > > drivers/clk/clk.c | 11 +++++------
> > > > 1 file changed, 5 insertions(+), 6 deletions(-)
> > > >
> > > > diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
> > > > index af011974d4ec..b799347c5fd6 100644
> > > > --- a/drivers/clk/clk.c
> > > > +++ b/drivers/clk/clk.c
> > > > @@ -97,7 +97,7 @@ static int clk_pm_runtime_get(struct clk_core *core)
> > > > {
> > > > int ret = 0;
> > > >
> > > > - if (!core->dev)
> > > > + if (!core->dev || !pm_runtime_enabled(core->dev))
> > >
> > > This looks potentially dangerous. What if runtime PM is disabled for the
> > > clk when this function is called? Shouldn't we just stash a bool away in
> > > the clk_core structure when it's registered? And then we can replace the
> > > check for !core->dev with a check for 'core->rpm_enabled' instead. That
> > > would be a more exact transformation.
> >
> > Sure, I'll do that if you think there is a danger.
>
> I've made the change and pushed it out to the clk tree. I'm working on
> some patches to change how we do parent lookups and reworking clk_get()
> in the process. Take a look so we don't duplicate efforts. The code
> isn't complete, but I hope to finish soon. Your device links patches can
> build upon this.
>
> git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-parent-rewrite
>
Sorry for the delay and thanks for the update. I have been preempted by
another issue, I will switch to clocks and propose something ASAP.
Thanks,
Miquèl
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-01-02 10:55 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-04 19:24 [PATCH v3 0/4] Add device links to clocks Miquel Raynal
2018-12-04 19:24 ` Miquel Raynal
2018-12-04 19:24 ` [PATCH v3 1/4] clk: core: clarify the check for runtime PM Miquel Raynal
2018-12-04 19:24 ` Miquel Raynal
2018-12-19 0:03 ` Stephen Boyd
2018-12-19 0:03 ` Stephen Boyd
2018-12-19 8:03 ` Miquel Raynal
2018-12-19 8:03 ` Miquel Raynal
2018-12-20 21:09 ` Stephen Boyd
2018-12-20 21:09 ` Stephen Boyd
2019-01-02 10:55 ` Miquel Raynal [this message]
2019-01-02 10:55 ` Miquel Raynal
2018-12-04 19:24 ` [PATCH v3 2/4] clk: core: link consumer with clock driver Miquel Raynal
2018-12-04 19:24 ` Miquel Raynal
2018-12-11 17:12 ` Stephen Boyd
2018-12-11 17:12 ` Stephen Boyd
2018-12-17 14:24 ` Miquel Raynal
2018-12-17 14:24 ` Miquel Raynal
2019-01-04 15:54 ` Miquel Raynal
2019-01-04 15:54 ` Miquel Raynal
2019-01-25 21:28 ` Stephen Boyd
2019-01-25 21:28 ` Stephen Boyd
2019-01-28 10:06 ` Miquel Raynal
2019-01-28 10:06 ` Miquel Raynal
2018-12-04 19:24 ` [PATCH v3 3/4] clk: mvebu: armada-37xx-tbg: fill the device entry when registering the clocks Miquel Raynal
2018-12-04 19:24 ` Miquel Raynal
2018-12-04 19:24 ` [PATCH v3 4/4] clk: mvebu: armada-37xx-xtal: fill the device entry when registering the clock Miquel Raynal
2018-12-04 19:24 ` Miquel Raynal
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=20190102115522.2d7a1c37@xps13 \
--to=miquel.raynal@bootlin.com \
--cc=antoine.tenart@bootlin.com \
--cc=gregory.clement@bootlin.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=maxime.chevallier@bootlin.com \
--cc=mturquette@baylibre.com \
--cc=nadavh@marvell.com \
--cc=sboyd@kernel.org \
--cc=thomas.petazzoni@bootlin.com \
/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.