ASoC: Allow drivers to specify how many bits are significant on a DAI
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 16 Jan 2012 18:38:51 +0000 (18:38 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 20 Jan 2012 13:58:29 +0000 (13:58 +0000)
commit58ba9b25454fe9b6ded804f69cb7ed4500b685fc
treea1fe526353caf7c79cf21c8763e9e86117c981d4
parent5f52ee48751e63ed555b56a82db446745f60bc82
ASoC: Allow drivers to specify how many bits are significant on a DAI

Most devices accept data in formats that don't correspond directly to
their internal format. ALSA allows us to set a msbits constraint which
tells userspace about this in case it finds it useful (for example, in
order to avoid wasting effort dithering bits that will be ignored when
raising the sample size of data) so provide a mechanism for drivers to
specify the number of bits that are actually significant on a DAI and
add the appropriate constraints along with all the others.

This is done slightly awkwardly as the constraint is specified per sample
size - we loop over every possible sample size, including ones that the
device doesn't support and including ones that have fewer bits than are
actually used, but this is harmless as the upper layers do the right thing
in these cases.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
include/sound/soc.h
sound/soc/soc-pcm.c