Re: [alsa-devel] [PATCH] OMAP: McBSP: Do not use extensive spin locks for dma_op_mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 28 Oct 2009 08:53:34 +0200
Eero Nurkkala <ext-eero.nurkkala@xxxxxxxxx> wrote:

> On Wed, 2009-10-28 at 06:52 +0100, Ujfalusi Peter (Nokia-D/Tampere)
> > Yeah, but I think this locking issue has nothing to do with SMP safe or not.
> > On playback start in omap_mcbsp_request the mcbsp->free is cleared.
> > Further modification to the dma_op_mode in dma_op_mode_store is not allowed if 
> > the mcbsp port is in use, thus the dma_op_mode is protected against change while 
> > the port is in use (ensuring that the mode is same in omap34xx_mcbsp_request and 
> > omap_mcbsp_get_dma_op_mode functions). This alone makes the use of spinlock 
> > around the dma_op_mode unnecessary.
> > 
> 
...
> Right, I reviewed the code, and it was first looking really bad at
> sound/soc/omap/omap-mcbsp.c, where it calls omap_mcbsp_get_dma_op_mode()
> from different places. However, it's not an issue because in:
> arch/arm/plat-omap/mcbsp.c : dma_op_mode_store(),
> the dma_op_mode is written only if the mcbsp is unoccupied. So it is SMP
> safe.
> 
... 
> The spinlocks are unnecessary. In the above example, you get the same
> with just "return mcbsp->dma_op_mode;"
> 
> -> Peter's patch is a good cleanup.
> 
Yeah, agree, only now I looked the patch itself :-)

Sorry that I didn't express it clearly that my comment was a side note
for general awareness that SMP's are becoming reality for ARMs as well
than nak for Peter's patch.

According to defconfigs the OMAP4 will be the first commercial ARM SMP
having mainline support (I count realview as development device):

grep 'CONFIG_SMP=y' -r arch/arm/configs/ 
arch/arm/configs/realview-smp_defconfig:CONFIG_SMP=y
arch/arm/configs/omap_4430sdp_defconfig:CONFIG_SMP=y


-- 
Jarkko
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux