Home
last modified time | relevance | path

Searched hist:f227b88f0fce5f9b82aa934f8829a741c2e06d82 (Results 1 – 2 of 2) sorted by relevance

/openbmc/linux/include/sound/
H A Dsoc.hdiff f227b88f0fce5f9b82aa934f8829a741c2e06d82 Thu Jan 16 09:02:10 CST 2014 Markus Pargmann <mpa@pengutronix.de> ASoC: core: Add signed register volume control logic

Some codecs use signed volume control representation with non standard
register sizes, e.g. 6 or 7 bit signed integers.

This patch adds generic signed register volume control logic to
soc-core. Instead of a fixed width signed register control, this
implementation uses a 'min' value and the signed bit location to translate
it to an absolute volume. Using the 'sign_bit' we can calculate a
correct mask for the register values and translate it back into signed
integers of standard size.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
/openbmc/linux/sound/soc/
H A Dsoc-core.cdiff f227b88f0fce5f9b82aa934f8829a741c2e06d82 Thu Jan 16 09:02:10 CST 2014 Markus Pargmann <mpa@pengutronix.de> ASoC: core: Add signed register volume control logic

Some codecs use signed volume control representation with non standard
register sizes, e.g. 6 or 7 bit signed integers.

This patch adds generic signed register volume control logic to
soc-core. Instead of a fixed width signed register control, this
implementation uses a 'min' value and the signed bit location to translate
it to an absolute volume. Using the 'sign_bit' we can calculate a
correct mask for the register values and translate it back into signed
integers of standard size.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Mark Brown <broonie@linaro.org>