Re: [PATCH 1/2] ux500: Adding support for u8500 Hsem functionality V2

From: Ohad Ben-Cohen
Date: Wed Apr 13 2011 - 04:45:44 EST


On Tue, Apr 12, 2011 at 10:13 PM, Mathieu Poirier
<mathieu.poirier@xxxxxxxxxx> wrote:
>>> +struct u8500_hsem {
>>> +       struct hwspinlock lock;
>>> +       void __iomem *addr;
>>> +};
>>
>> It seems inconsistent to name it sem instead of spinlock.
>>
> This is a good point and I've been going back and forth on that one.  TI's
> implementation is based on 'spinlock' but in this case there is not a single
> mention of a 'spinlock' in the CPU's reference manual, leaving potential
> users to wonder if spinlock == hsem.

I figured out this was your line of thought.

Looking forward, though, we have some design decisions to do which are
related to this spinlock vs. semaphore issue - it's much more than
just names.

While the OMAP hardware currently has only these hwspinlocks modules,
which require the host to spin until they become free, we now have two
other systems (the u8500 and TI's C6474) which also support additional
semaphore-like functionality of queuing, owner semantics and interrupt
notification (so the host wouldn't have to spin, and the lock can be
used for a wider range of non-atomic use cases).

Sadly, the specs of the u8500 are closed, which makes it somewhat hard
to start any reasonable design discussions.

Btw, last I heard, mainline c6x support is coming. but it's not there yet.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/