[alsa-devel] [PATCH] OMAP: McBSP: Do not use extensive spin locks for dma_op_mode
Eero Nurkkala
ext-eero.nurkkala at nokia.com
Tue Oct 27 13:04:06 CET 2009
On Tue, 2009-10-27 at 13:00 +0100, ext Mark Brown wrote:
> On Tue, Oct 27, 2009 at 01:17:52PM +0200, Peter Ujfalusi wrote:
> > On Tuesday 27 October 2009 13:07:23 Nurkkala Eero.An (EXT-Offcode/Oulu) wrote:
>
> > > You may wish to double read the message above, as it's quite
> > > confusing =)
>
> > Yes it is ;)
> > I have left one spinlock around the dma_op_mode, when it also protects the
> > mcbsp->active, so that is why that last sentence.
>
> I have to confess that I'm still not entirely clear what the lock is
> supposed to be doing or why it's OK to drop it. I gather that it's just
> that dmap_on_mode() doesn't need a lock at all?
Mostly thinko's with this locking:
- spin_lock_irq(&mcbsp->lock);
dma_op_mode = mcbsp->dma_op_mode;
- spin_unlock_irq(&mcbsp->lock);
return dma_op_mode;
--> same as
return mcbsp->dma_op_mode;
and worst, it's called from pcm_trigger() ->
so irqs are enabled -> lockdep isn't happy ->
so currently things are pretty much "broken".
- Eero
More information about the Alsa-devel
mailing list