Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ALSA: hda/ca0132 - Add ZxR exit commands

This patch adds exit operations for the Sound Blaster ZxR.

Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

authored by

Connor McAdams and committed by
Takashi Iwai
96395e86 d51434d4

+33
+33
sound/pci/hda/patch_ca0132.c
··· 7869 7869 snd_hda_codec_write(codec, 0x01, 0, 0x724, 0x83); 7870 7870 } 7871 7871 7872 + static void zxr_exit_chip(struct hda_codec *codec) 7873 + { 7874 + chipio_set_stream_control(codec, 0x03, 0); 7875 + chipio_set_stream_control(codec, 0x04, 0); 7876 + chipio_set_stream_control(codec, 0x14, 0); 7877 + chipio_set_stream_control(codec, 0x0C, 0); 7878 + 7879 + chipio_set_conn_rate(codec, 0x41, SR_192_000); 7880 + chipio_set_conn_rate(codec, 0x91, SR_192_000); 7881 + 7882 + chipio_write(codec, 0x18a020, 0x00000083); 7883 + 7884 + snd_hda_codec_write(codec, 0x01, 0, 0x793, 0x00); 7885 + snd_hda_codec_write(codec, 0x01, 0, 0x794, 0x53); 7886 + 7887 + ca0132_clear_unsolicited(codec); 7888 + sbz_set_pin_ctl_default(codec); 7889 + snd_hda_codec_write(codec, 0x0B, 0, AC_VERB_SET_EAPD_BTLENABLE, 0x00); 7890 + 7891 + ca0113_mmio_gpio_set(codec, 5, false); 7892 + ca0113_mmio_gpio_set(codec, 2, false); 7893 + ca0113_mmio_gpio_set(codec, 3, false); 7894 + ca0113_mmio_gpio_set(codec, 0, false); 7895 + ca0113_mmio_gpio_set(codec, 4, true); 7896 + ca0113_mmio_gpio_set(codec, 0, true); 7897 + ca0113_mmio_gpio_set(codec, 5, true); 7898 + ca0113_mmio_gpio_set(codec, 2, false); 7899 + ca0113_mmio_gpio_set(codec, 3, false); 7900 + } 7901 + 7872 7902 static void ca0132_exit_chip(struct hda_codec *codec) 7873 7903 { 7874 7904 /* put any chip cleanup stuffs here. */ ··· 8362 8332 switch (spec->quirk) { 8363 8333 case QUIRK_SBZ: 8364 8334 sbz_exit_chip(codec); 8335 + break; 8336 + case QUIRK_ZXR: 8337 + zxr_exit_chip(codec); 8365 8338 break; 8366 8339 case QUIRK_R3D: 8367 8340 r3d_exit_chip(codec);