From: Srinivas KANDAGATLA <srinivas.kandagatla@st.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: dong.aisheng@linaro.org, sameo@linux.intel.com,
Rob Landley <rob@landley.net>,
Grant Likely <grant.likely@secretlab.ca>,
Rob Herring <rob.herring@calxeda.com>,
Russell King <linux@arm.linux.org.uk>,
Linus Walleij <linus.walleij@linaro.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jslaby@suse.cz>, Stuart Menefy <stuart.menefy@st.com>,
Shawn Guo <shawn.guo@linaro.org>, Olof Johansson <olof@lixom.net>,
Jason Cooper <jason@lakedaemon.net>,
Stephen Warren <swarren@nvidia.com>,
Maxime Ripard <maxime.ripard@free-electrons.com>,
Nicolas Pitre <nico@linaro.org>,
Will Deacon <will.deacon@arm.com>,
Dave Martin <dave.martin@linaro.org>,
Marc Zyngier <marc.zyngier@arm.com>,
Viresh Kumar <viresh.kumar@linaro.org>,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
devicetree-discuss@lists.ozlabs.org
Subject: Re: [RFC 3/8] mfd:syscon: Introduce claim/read/write/release APIs
Date: Wed, 08 May 2013 18:32:13 +0100 [thread overview]
Message-ID: <518A8C1D.3090600@st.com> (raw)
In-Reply-To: <201305081650.23264.arnd@arndb.de>
Thankyou for your comments.
On 08/05/13 15:50, Arnd Bergmann wrote:
> On Wednesday 08 May 2013, Srinivas KANDAGATLA wrote:
>> From: Srinivas Kandagatla <srinivas.kandagatla@st.com>
>>
>> This patch introduces syscon_claim, syscon_read, syscon_write,
>> syscon_release APIs to help drivers to use syscon registers in much more
>> flexible way.
>>
>> With this patch, a driver can claim few/all bits in the syscon registers
>> and do read/write and then release them when its totally finished with
>> them, in the mean time if another driver requests same bits or registers
>> the API will detect conflit and return error to the second request.
>>
>> Reason to introduce this API.
>> System configuration/control registers are very basic configuration
>> registers arranged in groups across ST Settop Box parts. These registers
>> are independent of IP itself. Many IPs, clock, pad and other functions
>> are wired up to these registers.
>>
>> In many cases a single syconf register contains bits related to multiple
>> devices, and therefore it need to be shared across multiple drivers at
>> bit level. The same IP block can have different syscon mappings on
>> different SOCs.
>>
>> Typically in a SOC there will be more than hundreds of these registers,
>> which are again divided into groups.
>>
>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com>
>> CC: Stuart Menefy <stuart.menefy@st.com>
> My feeling is that syscon is the wrong place for this functionality,
> since regmap already handles (some of?) these issues. If you need
> additional synchronization, it's probably best to extend regmap
> as needed so other code besides syscon can take advantage of that
> as well.
Its not just synchronisation that we are looking for.
It also the usability, drivers want to just refer to a syscon
register/bits of it from device trees/non-devicetrees.
The extent of syscon usage is very high in ST set-top-box parts.
As example, ST pinctrl driver uses use bits of the syscon register to
control alternate functions, and many other parameters of pinconf.
In device tree we do something like:
syscfg_sbc: syscon@fe600000{
compatible = "syscon";
reg = <0xfe600000 0xb4>;
};
and in pinctrl dts file
st,alt-control = <&syscfg_sbc 0 0 31>;
st,od-control = <&syscfg_sbc 9 0 7>;
the pinctrl driver calls syconf_claim(np, "st,alt-control) to get a
field and then do a read/write on the field.
Just in pinctrl driver we use around 50-100 sysconf registers scatters
across different groups.
Without these new APIs, its very difficult to pass this information to
the drivers.
Thanks,
srini
>
> Arnd
>
next prev parent reply other threads:[~2013-05-08 17:32 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-08 14:09 [RFC 0/8] ARM:STiH41x: Add STiH41x platform and board support Srinivas KANDAGATLA
2013-05-08 14:11 ` [RFC 2/8] ARM:global_timer: Add ARM global timer support Srinivas KANDAGATLA
2013-05-08 14:26 ` Rob Herring
2013-05-08 15:06 ` Stuart MENEFY
2013-05-08 14:38 ` Arnd Bergmann
[not found] ` <201305081638.23100.arnd-r2nGTMty4D4@public.gmane.org>
2013-05-08 14:49 ` Will Deacon
2013-05-08 15:48 ` Stuart MENEFY
[not found] ` <518A73CF.8000309-qxv4g6HH51o@public.gmane.org>
2013-05-08 16:23 ` Arnd Bergmann
2013-05-08 14:51 ` Steffen Trumtrar
2013-05-09 14:07 ` Srinivas KANDAGATLA
2013-05-09 14:51 ` Arnd Bergmann
2013-05-09 14:51 ` Srinivas KANDAGATLA
[not found] ` <1368022260-2197-1-git-send-email-srinivas.kandagatla-qxv4g6HH51o@public.gmane.org>
2013-05-13 19:05 ` Linus Walleij
[not found] ` <CACRpkdZCP=w=4Q3bnuMQxm=Oe-uZke+Cc5NgddM5vsQbgr9E-Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-05-13 19:30 ` Thomas Gleixner
2013-05-14 8:46 ` Srinivas KANDAGATLA
[not found] ` <5191F9EE.6070008-qxv4g6HH51o@public.gmane.org>
2013-05-14 9:23 ` Linus Walleij
[not found] ` <CACRpkdYh72hQHSK-a9r8R9qfnQv06412YqVNeYpc_rZhMeiXww-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-05-14 10:26 ` Srinivas KANDAGATLA
2013-05-08 14:11 ` [RFC 3/8] mfd:syscon: Introduce claim/read/write/release APIs Srinivas KANDAGATLA
2013-05-08 14:50 ` Arnd Bergmann
2013-05-08 15:01 ` Mark Brown
2013-05-08 17:42 ` Srinivas KANDAGATLA
[not found] ` <518A8E6C.6070907-qxv4g6HH51o@public.gmane.org>
2013-05-09 9:51 ` Mark Brown
2013-05-09 11:58 ` Srinivas KANDAGATLA
2013-05-09 13:26 ` Mark Brown
[not found] ` <20130509132600.GA3200-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-05-09 14:00 ` Srinivas KANDAGATLA
2013-05-09 14:40 ` Mark Brown
2013-05-09 14:47 ` Srinivas KANDAGATLA
2013-05-10 12:51 ` Srinivas KANDAGATLA
2013-05-08 17:32 ` Srinivas KANDAGATLA [this message]
[not found] ` <518A8C1D.3090600-qxv4g6HH51o@public.gmane.org>
2013-05-08 19:48 ` Arnd Bergmann
2013-05-09 10:17 ` Srinivas KANDAGATLA
[not found] ` <518B77C1.70107-qxv4g6HH51o@public.gmane.org>
2013-05-17 14:36 ` Arnd Bergmann
2013-05-20 12:48 ` Srinivas KANDAGATLA
2013-05-23 21:44 ` Arnd Bergmann
2013-05-24 16:06 ` Srinivas KANDAGATLA
[not found] ` <201305081650.23264.arnd-r2nGTMty4D4@public.gmane.org>
2013-05-08 19:41 ` Re[2]: " Alexander Shiyan
2013-05-08 14:11 ` =?y?q?=5BRFC=205/8=5D=20ARM=3Astih41x=3A=20Add=20STiH415=20SOC=20support?= Srinivas KANDAGATLA
2013-05-08 16:18 ` [RFC 5/8] ARM:stih41x: Add STiH415 SOC support Arnd Bergmann
2013-05-08 16:21 ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-08 17:03 ` Srinivas KANDAGATLA
2013-05-08 14:11 ` [RFC 6/8] ARM:stih41x: Add STiH416 " Srinivas KANDAGATLA
[not found] ` <1368022318-2380-1-git-send-email-srinivas.kandagatla-qxv4g6HH51o@public.gmane.org>
2013-05-15 19:41 ` Linus Walleij
[not found] ` <1368022187-1633-1-git-send-email-srinivas.kandagatla-qxv4g6HH51o@public.gmane.org>
2013-05-08 14:10 ` [RFC 1/8] serial:st-asc: Add ST ASC driver Srinivas KANDAGATLA
2013-05-08 14:34 ` Arnd Bergmann
2013-05-08 14:39 ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-08 18:18 ` Srinivas KANDAGATLA
2013-05-08 19:55 ` Arnd Bergmann
[not found] ` <201305081634.43498.arnd-r2nGTMty4D4@public.gmane.org>
2013-05-08 15:34 ` Greg KH
[not found] ` <20130508153459.GA17186-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2013-05-08 15:40 ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-08 15:53 ` Greg KH
2013-05-08 16:03 ` Jean-Christophe PLAGNIOL-VILLARD
[not found] ` <B5A00B86-5332-427E-A82A-5B71EC0979A8-sclMFOaUSTBWk0Htik3J/w@public.gmane.org>
2013-05-08 16:15 ` Greg KH
2013-05-08 16:31 ` Arnd Bergmann
2013-05-08 16:36 ` Greg KH
2013-05-10 23:29 ` Russell King - ARM Linux
2013-05-08 16:39 ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-08 16:45 ` Nicolas Pitre
[not found] ` <alpine.LFD.2.03.1305081239260.13109-hIgblCxmbi8OMTOF05IoTw@public.gmane.org>
2013-05-08 18:35 ` Arnd Bergmann
2013-05-09 13:36 ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-08 16:10 ` Stephen GALLIMORE
2013-05-10 13:50 ` Stephen GALLIMORE
2013-05-10 14:08 ` Greg KH
2013-05-10 14:45 ` Ben Dooks
[not found] ` <518D07FB.7010606-4yDnlxn2s6sWdaTGBSpHTA@public.gmane.org>
2013-05-10 15:23 ` Greg KH
2013-05-10 15:31 ` Ben Dooks
2013-05-10 15:40 ` Stuart MENEFY
2013-05-08 18:02 ` Srinivas KANDAGATLA
2013-05-20 11:49 ` Stephen GALLIMORE
2013-05-22 15:13 ` Arnd Bergmann
2013-05-23 16:26 ` Stephen GALLIMORE
2013-05-08 14:11 ` [RFC 4/8] pinctrl:stixxxx: Add pinctrl and pinconf support Srinivas KANDAGATLA
[not found] ` <1368022284-2283-1-git-send-email-srinivas.kandagatla-qxv4g6HH51o@public.gmane.org>
2013-05-08 15:06 ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-08 16:27 ` Srinivas KANDAGATLA
[not found] ` <518A7CFD.1010602-qxv4g6HH51o@public.gmane.org>
2013-05-08 16:38 ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-08 14:12 ` [RFC 7/8] ARM:stih41x: Add B2000 board support Srinivas KANDAGATLA
[not found] ` <1368022329-2424-1-git-send-email-srinivas.kandagatla-qxv4g6HH51o@public.gmane.org>
2013-05-08 16:20 ` Arnd Bergmann
[not found] ` <201305081820.23968.arnd-r2nGTMty4D4@public.gmane.org>
2013-05-08 16:24 ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-08 17:04 ` Srinivas KANDAGATLA
2013-05-08 14:12 ` [RFC 8/8] ARM:stih41x: Add B2020 " Srinivas KANDAGATLA
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=518A8C1D.3090600@st.com \
--to=srinivas.kandagatla@st.com \
--cc=arnd@arndb.de \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=dave.martin@linaro.org \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=dong.aisheng@linaro.org \
--cc=grant.likely@secretlab.ca \
--cc=gregkh@linuxfoundation.org \
--cc=jason@lakedaemon.net \
--cc=jslaby@suse.cz \
--cc=linus.walleij@linaro.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=marc.zyngier@arm.com \
--cc=maxime.ripard@free-electrons.com \
--cc=nico@linaro.org \
--cc=olof@lixom.net \
--cc=rob.herring@calxeda.com \
--cc=rob@landley.net \
--cc=sameo@linux.intel.com \
--cc=shawn.guo@linaro.org \
--cc=stuart.menefy@st.com \
--cc=swarren@nvidia.com \
--cc=viresh.kumar@linaro.org \
--cc=will.deacon@arm.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 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).