AC97_EXTENDED_MID
case AC97_EXTENDED_MID:
val = wm97xx_reg_read(wm, AC97_EXTENDED_MID);
wm97xx_reg_write(wm, AC97_EXTENDED_MID, val & 0x7fff);
val = wm97xx_reg_read(wm, AC97_EXTENDED_MID);
wm97xx_reg_write(wm, AC97_EXTENDED_MID, val | 0x8000);
(power = wm97xx_reg_read(wm, AC97_EXTENDED_MID)) & 0x8000) {
wm97xx_reg_write(wm, AC97_EXTENDED_MID, power & 0x7fff);
wm97xx_reg_write(wm, AC97_EXTENDED_MID, power | 0x8000);
reg = wm97xx_reg_read(wm, AC97_EXTENDED_MID) | 0x8000;
wm97xx_reg_write(wm, AC97_EXTENDED_MID, reg);
reg = wm97xx_reg_read(wm, AC97_EXTENDED_MID) & 0x7fff;
wm97xx_reg_write(wm, AC97_EXTENDED_MID, reg);
val = snd_ac97_read(ac97, AC97_EXTENDED_MID);
snd_ac97_write(ac97, AC97_EXTENDED_MID, 0);
ac97->ext_mid = snd_ac97_read(ac97, AC97_EXTENDED_MID);
snd_ac97_write(ac97, AC97_EXTENDED_MID, 0);
unsigned short val = snd_ac97_read(ac97, AC97_EXTENDED_MID);
snd_ac97_write_cache(ac97, AC97_EXTENDED_MID, 0xfeff);
snd_ac97_write_cache(ac97, AC97_EXTENDED_MID, 0xda00);
snd_ac97_write_cache(ac97, AC97_EXTENDED_MID, 0xda00);
mext = snd_ac97_read(ac97, AC97_EXTENDED_MID);
ext_mid = snd_ac97_read(ac97, AC97_EXTENDED_MID);
snd_soc_component_update_bits(component, AC97_EXTENDED_MID, 0xe400, 0x0000);
snd_soc_component_update_bits(component, AC97_EXTENDED_MID, 0xc400, 0x0000);
snd_soc_component_write(component, AC97_EXTENDED_MID, 0xffff);
snd_soc_component_update_bits(component, AC97_EXTENDED_MID, 0x7fff,
snd_soc_component_update_bits(component, AC97_EXTENDED_MID, 0x1000, 0x1000);
SND_SOC_DAPM_MIXER("Left HP Mixer", AC97_EXTENDED_MID, 3, 1,
SND_SOC_DAPM_MIXER("Right HP Mixer", AC97_EXTENDED_MID, 2, 1,
SND_SOC_DAPM_MIXER("Mono Mixer", AC97_EXTENDED_MID, 0, 1,
SND_SOC_DAPM_MIXER("Speaker Mixer", AC97_EXTENDED_MID, 1, 1,
SND_SOC_DAPM_DAC("Left DAC", "Left HiFi Playback", AC97_EXTENDED_MID, 7, 1),
SND_SOC_DAPM_DAC("Right DAC", "Right HiFi Playback", AC97_EXTENDED_MID, 6, 1),
SND_SOC_DAPM_DAC_E("Voice DAC", "Voice Playback", AC97_EXTENDED_MID, 12, 1,
SND_SOC_DAPM_DAC("Aux DAC", "Aux Playback", AC97_EXTENDED_MID, 11, 1),
SND_SOC_DAPM_PGA("Left ADC", AC97_EXTENDED_MID, 5, 1, NULL, 0),
SND_SOC_DAPM_PGA("Right ADC", AC97_EXTENDED_MID, 4, 1, NULL, 0),
snd_soc_component_update_bits(component, AC97_EXTENDED_MID, 0x0200, 0x0200);
snd_soc_component_update_bits(component, AC97_EXTENDED_MID, 0x0200, 0x0000);