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.
-brian