AC97_POWERDOWN
case AC97_POWERDOWN:
powerdown = em28xx_read_ac97(dev, AC97_POWERDOWN);
em28xx_write_ac97(dev, AC97_POWERDOWN, 0x4200);
if (snd_ac97_try_bit(ac97, AC97_POWERDOWN, 15)) {
snd_ac97_write_cache(ac97, AC97_POWERDOWN, 0);
snd_ac97_write_cache(ac97, AC97_POWERDOWN, 0);
if ((snd_ac97_read(ac97, AC97_POWERDOWN) & 0x0f) == 0x0f)
power = ac97->regs[AC97_POWERDOWN] & ~AC97_PD_EAPD;
power = ac97->regs[AC97_POWERDOWN] | AC97_PD_EAPD;
snd_ac97_write(ac97, AC97_POWERDOWN, power);
snd_ac97_write(ac97, AC97_POWERDOWN, power);
snd_ac97_write(ac97, AC97_POWERDOWN, power);
snd_ac97_write(ac97, AC97_POWERDOWN, power);
[PWIDX_ADC] = { AC97_PCM_LR_ADC_RATE, AC97_POWERDOWN, AC97_PD_PR0},
[PWIDX_FRONT] = { AC97_PCM_FRONT_DAC_RATE, AC97_POWERDOWN, AC97_PD_PR1},
if (ac97->regs[AC97_POWERDOWN] & AC97_PD_PR2) {
snd_ac97_update_bits(ac97, AC97_POWERDOWN,
snd_ac97_update_bits(ac97, AC97_POWERDOWN,
if (! (ac97->regs[AC97_POWERDOWN] & AC97_PD_PR2)) {
snd_ac97_update_bits(ac97, AC97_POWERDOWN,
snd_ac97_update_bits(ac97, AC97_POWERDOWN,
if (i == AC97_POWERDOWN || i == AC97_EXTENDED_ID)
snd_ac97_write(ac97, AC97_POWERDOWN, 0);
snd_ac97_write(ac97, AC97_POWERDOWN, 0);
snd_ac97_write(ac97, AC97_POWERDOWN, ac97->regs[AC97_POWERDOWN]);
snd_ac97_update_bits(ac97, AC97_POWERDOWN, AC97_PD_EAPD,
ac97, AC97_POWERDOWN,
snd_ac97_update_bits(ac97, AC97_POWERDOWN, AC97_PD_EAPD,
ac97, AC97_POWERDOWN,
AC97_SINGLE("External Amplifier", AC97_POWERDOWN, 15, 1, 1);
kctl->private_value = AC97_SINGLE_VALUE(AC97_POWERDOWN, 15, 1, 0);
snd_ac97_update_bits(ac97, AC97_POWERDOWN, (1<<15), (1<<15)); /* EAPD up */
if (i == AC97_POWERDOWN || i == AC97_EXTENDED_ID)
snd_ac97_write_cache(ac97, AC97_POWERDOWN, 0x0);
snd_ac97_write_cache(ac97, AC97_POWERDOWN, 0x0);
wReg = snd_ali_codec_peek(codec, 0, AC97_POWERDOWN);
case AC97_POWERDOWN:
case AC97_POWERDOWN:
case AC97_POWERDOWN:
oval = snd_cs46xx_codec_read(chip, AC97_POWERDOWN,
snd_cs46xx_codec_write(chip, AC97_POWERDOWN, val,
oxygen_ac97_set_bits(chip, 0, AC97_POWERDOWN,
case AC97_POWERDOWN ... AC97_PCM_LR_ADC_RATE:
snd_soc_component_write(component, AC97_POWERDOWN, 0x0000);
snd_soc_component_write(component, AC97_POWERDOWN, 0xffff);
snd_soc_component_write(component, AC97_POWERDOWN, 0xffff);
snd_soc_component_write(component, AC97_POWERDOWN, 0x0000);
snd_soc_component_write(component, AC97_POWERDOWN, 0xffff);
snd_soc_component_write(component, AC97_POWERDOWN, 0x0000);
snd_soc_component_write(component, AC97_POWERDOWN, 0xffff);
snd_soc_component_write(component, AC97_POWERDOWN, 0x6f00);
snd_soc_component_write(component, AC97_POWERDOWN, 0xffff);