AC97_GENERAL_PURPOSE
if (snd_ac97_try_bit(ac97, AC97_GENERAL_PURPOSE, 15)) {
if (snd_ac97_try_bit(ac97, AC97_GENERAL_PURPOSE, 13)) {
if (snd_ac97_try_bit(ac97, AC97_GENERAL_PURPOSE, 9)) {
if (snd_ac97_try_bit(ac97, AC97_GENERAL_PURPOSE, 8)) {
if (enable_loopback && snd_ac97_try_bit(ac97, AC97_GENERAL_PURPOSE, 7)) {
snd_ac97_update_bits(ac97, AC97_GENERAL_PURPOSE, ~AC97_GP_DRSS_MASK, 0x0000);
snd_ac97_write_cache(ac97, AC97_GENERAL_PURPOSE, 0);
snd_ac97_update_bits(ac97, AC97_GENERAL_PURPOSE, AC97_GP_DRSS_MASK, AC97_GP_DRSS_78);
if ((snd_ac97_read(ac97, AC97_GENERAL_PURPOSE) & AC97_GP_DRSS_MASK) == AC97_GP_DRSS_78)
snd_ac97_update_bits(ac97, AC97_GENERAL_PURPOSE, AC97_GP_DRSS_MASK, 0);
snd_ac97_write(ac97, AC97_GENERAL_PURPOSE, 0);
AC97_ENUM_SINGLE(AC97_GENERAL_PURPOSE, 15, 2, std_3d_path),
AC97_ENUM_SINGLE(AC97_GENERAL_PURPOSE, 9, 2, std_mix),
AC97_ENUM_SINGLE(AC97_GENERAL_PURPOSE, 8, 2, std_mic),
AC97_SINGLE("Simulated Stereo Enhancement", AC97_GENERAL_PURPOSE, 14, 1, 0),
AC97_SINGLE("3D Control - Switch", AC97_GENERAL_PURPOSE, 13, 1, 0),
AC97_SINGLE("Loudness (bass boost)", AC97_GENERAL_PURPOSE, 12, 1, 0),
AC97_SINGLE("ADC/DAC Loopback", AC97_GENERAL_PURPOSE, 7, 1, 0)
AC97_ENUM_SINGLE(AC97_GENERAL_PURPOSE, 15, 2, wm9713_base),
AC97_SINGLE("Bass Cut-off Switch", AC97_GENERAL_PURPOSE, 12, 1, 1),
AC97_SINGLE("Tone Cut-off Switch", AC97_GENERAL_PURPOSE, 4, 1, 1),
AC97_SINGLE("Playback Attenuate (-6dB) Switch", AC97_GENERAL_PURPOSE, 6, 1, 0),
AC97_SINGLE("Bass Volume", AC97_GENERAL_PURPOSE, 8, 15, 1),
AC97_SINGLE("Tone Volume", AC97_GENERAL_PURPOSE, 0, 15, 1),
snd_ac97_update_bits(ac97, AC97_GENERAL_PURPOSE,
snd_ac97_read(ac97, AC97_GENERAL_PURPOSE);
val = snd_ac97_read(ac97, AC97_GENERAL_PURPOSE);
snd_ac97_update_bits(emu->ac97, AC97_GENERAL_PURPOSE,
{ AC97_GENERAL_PURPOSE, 0x0000 },
case AC97_AUX ... AC97_GENERAL_PURPOSE:
SOC_SINGLE("Loopback Test Switch", AC97_GENERAL_PURPOSE, 7, 1, 0),
SOC_SINGLE("3D Switch", AC97_GENERAL_PURPOSE, 13, 1, 0),
AC97_GENERAL_PURPOSE, 9, stac9766_mono_mux);
AC97_GENERAL_PURPOSE, 8, stac9766_mic_mux);
AC97_GENERAL_PURPOSE, 15, stac9766_popbypass_mux);
AC97_GENERAL_PURPOSE, 8, wm9705_mic);
SOC_SINGLE("Bass Cut-off Switch", AC97_GENERAL_PURPOSE, 12, 1, 1),
SOC_SINGLE("Tone Cut-off Switch", AC97_GENERAL_PURPOSE, 4, 1, 1),
SOC_SINGLE("Playback Attenuate (-6dB) Switch", AC97_GENERAL_PURPOSE, 6, 1, 0),
SOC_SINGLE("Bass Volume", AC97_GENERAL_PURPOSE, 8, 15, 1),
SOC_SINGLE("Tone Volume", AC97_GENERAL_PURPOSE, 0, 15, 1),
SOC_ENUM_SINGLE(AC97_GENERAL_PURPOSE, 15, 2, wm9713_bass), /* bass control 16 */