[E3-hacking] [RFC] [PATCH] ASoC: OMAP: full duplex mode fix
jkrzyszt at tis.icnet.pl
Mon Aug 3 15:00:32 BST 2009
Jarkko Nikula wrote:
> On Mon, 3 Aug 2009 03:32:04 +0200
> Janusz Krzysztofik <jkrzyszt at tis.icnet.pl> wrote:
>> This patch tries to correct the problem of full duplex mode not working
>> over a single McBSP based CPU DAI.
>> Created against linux-2.6.31-rc5.
>> Tested on Amstrad Delta.
> Do you have some specific test case how to trigger this? I haven't
> seen this on 2420 or 34xx (e.g. with 'arecord -d 1 -f dat |aplay') but
> I have no doubt that this can happen on 1510. At least this doesn't
> cause any harm on Beagle so I'm fine with the fix.
I made more testing on my OMAP1510 and found out that I could get your
example usage working without my patch, but only if started like this:
arecord -D hw:0,0 -f S16_LE|aplay -D hw:0,0
If I start the same with "-D hw:0,0" omitted from aplay, it doesn't work
any longer, waiting forever. It definitelly doesn't work if I start
capture and playback one after another, no matter which one goes first
(record while playing or play while recording). So it looks like
starting both streams simultaneously can do the job, but a short delay
With my patch, it seems to work fine for me in all cases.
Jarkko, have you ever tried it on your OMAP2/3 with parallel playback
and capture started one after another, not simultaneously?
Arun, can your snd-soc-osk9512 work on OMAP1610 in full duplex mode
without any limitations?
If the problem appears to be OMAP1510 or AMS_DELTA specific, I can add a
check for a machine or cpu type to avoid braking unaffected machines.
More information about the e3-hacking