From: Mike Looijmans <mike.looijmans@topic.nl>
To: Peter Ujfalusi <peter.ujfalusi@ti.com>, alsa-devel@alsa-project.org
Subject: Re: [PATCH 0/5] ASoC: davinci: Use edma-pcm and remove davinci-pcm
Date: Thu, 5 Mar 2015 10:43:47 +0100 [thread overview]
Message-ID: <54F82553.7050508@topic.nl> (raw)
In-Reply-To: <54F71249.2090703@ti.com>
On 04-03-15 15:10, Peter Ujfalusi wrote:
> On 03/04/2015 02:28 PM, Mike Looijmans wrote:
>>> W/o the AFIFO enabled OMAP-L138 should be close enough for the platforms which
>>> does not have FIFO. But I can test w/o FIFO and w/ FIFO on this platform.
>>
>> Okay, I hadn't even thought of simply disabling the FIFO. Good to know you
>> already took this into consideration, good work.
>
> Do you have possibility of testing the edma-pcm in your setup by any chance?
Not really, since the board has some TI hardware that doesn't work on newer
kernels. The 1271 Wifi chip for one, that stopped working after 3.2.
>> BTW, I simply linked the params for the McASP-to-DDR in a big loop for my
>> 2.6.37 based kernel, which solved the problems when sampling 16 channels.
>
> Sounds interesting, is it possible to share this code with me so I can see
> what you have done and I can check if your use case will work with the
> edma-pcm as well?
Sure, though I think I've posted it before.
What I did was just create a set of params in a closed circle, each pointing
to the next, and the last pointing to the first. This means you'll need as
many param slots as there are periods though. I typically use 8, but as few as
2 will do as well (which is what ping-pong does into the SRAM).
The IRQ handler is then reduced to emit just the "period" signal. There's no
hard timing requirement to the IRQ handler, user space just needs to grab (or
fill) the data before the DMA loops around. (This allows for very short
periods too, if low latency is your goal, since missing one or even several
interrupts won't harm the transfer.)
I set up the DMA to use larger chunks by only triggering once every ~16 words,
so that the "a" parameter of the param can be set much larger, and hence the
bytes-per-period can be set to values beyond 64k. So the McASP only sends out
one event every 16 words, and the DMA is set up accordingly.
I use a 4MB buffer for that 16-channels-of-32-bits system, usually with 8
periods of 512kB each.
Met vriendelijke groet / kind regards,
Mike Looijmans
System Expert
TOPIC Embedded Systems
Eindhovenseweg 32-C, NL-5683 KH Best
Postbus 440, NL-5680 AK Best
Telefoon: (+31) (0) 499 33 69 79
Telefax: (+31) (0) 499 33 69 70
E-mail: mike.looijmans@topic.nl
Website: www.topic.nl
Please consider the environment before printing this e-mail
Topic zoekt gedreven (embedded) software specialisten!
http://topic.nl/vacatures/topic-zoekt-software-engineers/
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next prev parent reply other threads:[~2015-03-05 9:43 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-03 14:45 [PATCH 0/5] ASoC: davinci: Use edma-pcm and remove davinci-pcm Peter Ujfalusi
2015-03-03 14:45 ` Peter Ujfalusi
2015-03-03 14:45 ` [PATCH 1/5] ASoC: davinci: Select SND_EDMA_SOC when SND_DAVINCI_SOC is enabled Peter Ujfalusi
2015-03-03 14:45 ` Peter Ujfalusi
2015-03-03 14:45 ` [PATCH 2/5] ASoC: davinci-i2s: Convert to use edma-pcm Peter Ujfalusi
2015-03-03 14:45 ` Peter Ujfalusi
2015-03-03 14:45 ` [PATCH 3/5] ASoC: davinci-vcif: " Peter Ujfalusi
2015-03-03 14:45 ` Peter Ujfalusi
2015-03-03 14:45 ` [PATCH 4/5] ASoC: davinci-mcasp: Deprecate the use of davinci-pcm in favor of edma-pcm Peter Ujfalusi
2015-03-03 14:45 ` Peter Ujfalusi
2015-03-03 14:45 ` [PATCH 5/5] ASoC: davinci: Remove unused davinci-pcm platform driver Peter Ujfalusi
2015-03-03 14:45 ` Peter Ujfalusi
2015-03-04 6:19 ` [PATCH 0/5] ASoC: davinci: Use edma-pcm and remove davinci-pcm Mike Looijmans
2015-03-04 8:49 ` Peter Ujfalusi
2015-03-04 12:28 ` Mike Looijmans
2015-03-04 14:10 ` Peter Ujfalusi
2015-03-05 9:43 ` Mike Looijmans [this message]
2015-03-05 10:45 ` Peter Ujfalusi
2015-03-05 10:48 ` Peter Ujfalusi
2015-03-04 17:26 ` Mark Brown
2015-03-04 17:26 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54F82553.7050508@topic.nl \
--to=mike.looijmans@topic.nl \
--cc=alsa-devel@alsa-project.org \
--cc=peter.ujfalusi@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.