[alsa-devel] [RFC] I2S and LEFT_J (was: ASoC: pxa-ssp: enhance I2S and add Left_J support)

Daniel Ribeiro drwyrm at gmail.com
Tue Jun 16 04:11:13 CEST 2009

Em Seg, 2009-06-15 às 19:40 +0200, Daniel Mack escreveu:
> Forbidding it due to API clearance even though it's
> supported by the hardware is a step backwards.

I wouldn't consider this API clearance. If you look at the pxa-ssp.c
history you will see that the first version of this driver that hit
mainline used to work for the standard 32 bits frame_width for 2*16 bits
samples, for DSP_A/DSP_B and I2S.

(Tough I2S was broken for other reasons if you used
SND_SOC_DAIFMT_IB_IF, and required a set_tdm_slot() call)

Commit aa4ef01de5f2e7ed948b88f9f1cfc93c8e0c3f25 broke DSP_A and DSP_B
for 2*16bits samples, if you don't make a dummy set_tdm_slot() call.

Commit 72d7466468b471f99cefae3c5f4a414bbbaa0bdd broke I2S mode for
pxa2xx, even with set_tdm_slot(). And introduced a relation between
SerClkDiv and sample_width that shouldn't exist.

Commit 92429069d0fc9f52d436c9067c5b5c392e3f8876 extended the breakage of
2*16bits samples on 32bit frames for all modes, unless you call
set_tdm_slot(2, 3).

So, mostly, I'm fixing regressions. ;)

Of course I want the driver to work with all the weird non-standard
formats that hardware may require, but the current code is broken on
standards compliant hardware unless you do some set_tdm_slot black
magic. Doing set_tdm_slot hacks is acceptable for non-standard devices,
but is not a nice thing if your hardware is standard or if you want to
use _real_ network mode.

Daniel Ribeiro
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Esta =?ISO-8859-1?Q?=E9?= uma parte de mensagem
 assinada digitalmente
Url : http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20090615/52826a09/attachment-0001.sig 

More information about the Alsa-devel mailing list