From: Sudeep Holla <sudeep.holla@arm.com>
To: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
linux-samsung-soc@vger.kernel.org,
Viresh Kumar <viresh.kumar@linaro.org>,
"Rafael J . Wysocki" <rjw@rjwysocki.net>,
Nishanth Menon <nm@ti.com>, Stephen Boyd <sboyd@kernel.org>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
Dave Gerlach <d-gerlach@ti.com>, Wolfram Sang <wsa@the-dreams.de>
Subject: Re: [PATCH 0/2] cpufreq/opp: rework regulator initialization
Date: Fri, 8 Feb 2019 12:16:53 +0000 [thread overview]
Message-ID: <20190208121653.GC13043@e107155-lin> (raw)
In-Reply-To: <66b33c07-4970-b60a-d924-d4baba79c836@samsung.com>
On Fri, Feb 08, 2019 at 01:04:18PM +0100, Marek Szyprowski wrote:
> Hi Sudeep,
>
> On 2019-02-08 12:51, Sudeep Holla wrote:
> > On Fri, Feb 08, 2019 at 12:47:06PM +0100, Marek Szyprowski wrote:
> >> On 2019-02-08 12:00, Sudeep Holla wrote:
> >>> On Thu, Feb 07, 2019 at 01:22:25PM +0100, Marek Szyprowski wrote:
> >>>> Dear All,
> >>>>
> >>>> This is a scenario that triggers the above issue:
> >>> [...]
> >>>> 1. system disables non-boot cpu's at the end of system suspend procedure,
> >>>> 2. this in turn deinitializes cpufreq drivers for the disabled cpus,
> >>>> 3. early in the system resume procedure all cpus are got back to online
> >>>> state,
> >>>> 4. this in turn causes cpufreq to be initialized for the newly onlined
> >>>> cpus,
> >>>> 5. cpufreq-dt acquires all its resources (clocks, regulators) during
> >>>> ->init() callback,
> >>> This is strictly not just restricted to cpufreq-dt, but to any driver
> >>> supporting multiple policies. So we need a generic fix not just
> >>> cpufreq-dt specific.
> >> Could you point which other driver needs similar fix? Here in cpufreq-dt
> >> the problem was caused by using regulator api (indirectly) from
> >> ->init(). All other drivers, which have regulators support, are for old,
> >> obsolete, uni-processor systems, which don't have the problem of
> >> secondary cpu suspend during system suspend/resume cycle.
> >>
> > scmi_cpufreq for instance. We can fix that in driver my moving to polling
> > to get cpufreq_get_rate, but we support both polling and interrupt based.
> > We may wait for remote processor interrupt in get_rate.
>
> Frankly, I don't feel I know enough to touch this driver and I don't
> think that this can even be fixed in a generic way in the cpufreq core.
Why not ? IIUC it's only to get/set the frequency you would need to talk
to remote processor or external chip over I2C which can be deferred until
resume. Rafael has valid concerns on messed up init implementations, still
wondering if there's any chance to solve this in the core.
> Maybe a comment somewhere is needed that ->init() might be called during
> early system resume with irqs off and driver is responsible for handling
> such case until the proper resume?
>
I agree and +1 for comment, but every driver needs to deal with that,
which is fine. Just trying to see if we can avoid it.
--
Regards,
Sudeep
next prev parent reply other threads:[~2019-02-08 12:17 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20190207122255eucas1p1cdebed838c799eca46cce6a654a26187@eucas1p1.samsung.com>
2019-02-07 12:22 ` [PATCH 0/2] cpufreq/opp: rework regulator initialization Marek Szyprowski
2019-02-07 12:22 ` [PATCH 1/2] cpufreq: dt/ti/opp: move regulators initialization to the drivers Marek Szyprowski
2019-02-07 12:22 ` [PATCH 2/2] cpufreq: dt: rework resources initialization Marek Szyprowski
2019-02-08 1:26 ` kbuild test robot
2019-02-08 6:49 ` [PATCH 0/2] cpufreq/opp: rework regulator initialization Viresh Kumar
2019-02-08 8:12 ` Marek Szyprowski
2019-02-08 8:55 ` Viresh Kumar
2019-02-08 9:15 ` Marek Szyprowski
2019-02-08 9:23 ` Viresh Kumar
2019-02-08 10:02 ` Marek Szyprowski
2019-02-08 10:08 ` Rafael J. Wysocki
2019-02-08 10:18 ` Rafael J. Wysocki
2019-02-08 10:28 ` Viresh Kumar
2019-02-08 10:22 ` Rafael J. Wysocki
2019-02-08 10:31 ` Marek Szyprowski
2019-02-08 10:31 ` Viresh Kumar
2019-02-08 10:42 ` Rafael J. Wysocki
2019-02-08 10:52 ` Rafael J. Wysocki
2019-02-08 11:39 ` Sudeep Holla
2019-02-08 12:03 ` Rafael J. Wysocki
2019-02-08 12:09 ` Sudeep Holla
2019-02-08 12:23 ` Rafael J. Wysocki
2019-02-08 14:28 ` Sudeep Holla
2019-02-08 11:00 ` Sudeep Holla
2019-02-08 11:47 ` Marek Szyprowski
2019-02-08 11:51 ` Sudeep Holla
2019-02-08 12:04 ` Marek Szyprowski
2019-02-08 12:11 ` Rafael J. Wysocki
2019-02-08 12:16 ` Sudeep Holla [this message]
2019-02-08 17:41 ` Sudeep Holla
2019-02-11 8:47 ` Viresh Kumar
2019-02-11 14:08 ` Sudeep Holla
2019-02-11 8:44 ` Viresh Kumar
2019-02-11 9:52 ` Marek Szyprowski
2019-02-11 9:55 ` Viresh Kumar
2019-02-11 12:22 ` Marek Szyprowski
2019-02-12 5:08 ` Viresh Kumar
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=20190208121653.GC13043@e107155-lin \
--to=sudeep.holla@arm.com \
--cc=b.zolnierkie@samsung.com \
--cc=d-gerlach@ti.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=nm@ti.com \
--cc=rjw@rjwysocki.net \
--cc=sboyd@kernel.org \
--cc=viresh.kumar@linaro.org \
--cc=wsa@the-dreams.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox