From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: Mike Looijmans <mike.looijmans@topic.nl>, alsa-devel@alsa-project.org
Subject: Re: [PATCH 0/5] ASoC: davinci: Use edma-pcm and remove davinci-pcm
Date: Thu, 5 Mar 2015 12:45:05 +0200 [thread overview]
Message-ID: <54F833B1.1070204@ti.com> (raw)
In-Reply-To: <54F82553.7050508@topic.nl>
On 03/05/2015 11:43 AM, Mike Looijmans wrote:
> 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 edma-pcm (via dmaengine) does the same thing, we have the max limit for
periods at 19 ATM, but I'm working on to get that one increased.
> 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.
OK, this is also supported by the edma-pcm, you need to enable the FIFO and
specify the threshold.
> I use a 4MB buffer for that 16-channels-of-32-bits system, usually with 8
> periods of 512kB each.
Glad to hear, if you ever need to update the kernel, the edma-pcm conversion
will not going to cause you regression ;)
> 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/
>
--
Péter
_______________________________________________
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 10:45 UTC|newest]
Thread overview: 14+ 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 ` [PATCH 1/5] ASoC: davinci: Select SND_EDMA_SOC when SND_DAVINCI_SOC is enabled 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 ` [PATCH 3/5] ASoC: davinci-vcif: " 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 ` [PATCH 5/5] ASoC: davinci: Remove unused davinci-pcm platform driver 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
2015-03-05 10:45 ` Peter Ujfalusi [this message]
2015-03-05 10:48 ` Peter Ujfalusi
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=54F833B1.1070204@ti.com \
--to=peter.ujfalusi@ti.com \
--cc=alsa-devel@alsa-project.org \
--cc=mike.looijmans@topic.nl \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox