[alsa-devel] Update on TLV320AIC3204 Driver
Peter Ujfalusi
peter.ujfalusi at nokia.com
Tue Jun 15 15:42:32 CEST 2010
Hi,
On Tuesday 15 June 2010 08:11:10 ext Stuart Longland wrote:
> Okay, I've had a close inspection of how the SOC_DOUBLE_R_SX_TLV widgets
> are implemented. I couldn't find where in the git trees the control had
> been added, I wound up applying this patch myself in my tree... it
> apparently got applied in the official trees, but I cannot find it.
I'm not really sure what the SOC_DOUBLE_R_SX_TLV is for...
But would a simple SOC_DOUBLE_R_TLV enough for the aic3204 codec?
I have not looked at the datasheet (if it is available), but I'll try to find
it.
Well looking at the _2r_sx functions in soc-core.c does not really clears the
intention, but at least I can see several things in the snd_soc_put_volsw_2r_sx
function, which can cause problems:
- in error case it returns 0,
- instead of updating the bits, it rewrites the register, which I think will
erase bits, which it should not touch.
- it has the ret variable, but it is not really used, and when it got assigned,
than it gets 1 in the success case. But luckily the return at the end of the
function is not using the ret, but 0.
- I'm not really sure if the 0xff masking is needed at all in the _sx functions,
since the values are masked with the mask anyways.
So I do not really follow what these suppose to do... Can someone give an
example of HW register, and the SX combination with the tlv struct?
--
Péter
More information about the Alsa-devel
mailing list