From: Lorenzo Pieralisi <lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
To: Samuel Ortiz <sameo-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
Cc: Nicolas Pitre
<nicolas.pitre-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Jon Medhurst <tixy-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Pawel Moll <Pawel.Moll-5wv7dgnIgG8@public.gmane.org>,
"devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org"
<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Amit Kucheria
<amit.kucheria-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Achin Gupta <Achin.Gupta-5wv7dgnIgG8@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: [RFC PATCH v5 0/1] drivers: mfd: Versatile Express SPC support
Date: Thu, 18 Jul 2013 10:28:09 +0100 [thread overview]
Message-ID: <20130718092809.GA29977@e102568-lin.cambridge.arm.com> (raw)
In-Reply-To: <20130717210700.GA19864@zurbaran>
Hi Samuel,
On Wed, Jul 17, 2013 at 10:07:00PM +0100, Samuel Ortiz wrote:
> Hi Lorenzo,
>
> On Tue, Jul 16, 2013 at 05:05:42PM +0100, Lorenzo Pieralisi wrote:
> > Hello,
> >
> > version v5 of VExpress SPC driver, please read on the changelog for major
> > changes and explanations.
> >
> > The probing scheme is unchanged, since after trying the early platform
> > devices approach it appeared that the end result was no better than the
> > current one. The only clean solution relies either on changing how
> > secondaries are brought up in the kernel (later than now) or enable
> > early platform device registration through DT. Please check this
> > thread for the related discussion:
> >
> > https://lists.ozlabs.org/pipermail/devicetree-discuss/2013-June/036542.html
> >
> > The interface was adapted to regmap and again reverted to old driver for
> > the following reasons:
> >
> > - Power down registers locking is hairy and requires arch spinlocks in
> > the MCPM back end to work properly, normal spinlocks cannot be used
> > - Regmap adds unnecessary code to manage SPC since it is just a bunch of
> > registers used to control power management flags, the overhead is just
> > not worth it (talking about power down registers, not the vexpress config
> > interface)
> > - The locking scheme behind regmap requires all registers in the map
> > to be protected with the same lock, which is not exactly what we want
> > here
> > - Given the reasons above, adding a regmap interface buys us nothing from
> > a driver readability and maintainability perspective (again just talking
> > about the power interface, a few registers) because for the SPC it would
> > simply not be used
> >
> > /drivers/mfd is probably not the right place for this code as it stands (but
> > probably will be when the entire driver, with DVFS and config interface, is
> > complete).
> Could you please elaborate on how will the SPC driver extend into an MFD
> driver?
Reading through the thread I noticed Nico explained details properly, I
was about to mention a possible solution to the directory issue but I am
pretty sure that what he did will turn out for the best.
Usually, or better, historically, these pieces of code that program
PMICs lived in arch/arm/mach-* directories and that's something we could
have done as well (create a static mapping and write some functions to
peek and poke a few registers), but we thought that it was not the proper
way to go.
On top of that, the SPC is part of a component whose register space maps
disparate functions (config interface for voltage, clocks, energy probes,
frequency scaling and power states management) and basically that's the
reason we struggled to partition it properly (with further complexity
implied by the way requests - config and frequency scaling - have to be
serialized).
I hope the end result is reasonable, and overall I think it was a debate
that was worth having.
Thank you,
Lorenzo
prev parent reply other threads:[~2013-07-18 9:28 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-16 16:05 [RFC PATCH v5 0/1] drivers: mfd: Versatile Express SPC support Lorenzo Pieralisi
2013-07-17 9:18 ` Pawel Moll
2013-07-17 10:44 ` Lorenzo Pieralisi
2013-07-17 12:33 ` Nicolas Pitre
2013-07-17 13:29 ` Pawel Moll
2013-07-17 14:16 ` Nicolas Pitre
2013-07-17 14:20 ` Pawel Moll
2013-07-17 15:57 ` Nicolas Pitre
[not found] ` <alpine.LFD.2.03.1307171148160.14924-hIgblCxmbi8OMTOF05IoTw@public.gmane.org>
2013-07-17 17:00 ` Russell King - ARM Linux
2013-07-17 18:29 ` Nicolas Pitre
2013-07-17 21:23 ` Samuel Ortiz
2013-07-17 22:22 ` Nicolas Pitre
2013-07-17 22:47 ` Samuel Ortiz
2013-07-17 21:10 ` Samuel Ortiz
[not found] ` <1373990743-23106-1-git-send-email-lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
2013-07-16 16:05 ` [RFC PATCH v5 1/1] drivers: mfd: vexpress: add Serial Power Controller (SPC) support Lorenzo Pieralisi
2013-07-16 20:05 ` Rob Herring
2013-07-16 23:32 ` Nicolas Pitre
2013-07-17 3:26 ` [RFC PATCH v5 0/1] drivers: mfd: Versatile Express SPC support Nicolas Pitre
2013-07-17 21:07 ` Samuel Ortiz
2013-07-18 9:28 ` Lorenzo Pieralisi [this message]
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=20130718092809.GA29977@e102568-lin.cambridge.arm.com \
--to=lorenzo.pieralisi-5wv7dgnigg8@public.gmane.org \
--cc=Achin.Gupta-5wv7dgnIgG8@public.gmane.org \
--cc=Pawel.Moll-5wv7dgnIgG8@public.gmane.org \
--cc=amit.kucheria-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=nicolas.pitre-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=sameo-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
--cc=tixy-QSEj5FYQhm4dnm+yROfE0A@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).