Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
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

  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