All of lore.kernel.org
 help / color / mirror / Atom feed
* Swapped channels issue on pxa-ssp based platforms
@ 2011-11-07 17:40 Daniel Mack
  2011-11-07 20:19 ` Clemens Ladisch
  2011-11-08  2:54 ` Haojian Zhuang
  0 siblings, 2 replies; 7+ messages in thread
From: Daniel Mack @ 2011-11-07 17:40 UTC (permalink / raw)
  To: alsa-devel; +Cc: Mark Brown, Sven Neumann, Liam Girdwood, Haojian Zhuang

Hi,

we're hunting a weird bug on PXA3xx/ssp based audio devices which causes 
the playback channels to be swapped when the capture stream is started 
at the same time. Content for the left channel appears on the right and 
vice versa, in approximately 50% of all test runs of the following command:

   $ arecord -f cd - -D hw:0,0  | aplay -D hw:0,0  -f cd -

When just aplay is used, everything's fine.

It's unrelated to the codec part, as we see this with machines that 
feature different models. I guess this is some sort of a race condition 
in the stream startup, and suspected sound/soc/pxa/pxa-ssp.c to lack 
some locking, so I added a spinlock around all register 
read-modify-write cycles. But that doesn't seem to be the reason.

It could also be the DMA engine that writes to the wrong position, but I 
fail to see it right now.

Does anyone have an idea where to look for the culprit? Have there been 
similar effects in other SoC platforms?

Thanks for sharing your thoughts :)


Daniel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-11-08 12:39 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-07 17:40 Swapped channels issue on pxa-ssp based platforms Daniel Mack
2011-11-07 20:19 ` Clemens Ladisch
2011-11-08 11:39   ` Mark Brown
2011-11-08 11:46     ` Daniel Mack
2011-11-08 12:27       ` Mark Brown
2011-11-08 12:38         ` Daniel Mack
2011-11-08  2:54 ` Haojian Zhuang

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.