[PATCHv5 03/15] hwspinlock/core: maintain a list of registered hwspinlock banks
Suman Anna
s-anna at ti.com
Thu Jul 3 10:28:46 PDT 2014
Hi Ohad,
On 07/03/2014 02:00 AM, Ohad Ben-Cohen wrote:
> Hi Suman,
>
> On Thu, Jul 3, 2014 at 12:14 AM, Suman Anna <s-anna at ti.com> wrote:
>>> I'm not sure we need this patch.
>>
>> This patch is needed if we use the controller-phandle + args specifier
>> for requesting hwlocks by a client, as we need to translate
>> controller-phandle to the corresponding hwspinlock_device.
>>
>> Looks like we still don't have a closure on the semantics of how
>> clients have to request a lock in DT. You are suggesting something like
>> hwlocks = <global_lock1 global_lock2 ...>;
>>
>> whereas this patch is built to support based on comments from
>> DT-maintainers,
>> hwlocks = <controller-phandle lock-specifier1>, <controller-phandle
>> lock-specifier2>...;
>
> I'm actually ok with this suggestion and haven't suggested otherwise.
OK, thanks for confirming and sorry for the misinterpretation.
>
> All I propose is that we add the base_id property to the controller
> node (as you have done in the subsequent patches), and then drivers
> will be able to infer the global lock id from the DT data by adding
> the controller's base_id to the lock specifier.
OK, but we would still require this function to lookup the registered
device from the controller-phandle to retrieve the base_id. Do note that
the hwspinlock core currently only maintains the registered locks in an
integrated radix tree, but not the registered hwspinlock banks themselves.
regards
Suman
> Controllers with non standard lock indexing may use an xlate() method
> if needed but frankly this is fictional right now. We can start
> without this, and add it later when needed, as this doesn't affect the
> DT data.
>
> With the global lock id in hand, drivers could simply use the existing
> hwspin_lock_request_specific API to obtain a specific lock, and then
> we don't need this patch.
>
> Thanks,
> Ohad.
>
More information about the linux-arm-kernel
mailing list