[alsa-devel] Regression caused by "ASoC: core: Rework SOC_DOUBLE_R_SX_TLV add SOC_SINGLE_SX_TLV"

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Mon Feb 17 14:14:40 CET 2014

Dear Mark Brown,

On Fri, 14 Feb 2014 20:17:09 +0000, Mark Brown wrote:
> On Mon, Feb 10, 2014 at 03:22:44PM +0100, Thomas Petazzoni wrote:
> > On Thu, 30 Jan 2014 11:23:57 -0600, Brian Austin wrote:
> > > Once I get it figured out, I'll CC you on the submission for your review 
> > > and test.
> > Any news about this volume control problem on cs42l51 ?
> What does the datasheet say about these bitfields?  It should be
> straightforward to figure out how to fix them, it seems clear that the
> original code only worked by accident.

For the PCMA and PCMB registers (addresses 0x10 and 0x11), the
datasheet says that bits 0 to 6 contain the volume, and bit 7 contains
the mute/unmute attribute.

The volume can be adjusted in 0.5 dB increments, with the following
values described in the datasheet:

 001 1000		+12.0 dB
 ........		........
 000 0000		0 dB
 111 1111		-0.5 dB
 111 1110		-1.0 dB
 ........		........
 001 1001		-51.5 dB

Note that I haven't looked myself in details at the code of the audio
codec. I simply noticed there was a volume control problem and that
reverting Brian's patch made the volume control work again. I have not
investigated at all to fix the codec code, as I was suspecting that
Brian may have immediately an idea on what could be wrong. If he
doesn't have the time to look into this, I can certainly spend a bit of
time to investigate what's going on.


Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering

More information about the Alsa-devel mailing list