On Sat, 8 Nov 2014 09:27:56 +0000 Mark Brown broonie@kernel.org wrote:
On Sat, Nov 08, 2014 at 11:38:03AM +1100, NeilBrown wrote:
twl_i2c_write_u8(TWL4030_MODULE_AUDIO_VOICE,
TWL4030_VIF_TRI_EN,
TWL4030_REG_VOICE_IF);
/* These pins only relevant when voice_fmt set */
snd_soc_dapm_disable_pin(&codec->dapm, "VOICEIN");
snd_soc_dapm_disable_pin(&codec->dapm, "VOICEOUT");
Given your previous patch are these trying to control a digital link by any chance? If they are they should be removed, and in any case this sort of thing looks like a machine driver issue.
Depends on what you mean by "control". They declare that a digital link is, or is not, active so that the related amplifiers, DACs, etc can be powered up or down.
The "VIF_TRI_EN" puts the digital interface in 'tristate' mode which effectively disables it. So that bit certainly "controls" the digital link.
If I shouldn't have these controls here, where should I have them? How should I turn on/off the widgets that drive the VOICE interface?
You say it looks like "a machine driver issue". alsa/soc/machine.txt says that "machine" is a synonym for "board". I thought we were getting rid of board files and replacing them with devicetree. You seem to be implying that we are keeping board files (under the name "machine driver") for the audio config.
Is that correct? What is the reason for that?
Thanks, NeilBrown