From: Mike Looijmans <mike.looijmans@topic.nl>
To: Clemens Ladisch <clemens@ladisch.de>
Cc: alsa-devel@alsa-project.org,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
Daniel Mack <zonque@gmail.com>
Subject: Re: [PATCH v2] ALSA: ASoC: McASP: add support for 24 bit samples
Date: Tue, 9 Oct 2012 15:06:53 +0200 [thread overview]
Message-ID: <5074216D.4030306@topic.nl> (raw)
In-Reply-To: <507416DC.6030207@ladisch.de>
On 10/09/2012 02:21 PM, Clemens Ladisch wrote:
> The three possibilities to store little-endian signed 24-bit samples in
> memory are (where L=LSB, M=MSB):
>
> 0padding LLLLLLLL MMMMMMMM HHHHHHHH S32_LE
> LLLLLLLL MMMMMMMM HHHHHHHH 0padding S24_LE
> LLLLLLLL MMMMMMMM HHHHHHHH S24_3LE
>
> The first two require the DMA controller to transfer four bytes, the
> last one, three bytes.
>
> All three use (at least) 24 bits on the wire.
Oh, I always assumed that S32_LE was just a 32-bit format. That's what
I've been assuming so far, and the resulting data files from "arecord -f
{S32_LE|S24_LE|S24_3LE}" were perfectly understood by audio programs.
Basically, what you're claiming here is that S24_LE must store the audio
data in the lower 3 bytes? Because in my experiments so far I concluded
I had to fill the high order bits for both S24_LE and S32_LE formats.
> >Hence Mike would be right that S24_LE has to use a 4-byte dma transfer
> >size, no?
> Yes.
It's not strictly what I wrote, but it's what I meant, yes.
Now we're on the topic of DMA controllers:
When reading multiple channels (e.g. 2 or more codecs on the serializers
either using TDM or multiple AXR pins), the DMA controller must always
read 32 bits per sample from the serializer, regardless of the sample
format used.
Currently I implement this by enforcing S32_LE or S24_LE formats, and
denying all others when multiple serializers are involved.
Would it be possible to instruct the davinci's DMA controller to read 32
bits but write only 8, 16 or 24 bits to memory for each sample?
Met vriendelijke groet / kind regards,
Mike Looijmans
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
Dit e-mail bericht en de eventueel daarbij behorende bijlagen zijn uitsluitend bestemd voor de geadresseerde, zoals die blijkt uit het e-mail bericht en/of de bijlagen. Er kunnen gegevens met betrekking tot een derde instaan. Indien u als niet-geadresseerde dit bericht en de bijlagen ontvangt, terwijl u niet bevoegd of gemachtigd bent om dit bericht namens de geadresseerde te ontvangen, wordt u verzocht de afzender hierover direct te informeren en het e-mail bericht met de bijlagen te vernietigen. Ieder gebruik van de inhoud van het e-mail bericht, waaronder de daarbij behorende bijlagen, door een ander dan de geadresseerde is onrechtmatig jegens ons dan wel de eventueel in het e-mail bericht of de bijlagen voorkomende andere personen. TOPIC Embedded Systems is niet aansprakelijk voor enigerlei schade voortvloeiend uit het gebruik en/of acceptatie van dit e-mail bericht of de daarbij behorende bijlagen.
The contents of this message, as well as any enclosures, are addressed personally to, and thus solely intended for the addressee. They may contain information regarding a third party. A recipient who is neither the addressee, nor empowered to receive this message on behalf of the addressee, is kindly requested to immediately inform the sender of receipt, and to destroy the message and the enclosures. Any use of the contents of this message and/or the enclosures by any other person than the addressee or person who is empowered to receive this message, is illegal towards the sender and/or the aforementioned third party. TOPIC Embedded Systems is not liable for any damage as a result of the use and/or acceptance of this message and as well as any enclosures.
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next prev parent reply other threads:[~2012-10-09 13:02 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-09 9:41 [PATCH v2] ALSA: ASoC: McASP: add support for 24 bit samples Mike Looijmans
2012-10-09 9:47 ` Daniel Mack
2012-10-09 9:49 ` Mike Looijmans
2012-10-09 10:24 ` Mark Brown
2012-10-09 11:00 ` Daniel Mack
2012-10-09 12:21 ` Clemens Ladisch
2012-10-09 12:32 ` Mark Brown
2012-10-09 13:06 ` Mike Looijmans [this message]
-- strict thread matches above, loose matches on Subject: below --
2012-10-09 7:35 Daniel Mack
2012-10-09 9: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=5074216D.4030306@topic.nl \
--to=mike.looijmans@topic.nl \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=clemens@ladisch.de \
--cc=zonque@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).