98695eab3c
As long as reading datasheet of WM8991, this driver includes wrong usage of DECLARE_TLV_DB_LINEAR(). In "Table 6 Input PGA Volume Range", volume is represented in 5 bits by 1.5 dB/step between -16.5/30.0 dB. Thus, 'in_pga_tlv' should be dB step representation. In "Table 34 LOMIX and ROMIX Volume Range", volume is represented in three bits by -3 dB/step from 0 to -21 dB. Thus, 'out_mix_tlv' should be dB step represenation. In "Table 36 LOPGA, ROPGA, LOUT, ROUT and SPKVOL Volume Range", volume is represented in 7 bits by 1 dB/step from -73 to 6 dB, including mute. Thus, 'out_pga_tlv' should be dB step representation. In "Table 26 Digital Volume Range", volume is represented in 8 bits by 3/8 dB/step from -71.625 to 0 dB. Thus, 'out_dac_tlv' should be dB step representation. In "Table 16 ADC Digital Volume Range", volume is represented in 8 bits by 3/8 dB/step from -71.625 to 17.625 dB. Thus, 'in_adc_tlv' should be dB step representation. In "Table 23 Digital Sidetone Volume", volume is represented in 5 bits by 3 dB/step from -36 to 0 dB. Thus, 'out_sidetone_tlv' should be dB step representation. In "Table 12 Left Input Mixer Volume Control", volume is represented in 3 bits by 3 dB/step from -12 to 6 dB Totally, current implementation includes misuse of TLV-related macro. This commit replaces usage of DECLARE_TLV_DB_LINEAR() with proper macros, to give proper information to applications in user land. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@kernel.org> |
||
---|---|---|
.. | ||
adi | ||
amd | ||
atmel | ||
au1x | ||
bcm | ||
blackfin | ||
cirrus | ||
codecs | ||
davinci | ||
dwc | ||
fsl | ||
generic | ||
img | ||
intel | ||
jz4740 | ||
kirkwood | ||
mediatek | ||
mxs | ||
nuc900 | ||
omap | ||
pxa | ||
qcom | ||
rockchip | ||
samsung | ||
sh | ||
sirf | ||
spear | ||
sti | ||
sunxi | ||
tegra | ||
txx9 | ||
ux500 | ||
xtensa | ||
zte | ||
Kconfig | ||
Makefile | ||
soc-ac97.c | ||
soc-cache.c | ||
soc-compress.c | ||
soc-core.c | ||
soc-dapm.c | ||
soc-devres.c | ||
soc-generic-dmaengine-pcm.c | ||
soc-io.c | ||
soc-jack.c | ||
soc-ops.c | ||
soc-pcm.c | ||
soc-topology.c | ||
soc-utils.c |