From: "Cousson, Benoit" <b-cousson@ti.com>
To: Ohad Ben-Cohen <ohad@wizery.com>
Cc: "Hilman, Kevin" <khilman@ti.com>,
Mathieu Poirier <mathieu.poirier@linaro.org>,
Arnd Bergmann <arnd@arndb.de>,
"tony@atomide.com" <tony@atomide.com>,
"G, Manjunath Kondaiah" <manjugk@ti.com>,
"devicetree-discuss@lists.ozlabs.org"
<devicetree-discuss@lists.ozlabs.org>,
"grant.likely@secretlab.ca" <grant.likely@secretlab.ca>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [RFC PATCH 06/10] hwspinlock: OMAP4: Add spinlock support in DT
Date: Thu, 8 Sep 2011 09:14:57 +0200 [thread overview]
Message-ID: <4E686B71.2060107@ti.com> (raw)
In-Reply-To: <CAK=WgbYX50R_MCgwdzywgrAEDJkmDSmeSSCuuqst5UBYk_sYow@mail.gmail.com>
Hi Ohad,
On 9/7/2011 9:58 PM, Ohad Ben-Cohen wrote:
> On Wed, Aug 24, 2011 at 4:09 PM, Benoit Cousson<b-cousson@ti.com> wrote:
>> Add a device-tree node for the spinlock.
>> Remove the static device build code if CONFIG_OF
>> is set.
>> Update the hwspinlock driver to use the of_match method.
>> Add the information in Documentation/devicetree.
>>
>> Signed-off-by: Benoit Cousson<b-cousson@ti.com>
>> Cc: Grant Likely<grant.likely@secretlab.ca>
>> Cc: Ohad Ben-Cohen<ohad@wizery.com>
>> ---
> ...
>> + spinlock {
>> + compatible = "ti,omap-spinlock";
>> + hwmods = "spinlock";
>> + };
>
> This seem to satisfy the current hwspinlock driver, but I'm wondering
> about an issue which was discussed awhile ago by Arnd and Mathieu:
>
> Hwspinlock devices provide system-wide hardware locks that are used by
> remote processors that have no other way to achieve synchronization.
>
> For that to work, each physical lock must have a system-wide unique id
> number that all processors are familiar with, otherwise they can't
> possibly assume they're using the same hardware lock.
>
> Usually SoC have a single hwspinlock device, which provides several
> hardware spinlocks, and in this case, the locks can be trivially
> numbered 0 to (num-of-locks - 1).
>
> In case boards have several hwspinlocks devices (each of which
> providing numerous hardware spinlocks) a different base id should be
> used for each hwspinlock device (they can't all use 0 as a starting
> id!).
>
> While this is certainly not common, it's just plain wrong for the
> hwspinlock driver to silently use 0 as a base id whenever it is probed
> with a device (and by that implicitly assume there will always be only
> one device).
Hehe, I'm not the one who wrote that driver :-)
This is not wrong for the current HW. The point is do we want to
anticipate potential HW evolution that might never happen on that IP?
> So we need to couple an hwspinlock device with a base id (which is
> trivially zero when there's only a single hwspinlock device). This can
> be easily achieved today using platform data, which boards will use to
> set a different base id for each of the hwspinlock devices they have
> (i'll send a patch demonstrating this soon), but I'm wondering how to
> specify this hwspinlock-specific data with DT: is there an existing
> binding we can use for this ? or should we create something like a
> "baseid" one especially for the hwspinlock driver ?
This is no different than the multiple GPIO controllers we have today.
Since we cannot rely on the DT nodes order, I added an explicit "id"
attribute to provide that information to the driver. And then the baseid
is "id * #gpios".
>> +#if defined(CONFIG_OF)
>> +static const struct of_device_id spinlock_match[] = {
>> + {.compatible = "ti,omap-spinlock", },
>> + {},
>> +}
>
> you're missing a semicolon there (yeah I actually tried to build this ;)
That was a test :-)
In fact it looks like this driver is not built with a default
omap2plus_defconfig :-(
I'll fix that.
Thanks for the review,
Benoit
WARNING: multiple messages have this Message-ID (diff)
From: b-cousson@ti.com (Cousson, Benoit)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 06/10] hwspinlock: OMAP4: Add spinlock support in DT
Date: Thu, 8 Sep 2011 09:14:57 +0200 [thread overview]
Message-ID: <4E686B71.2060107@ti.com> (raw)
In-Reply-To: <CAK=WgbYX50R_MCgwdzywgrAEDJkmDSmeSSCuuqst5UBYk_sYow@mail.gmail.com>
Hi Ohad,
On 9/7/2011 9:58 PM, Ohad Ben-Cohen wrote:
> On Wed, Aug 24, 2011 at 4:09 PM, Benoit Cousson<b-cousson@ti.com> wrote:
>> Add a device-tree node for the spinlock.
>> Remove the static device build code if CONFIG_OF
>> is set.
>> Update the hwspinlock driver to use the of_match method.
>> Add the information in Documentation/devicetree.
>>
>> Signed-off-by: Benoit Cousson<b-cousson@ti.com>
>> Cc: Grant Likely<grant.likely@secretlab.ca>
>> Cc: Ohad Ben-Cohen<ohad@wizery.com>
>> ---
> ...
>> + spinlock {
>> + compatible = "ti,omap-spinlock";
>> + hwmods = "spinlock";
>> + };
>
> This seem to satisfy the current hwspinlock driver, but I'm wondering
> about an issue which was discussed awhile ago by Arnd and Mathieu:
>
> Hwspinlock devices provide system-wide hardware locks that are used by
> remote processors that have no other way to achieve synchronization.
>
> For that to work, each physical lock must have a system-wide unique id
> number that all processors are familiar with, otherwise they can't
> possibly assume they're using the same hardware lock.
>
> Usually SoC have a single hwspinlock device, which provides several
> hardware spinlocks, and in this case, the locks can be trivially
> numbered 0 to (num-of-locks - 1).
>
> In case boards have several hwspinlocks devices (each of which
> providing numerous hardware spinlocks) a different base id should be
> used for each hwspinlock device (they can't all use 0 as a starting
> id!).
>
> While this is certainly not common, it's just plain wrong for the
> hwspinlock driver to silently use 0 as a base id whenever it is probed
> with a device (and by that implicitly assume there will always be only
> one device).
Hehe, I'm not the one who wrote that driver :-)
This is not wrong for the current HW. The point is do we want to
anticipate potential HW evolution that might never happen on that IP?
> So we need to couple an hwspinlock device with a base id (which is
> trivially zero when there's only a single hwspinlock device). This can
> be easily achieved today using platform data, which boards will use to
> set a different base id for each of the hwspinlock devices they have
> (i'll send a patch demonstrating this soon), but I'm wondering how to
> specify this hwspinlock-specific data with DT: is there an existing
> binding we can use for this ? or should we create something like a
> "baseid" one especially for the hwspinlock driver ?
This is no different than the multiple GPIO controllers we have today.
Since we cannot rely on the DT nodes order, I added an explicit "id"
attribute to provide that information to the driver. And then the baseid
is "id * #gpios".
>> +#if defined(CONFIG_OF)
>> +static const struct of_device_id spinlock_match[] = {
>> + {.compatible = "ti,omap-spinlock", },
>> + {},
>> +}
>
> you're missing a semicolon there (yeah I actually tried to build this ;)
That was a test :-)
In fact it looks like this driver is not built with a default
omap2plus_defconfig :-(
I'll fix that.
Thanks for the review,
Benoit
next prev parent reply other threads:[~2011-09-08 7:14 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-24 13:09 [RFC PATCH 00/10] OMAP: Add DT support for early init OMAP4 devices Benoit Cousson
2011-08-24 13:09 ` Benoit Cousson
[not found] ` <1314191356-10963-1-git-send-email-b-cousson-l0cyMroinI0@public.gmane.org>
2011-08-24 13:09 ` [RFC PATCH 01/10] OMAP2+: l3-noc: Add support for device-tree Benoit Cousson
2011-08-24 13:09 ` Benoit Cousson
2011-09-08 18:01 ` Grant Likely
2011-09-08 18:01 ` Grant Likely
[not found] ` <20110908180148.GA2967-e0URQFbLeQY2iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2011-09-08 21:59 ` Cousson, Benoit
2011-09-08 21:59 ` Cousson, Benoit
2011-09-08 23:35 ` Grant Likely
2011-09-08 23:35 ` Grant Likely
2011-08-24 13:09 ` [RFC PATCH 02/10] arm/dts: OMAP4: Add a main ocp entry bound to l3-noc driver Benoit Cousson
2011-08-24 13:09 ` Benoit Cousson
[not found] ` <1314191356-10963-3-git-send-email-b-cousson-l0cyMroinI0@public.gmane.org>
2011-09-08 18:03 ` Grant Likely
2011-09-08 18:03 ` Grant Likely
2011-09-09 0:10 ` Cousson, Benoit
2011-09-09 0:10 ` Cousson, Benoit
2011-09-09 2:41 ` Grant Likely
2011-09-09 2:41 ` Grant Likely
2011-08-24 13:09 ` [RFC PATCH 03/10] documentation/dt: Add l3-noc bindings Benoit Cousson
2011-08-24 13:09 ` Benoit Cousson
2011-09-08 18:06 ` Grant Likely
2011-09-08 18:06 ` Grant Likely
2011-09-09 0:18 ` Cousson, Benoit
2011-09-09 0:18 ` Cousson, Benoit
2011-08-24 13:09 ` [RFC PATCH 06/10] hwspinlock: OMAP4: Add spinlock support in DT Benoit Cousson
2011-08-24 13:09 ` Benoit Cousson
2011-09-07 19:58 ` Ohad Ben-Cohen
2011-09-07 19:58 ` Ohad Ben-Cohen
2011-09-08 7:14 ` Cousson, Benoit [this message]
2011-09-08 7:14 ` Cousson, Benoit
2011-09-08 7:56 ` Ohad Ben-Cohen
2011-09-08 7:56 ` Ohad Ben-Cohen
2011-09-08 8:07 ` Cousson, Benoit
2011-09-08 8:07 ` Cousson, Benoit
2011-09-08 8:11 ` Ohad Ben-Cohen
2011-09-08 8:11 ` Ohad Ben-Cohen
2011-09-08 14:47 ` Arnd Bergmann
2011-09-08 14:47 ` Arnd Bergmann
2011-09-08 15:34 ` Cousson, Benoit
2011-09-08 15:34 ` Cousson, Benoit
[not found] ` <4E68E09B.4050006-l0cyMroinI0@public.gmane.org>
2011-09-08 16:03 ` Arnd Bergmann
2011-09-08 16:03 ` Arnd Bergmann
[not found] ` <201109081647.55377.arnd-r2nGTMty4D4@public.gmane.org>
2011-09-08 16:36 ` Ohad Ben-Cohen
2011-09-08 16:36 ` Ohad Ben-Cohen
2011-09-09 12:58 ` Arnd Bergmann
2011-09-09 12:58 ` Arnd Bergmann
2011-09-11 7:57 ` Ohad Ben-Cohen
2011-09-11 7:57 ` Ohad Ben-Cohen
2011-09-12 14:32 ` Arnd Bergmann
2011-09-12 14:32 ` Arnd Bergmann
2011-08-24 13:09 ` [RFC PATCH 04/10] arm/dts: OMAP4: Add mpu, dsp and iva nodes Benoit Cousson
2011-08-24 13:09 ` Benoit Cousson
[not found] ` <1314191356-10963-5-git-send-email-b-cousson-l0cyMroinI0@public.gmane.org>
2011-09-08 18:07 ` Grant Likely
2011-09-08 18:07 ` Grant Likely
2011-08-24 13:09 ` [RFC PATCH 05/10] documentation/dt: Add mpu, dsp and iva bindings Benoit Cousson
2011-08-24 13:09 ` Benoit Cousson
[not found] ` <1314191356-10963-6-git-send-email-b-cousson-l0cyMroinI0@public.gmane.org>
2011-09-08 18:09 ` Grant Likely
2011-09-08 18:09 ` Grant Likely
2011-09-09 0:30 ` Cousson, Benoit
2011-09-09 0:30 ` Cousson, Benoit
2011-09-09 2:40 ` Grant Likely
2011-09-09 2:40 ` Grant Likely
2011-08-24 13:09 ` [RFC PATCH 07/10] documentation/dt: Add spinlock bindings Benoit Cousson
2011-08-24 13:09 ` Benoit Cousson
[not found] ` <1314191356-10963-8-git-send-email-b-cousson-l0cyMroinI0@public.gmane.org>
2011-09-08 18:10 ` Grant Likely
2011-09-08 18:10 ` Grant Likely
2011-09-09 0:32 ` Cousson, Benoit
2011-09-09 0:32 ` Cousson, Benoit
2011-08-24 13:09 ` [RFC PATCH 08/10] gpio/omap: Adapt GPIO driver to DT Benoit Cousson
2011-08-24 13:09 ` Benoit Cousson
[not found] ` <1314191356-10963-9-git-send-email-b-cousson-l0cyMroinI0@public.gmane.org>
2011-09-08 18:15 ` Grant Likely
2011-09-08 18:15 ` Grant Likely
2011-09-09 1:48 ` Cousson, Benoit
2011-09-09 1:48 ` Cousson, Benoit
2011-08-24 13:09 ` [RFC PATCH 09/10] arm/dts: OMAP4: Add gpio nodes Benoit Cousson
2011-08-24 13:09 ` Benoit Cousson
[not found] ` <1314191356-10963-10-git-send-email-b-cousson-l0cyMroinI0@public.gmane.org>
2011-09-08 18:16 ` Grant Likely
2011-09-08 18:16 ` Grant Likely
2011-08-24 13:09 ` [RFC PATCH 10/10] documentation/dt: Add OMAP GPIO properties Benoit Cousson
2011-08-24 13:09 ` Benoit Cousson
[not found] ` <1314191356-10963-11-git-send-email-b-cousson-l0cyMroinI0@public.gmane.org>
2011-09-08 18:18 ` Grant Likely
2011-09-08 18:18 ` Grant Likely
2011-09-09 1:51 ` Cousson, Benoit
2011-09-09 1:51 ` Cousson, Benoit
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=4E686B71.2060107@ti.com \
--to=b-cousson@ti.com \
--cc=arnd@arndb.de \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@secretlab.ca \
--cc=khilman@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=manjugk@ti.com \
--cc=mathieu.poirier@linaro.org \
--cc=ohad@wizery.com \
--cc=tony@atomide.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.