All of lore.kernel.org
 help / color / mirror / Atom feed
From: Suman Anna <s-anna@ti.com>
To: Rob Herring <robherring2@gmail.com>
Cc: Ohad Ben-Cohen <ohad@wizery.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Kumar Gala <galak@codeaurora.org>,
	Tony Lindgren <tony@atomide.com>,
	Josh Cartwright <joshc@codeaurora.org>,
	Bjorn Andersson <bjorn@kryo.se>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	linux-omap <linux-omap@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	Rob Herring <robh+dt@kernel.org>
Subject: Re: [PATCHv5 01/15] Documentation: dt: add common bindings for hwspinlock
Date: Fri, 2 May 2014 17:46:00 -0500	[thread overview]
Message-ID: <53642028.2040308@ti.com> (raw)
In-Reply-To: <CAL_JsqJEVU7j0+biWuW2FiV-avu1_SO4w+OCdirAc6mw2OxrOA@mail.gmail.com>

Hi Rob,

On 05/02/2014 09:58 AM, Rob Herring wrote:
> On Wed, Apr 30, 2014 at 7:34 PM, Suman Anna <s-anna@ti.com> wrote:
>> This patch adds the generic common bindings used to represent
>> a hwlock device and use/request locks in a device-tree build.
>>
>> All the platform-specific hwlock driver implementations need the
>> number of locks and associated base id for registering the locks
>> present within the device with the driver core. The number of locks
>> is represented by 'hwlock-num-locks' property in DT bindings. A
>> property for base id is not needed in DT binding, as it can be
>> satisfied using a phandle + args specifier. The args specifier
>> length is dependent on each vendor-specific implementation and
>> is represented through the '#hwlock-cells' property.
>>
>> Note that the document is named hwlock.txt deliberately to keep it
>> a bit more generic.
>>
>> Cc: Rob Herring <robh+dt@kernel.org>
>> Signed-off-by: Suman Anna <s-anna@ti.com>
>> ---
>>  .../devicetree/bindings/hwlock/hwlock.txt          | 52 ++++++++++++++++++++++
>>  1 file changed, 52 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/hwlock/hwlock.txt
>>
>> diff --git a/Documentation/devicetree/bindings/hwlock/hwlock.txt b/Documentation/devicetree/bindings/hwlock/hwlock.txt
>> new file mode 100644
>> index 0000000..32381cc
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/hwlock/hwlock.txt
>> @@ -0,0 +1,52 @@
>> +Generic hwlock bindings
>> +=======================
>> +
>> +Generic bindings that are common to all the hwlock platform specific driver
>> +implementations, the retrieved values are used for registering the device
>> +specific parameters with the hwspinlock core.
>> +
>> +The validity and need of these common properties may vary from one platform
>> +implementation to another. The platform specific bindings should explicitly
>> +state if a property is mandatory or optional. Please look through the
>> +individual platform specific hwlock binding documentations for identifying
>> +the applicable properties.
>> +
>> +Common properties:
>> +- #hwlock-cells:       Specifies the number of cells needed to represent a
>> +                       specific lock.
> 
> This should never be optional.

Thanks for reviewing this. I can add a statement here to make this clear.

> 
>> +- hwlock-num-locks:    Number of locks present in a hwlock device. This
>> +                       property is needed on hwlock devices, where the number
>> +                       of supported locks within a hwlock device cannot be
>> +                       read from a register.
> 
> Do you have any users of this? The omap binding doesn't use it.
> Wouldn't you typically know this based on the IP block? Similarly you
> typically don't have to list how many irqs an interrupt controller
> has.

The MSM Spinlock driver [1] would be using this, it is waiting on this
series to get finalized. It currently defines a custom property, and the
number of locks is a generic property that the hwspinlock core uses and
is common to different platform implementations, so created the generic
property. OMAP doesn't use this because the number is read directly off
a IP register.

 can you also take a look at patches 8 and 12 as they add additional
properties based on discussion in [2]. The hwspinlocks are used for
arbitration between different initiators on an SoC, and typically would
need a SoC-level identifier for each lock. All these properties allow a
hwlock to be statically identified and be assigned to a user and its
peer user on a different initiator, and not allowing them to be run-time
assigned.

regards
Suman

[1] https://lkml.org/lkml/2013/8/14/528
[2] http://marc.info/?l=linux-omap&m=139510004009415&w=2

> 
> 
>> +
>> +Hwlock Users:
>> +=============
>> +
>> +Nodes that require specific hwlock(s) should specify them using one or more
>> +properties, each containing a phandle to the hwlock node and an args specifier
>> +value as indicated by #hwlock-cells. Multiple hwlocks can be requested using
>> +an array of the phandle and hwlock number specifier tuple.
>> +
>> +1. Example of a node using a single specific hwlock:
>> +
>> +The following example has a node requesting a hwlock in the bank defined by
>> +the node hwlock1. hwlock1 is a hwlock provider with an argument specifier
>> +of length 1.
>> +
>> +       node {
>> +               ...
>> +               hwlocks = <&hwlock1 2>;
>> +               ...
>> +       };
>> +
>> +2. Example of a node using multiple specific hwlocks:
>> +
>> +The following example has a node requesting two hwlocks, a hwlock within
>> +the hwlock device node 'hwlock1' with #hwlock-cells value of 1, and another
>> +hwlock within the hwlock device node 'hwlock2' with #hwlock-cells value of 2.
>> +
>> +       node {
>> +               ...
>> +               hwlocks = <&hwlock1 2>, <&hwlock2 0 3>;
>> +               ...
>> +       };
>> --
>> 1.9.2
>>


WARNING: multiple messages have this Message-ID (diff)
From: s-anna@ti.com (Suman Anna)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv5 01/15] Documentation: dt: add common bindings for hwspinlock
Date: Fri, 2 May 2014 17:46:00 -0500	[thread overview]
Message-ID: <53642028.2040308@ti.com> (raw)
In-Reply-To: <CAL_JsqJEVU7j0+biWuW2FiV-avu1_SO4w+OCdirAc6mw2OxrOA@mail.gmail.com>

Hi Rob,

On 05/02/2014 09:58 AM, Rob Herring wrote:
> On Wed, Apr 30, 2014 at 7:34 PM, Suman Anna <s-anna@ti.com> wrote:
>> This patch adds the generic common bindings used to represent
>> a hwlock device and use/request locks in a device-tree build.
>>
>> All the platform-specific hwlock driver implementations need the
>> number of locks and associated base id for registering the locks
>> present within the device with the driver core. The number of locks
>> is represented by 'hwlock-num-locks' property in DT bindings. A
>> property for base id is not needed in DT binding, as it can be
>> satisfied using a phandle + args specifier. The args specifier
>> length is dependent on each vendor-specific implementation and
>> is represented through the '#hwlock-cells' property.
>>
>> Note that the document is named hwlock.txt deliberately to keep it
>> a bit more generic.
>>
>> Cc: Rob Herring <robh+dt@kernel.org>
>> Signed-off-by: Suman Anna <s-anna@ti.com>
>> ---
>>  .../devicetree/bindings/hwlock/hwlock.txt          | 52 ++++++++++++++++++++++
>>  1 file changed, 52 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/hwlock/hwlock.txt
>>
>> diff --git a/Documentation/devicetree/bindings/hwlock/hwlock.txt b/Documentation/devicetree/bindings/hwlock/hwlock.txt
>> new file mode 100644
>> index 0000000..32381cc
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/hwlock/hwlock.txt
>> @@ -0,0 +1,52 @@
>> +Generic hwlock bindings
>> +=======================
>> +
>> +Generic bindings that are common to all the hwlock platform specific driver
>> +implementations, the retrieved values are used for registering the device
>> +specific parameters with the hwspinlock core.
>> +
>> +The validity and need of these common properties may vary from one platform
>> +implementation to another. The platform specific bindings should explicitly
>> +state if a property is mandatory or optional. Please look through the
>> +individual platform specific hwlock binding documentations for identifying
>> +the applicable properties.
>> +
>> +Common properties:
>> +- #hwlock-cells:       Specifies the number of cells needed to represent a
>> +                       specific lock.
> 
> This should never be optional.

Thanks for reviewing this. I can add a statement here to make this clear.

> 
>> +- hwlock-num-locks:    Number of locks present in a hwlock device. This
>> +                       property is needed on hwlock devices, where the number
>> +                       of supported locks within a hwlock device cannot be
>> +                       read from a register.
> 
> Do you have any users of this? The omap binding doesn't use it.
> Wouldn't you typically know this based on the IP block? Similarly you
> typically don't have to list how many irqs an interrupt controller
> has.

The MSM Spinlock driver [1] would be using this, it is waiting on this
series to get finalized. It currently defines a custom property, and the
number of locks is a generic property that the hwspinlock core uses and
is common to different platform implementations, so created the generic
property. OMAP doesn't use this because the number is read directly off
a IP register.

 can you also take a look at patches 8 and 12 as they add additional
properties based on discussion in [2]. The hwspinlocks are used for
arbitration between different initiators on an SoC, and typically would
need a SoC-level identifier for each lock. All these properties allow a
hwlock to be statically identified and be assigned to a user and its
peer user on a different initiator, and not allowing them to be run-time
assigned.

regards
Suman

[1] https://lkml.org/lkml/2013/8/14/528
[2] http://marc.info/?l=linux-omap&m=139510004009415&w=2

> 
> 
>> +
>> +Hwlock Users:
>> +=============
>> +
>> +Nodes that require specific hwlock(s) should specify them using one or more
>> +properties, each containing a phandle to the hwlock node and an args specifier
>> +value as indicated by #hwlock-cells. Multiple hwlocks can be requested using
>> +an array of the phandle and hwlock number specifier tuple.
>> +
>> +1. Example of a node using a single specific hwlock:
>> +
>> +The following example has a node requesting a hwlock in the bank defined by
>> +the node hwlock1. hwlock1 is a hwlock provider with an argument specifier
>> +of length 1.
>> +
>> +       node {
>> +               ...
>> +               hwlocks = <&hwlock1 2>;
>> +               ...
>> +       };
>> +
>> +2. Example of a node using multiple specific hwlocks:
>> +
>> +The following example has a node requesting two hwlocks, a hwlock within
>> +the hwlock device node 'hwlock1' with #hwlock-cells value of 1, and another
>> +hwlock within the hwlock device node 'hwlock2' with #hwlock-cells value of 2.
>> +
>> +       node {
>> +               ...
>> +               hwlocks = <&hwlock1 2>, <&hwlock2 0 3>;
>> +               ...
>> +       };
>> --
>> 1.9.2
>>

  reply	other threads:[~2014-05-02 22:46 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-01  0:34 [PATCHv5 00/15] hwspinlock/omap dt support Suman Anna
2014-05-01  0:34 ` Suman Anna
2014-05-01  0:34 ` Suman Anna
     [not found] ` <1398904476-26200-1-git-send-email-s-anna-l0cyMroinI0@public.gmane.org>
2014-05-01  0:34   ` [PATCHv5 01/15] Documentation: dt: add common bindings for hwspinlock Suman Anna
2014-05-01  0:34     ` Suman Anna
2014-05-01  0:34     ` Suman Anna
2014-05-02 14:58     ` Rob Herring
2014-05-02 14:58       ` Rob Herring
2014-05-02 22:46       ` Suman Anna [this message]
2014-05-02 22:46         ` Suman Anna
2014-05-01  0:34 ` [PATCHv5 02/15] Documentation: dt: add the omap hwspinlock bindings document Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34 ` [PATCHv5 03/15] hwspinlock/core: maintain a list of registered hwspinlock banks Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-07-01 12:26   ` Ohad Ben-Cohen
2014-07-01 12:26     ` Ohad Ben-Cohen
     [not found]     ` <CAK=WgbakGbTaYz+4K24aT3vyRkDYwPKCm6XrcJvH667NMMfTTA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-07-02 21:14       ` Suman Anna
2014-07-02 21:14         ` Suman Anna
2014-07-02 21:14         ` Suman Anna
2014-07-03  7:00         ` Ohad Ben-Cohen
2014-07-03  7:00           ` Ohad Ben-Cohen
     [not found]           ` <CAK=WgbYtJ7TGqvjG3VAPPD5tVXx9-jEJU3iKEStUMxOvD1v=LQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-07-03 17:28             ` Suman Anna
2014-07-03 17:28               ` Suman Anna
2014-07-03 17:28               ` Suman Anna
2014-07-04  5:01               ` Ohad Ben-Cohen
2014-07-04  5:01                 ` Ohad Ben-Cohen
     [not found]                 ` <CAK=WgbaahqdmWRDMKtRhco4y5B-WBFYDHYs2cLM7NL=QhnhK2Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-07-08 15:22                   ` Suman Anna
2014-07-08 15:22                     ` Suman Anna
2014-07-08 15:22                     ` Suman Anna
2014-05-01  0:34 ` [PATCHv5 04/15] hwspinlock/core: add common OF helpers Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-07-01 12:45   ` Ohad Ben-Cohen
2014-07-01 12:45     ` Ohad Ben-Cohen
2014-07-02 21:14     ` Suman Anna
2014-07-02 21:14       ` Suman Anna
2014-07-03  7:15       ` Ohad Ben-Cohen
2014-07-03  7:15         ` Ohad Ben-Cohen
     [not found]         ` <CAK=WgbbJ6a17wrsEcvNq6tPiaciQ=E+22QE06t9EA8RFqicNRg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-07-03 17:35           ` Suman Anna
2014-07-03 17:35             ` Suman Anna
2014-07-03 17:35             ` Suman Anna
2014-07-04  4:58             ` Ohad Ben-Cohen
2014-07-04  4:58               ` Ohad Ben-Cohen
     [not found]               ` <CAK=WgbbZYwfOyeZuDTX2RXtEdYzsZc++crHZ-ZAqeiWds0BCcg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-07-08 15:37                 ` Suman Anna
2014-07-08 15:37                   ` Suman Anna
2014-07-08 15:37                   ` Suman Anna
2014-05-01  0:34 ` [PATCHv5 05/15] hwspinlock/omap: add support for dt nodes Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-07-01 12:48   ` Ohad Ben-Cohen
2014-07-01 12:48     ` Ohad Ben-Cohen
2014-07-02 19:42     ` Suman Anna
2014-07-02 19:42       ` Suman Anna
2014-07-03  7:25       ` Ohad Ben-Cohen
2014-07-03  7:25         ` Ohad Ben-Cohen
2014-05-01  0:34 ` [PATCHv5 06/15] hwspinlock/omap: enable module before reading SYSSTATUS register Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-07-01 12:51   ` Ohad Ben-Cohen
2014-07-01 12:51     ` Ohad Ben-Cohen
2014-07-02 19:38     ` Suman Anna
2014-07-02 19:38       ` Suman Anna
2014-05-01  0:34 ` [PATCHv5 07/15] hwspinlock/omap: enable build for AM33xx, AM43xx & DRA7xx Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34   ` Suman Anna
     [not found]   ` <1398904476-26200-8-git-send-email-s-anna-l0cyMroinI0@public.gmane.org>
2014-07-01 12:53     ` Ohad Ben-Cohen
2014-07-01 12:53       ` Ohad Ben-Cohen
2014-07-01 12:53       ` Ohad Ben-Cohen
2014-05-01  0:34 ` [PATCHv5 RFC 08/15] hwspinlock/core: add support for base id in DT Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34   ` Suman Anna
     [not found]   ` <1398904476-26200-9-git-send-email-s-anna-l0cyMroinI0@public.gmane.org>
2014-05-05 20:37     ` Rob Herring
2014-05-05 20:37       ` Rob Herring
2014-05-05 20:37       ` Rob Herring
     [not found]       ` <CAL_JsqJW1pqUjQ3DQrppO5n=MmpFOhCyU2zkSzA9s9TpYbq3CA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-05 21:37         ` Suman Anna
2014-05-05 21:37           ` Suman Anna
2014-05-05 21:37           ` Suman Anna
2014-05-01  0:34 ` [PATCHv5 RFC 09/15] hwspinlock/core: prepare unregister code to support reserved locks Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34 ` [PATCHv5 RFC 10/15] hwspinlock/core: prepare core " Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34 ` [PATCHv5 RFC 11/15] hwspinlock/core: add support for " Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34 ` [PATCHv5 RFC 12/15] hwspinlock/core: add OF helper to parse " Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-05 21:44   ` Suman Anna
2014-05-05 21:44     ` Suman Anna
2014-05-05 21:44     ` Suman Anna
     [not found]     ` <53680639.1080405-l0cyMroinI0@public.gmane.org>
2014-05-05 21:54       ` Josh Cartwright
2014-05-05 21:54         ` Josh Cartwright
2014-05-05 21:54         ` Josh Cartwright
2014-05-10  1:17         ` Suman Anna
2014-05-10  1:17           ` Suman Anna
2014-05-10  1:17           ` Suman Anna
2014-05-01  0:34 ` [PATCHv5 RFC 13/15] hwspinlock/omap: use OF helper to get " Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34 ` [PATCHv5 RFC 14/15] hwspinlock/core: return ERR_PTRs on failure in _request_ api Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34 ` [PATCHv5 RFC 15/15] hwspinlock/core: change return codes of_hwspin_lock_request_specific Suman Anna
2014-05-01  0:34   ` Suman Anna
2014-05-01  0:34   ` Suman Anna

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=53642028.2040308@ti.com \
    --to=s-anna@ti.com \
    --cc=bjorn@kryo.se \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=joshc@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=ohad@wizery.com \
    --cc=robh+dt@kernel.org \
    --cc=robherring2@gmail.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.