[alsa-devel] Regression caused by "ASoC: core: Rework SOC_DOUBLE_R_SX_TLV add SOC_SINGLE_SX_TLV"
brian.austin at cirrus.com
Thu Jan 30 16:37:44 CET 2014
On Thu, 30 Jan 2014, Brian Austin wrote:
> On Thu, 30 Jan 2014, Thomas Petazzoni wrote:
>> Dear Brian Austin,
>> On Thu, 30 Jan 2014 08:59:44 -0600, Brian Austin wrote:
>>> That is odd. My other devices that use this don't show that behavior, I
>>> will check on a different device, but I will see if I can get an L51
>>> today. So your saying the L51 for PCMA/B Mixer Volume COntrol, you can
>>> only select 2 values in the whole range?
>> Yes, absolutely. Not only for the PCMA/B Mixer Volume Control but also
>> for the two other volume controls that were modified by your commit.
>> I'll try to get back to your commit (without my revert) to verify once
>> again my claims.
>>>> Therefore, I believe that the commit has a problem. I haven't yet
>>>> investigated where the problem is, maybe just the values passed to
>>>> SOC_DOUBLE_R_SX_TLV(), or maybe in the implementation of the volume
>>>> control functions themselves. I can certainly start investigating, but
>>>> maybe the author of the commit will immediately realize where the
>>>> problem could be.
>>> I do see however that the MAX value is not correct and should be 0x80
>>> instead of 0x7F. Off by 1...
>> Hum, ok, but I don't believe this should affect the range of values
>> that alsamixer sees, but only the fact that you're not using the full
>> range of volumes available at the codec level, right?
> Yeah, that would not explain why you can only use 2 values for gain. That
> means something is for sure broken.
> I have an L73 just up now and will check those register values and get back
> to you real soon.
So with v3.12 with the CS42L73 I can use SOC_DOUBLE_R_SX_TLV and adjust
the gain correctly and the register settings are reflected correctly as
well when I do an i2cdump of the device. Let me hunt down an L51 CDB and
see what is going on with that device.
More information about the Alsa-devel