linux/sound/soc
Michal Bachraty dde109fb46 ASoC: McASP: Fix data rotation for playback. Enables 24bit audio playback
u32 rotate = (32 - word_length) / 4;
This implementation is wrong, but it works only for 16, or 32 bit audio data.
(rotation for 16 or 32 bit is same as in code I present) Mcasp rotated data in
4 bits (max value 0x7)and then masks them . That data are sended to i2s bus.
For 24 bit or 20 bit or other data formats, this code rotates data badly and
you hear somethink like noise.  You need to use
u32 rotate = (word_length / 4) & 0x7;
to proper data rotation.

Signed-off-by: Michal Bachraty <michal.bachraty@streamunlimited.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-27 14:14:46 +08:00
..
atmel ASoC: atmel: remove __dev* attributes 2012-12-10 00:31:03 +09:00
au1x ASoC: au1x: remove __dev* attributes 2012-12-10 00:31:06 +09:00
blackfin ASoC: blackfin: remove __dev* attributes 2012-12-10 00:29:39 +09:00
cirrus ASoC: cirrus: remove __dev* attributes 2012-12-10 00:31:09 +09:00
codecs Merge remote-tracking branch 'asoc/fix/wm5100' into tmp 2013-01-10 12:22:30 +00:00
davinci ASoC: McASP: Fix data rotation for playback. Enables 24bit audio playback 2013-01-27 14:14:46 +08:00
dwc ASoC: dwc: Staticise non-exported i2s_start() 2012-07-04 19:15:43 +01:00
fsl Sound updates for 3.8-rc1 2012-12-13 11:51:23 -08:00
generic ASoC: add generic simple-card support 2012-04-13 11:29:25 +01:00
jz4740 ASoC: jz4740: remove __dev* attributes 2012-12-10 00:31:12 +09:00
kirkwood ASoC: kirkwood: remove __dev* attributes 2012-12-10 00:31:24 +09:00
mid-x86 ASoC: mid-x86: remove __dev* attributes 2012-12-10 00:31:14 +09:00
mxs ASoC: mxs: remove __dev* attributes 2012-12-10 00:31:26 +09:00
nuc900 ASoC: nuc900: remove __dev* attributes 2012-12-10 00:31:28 +09:00
omap Sound updates for 3.8-rc1 2012-12-13 11:51:23 -08:00
pxa ASoC: pxa: remove __dev* attributes 2012-12-10 00:30:34 +09:00
s6000 ASoC: s6000: remove __dev* attributes 2012-12-10 00:31:34 +09:00
samsung ASoC: Samsung: remove __dev* attributes 2012-12-10 00:30:19 +09:00
sh ASoC: sh: remove __dev* attributes 2012-12-10 00:31:36 +09:00
spear ASoC: spear: remove __dev* attributes 2012-12-10 00:31:38 +09:00
tegra Sound updates for 3.8-rc1 2012-12-13 11:51:23 -08:00
txx9 ASoC: txx9: remove __dev* attributes 2012-12-10 00:31:43 +09:00
ux500 Sound updates for 3.8-rc1 2012-12-13 11:51:23 -08:00
Kconfig ASoC: Rename ep93xx soc directory to cirrus 2012-08-28 10:24:21 -07:00
Makefile ASoC: dmaengine: Correct Makefile when sound is built as module 2012-10-09 15:57:33 +09:00
soc-cache.c ASoC: cache: Standardise ASoC cache messages 2012-11-21 11:39:51 +09:00
soc-compress.c ASoC: Prevent pop_wait overwrite 2012-12-15 23:45:09 +09:00
soc-core.c ASoC: core: fix the memory leak in case of remove_aux_dev() 2012-12-27 16:14:43 +00:00
soc-dapm.c ASoC: dapm: Standardise ASoC DAPM messages 2012-11-21 11:39:48 +09:00
soc-dmaengine-pcm.c ASoC: dmaengine_pcm: set MODULE_LICENSE 2012-11-23 23:42:54 +09:00
soc-io.c ASoC: io: Don't dereference regmap if we failed to get one 2012-06-23 12:11:32 +01:00
soc-jack.c Merge remote-tracking branch 'asoc/topic/log' into asoc-next 2012-12-10 00:22:14 +09:00
soc-pcm.c ASoC: pcm: allow backend hardware to be freed in pause state 2012-12-20 15:59:46 +00:00
soc-utils.c ASoC: utils: remove __dev* attributes 2012-12-10 00:31:48 +09:00