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

ALSA: hda/ca0132 - Add ZxR input/output select commands

This patch adds commands for selecting input and output on the Sound
Blaster ZxR. The ZxR has no front panel header, and has line-in on the
separate daughter board, so it only does rear-mic.

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
55845949 c25c73e0

+25
+25
sound/pci/hda/patch_ca0132.c
··· 4174 4174 ca0113_mmio_gpio_set(codec, 1, true); 4175 4175 chipio_set_control_param(codec, 0x0d, 0x18); 4176 4176 break; 4177 + case QUIRK_ZXR: 4178 + ca0113_mmio_gpio_set(codec, 2, true); 4179 + ca0113_mmio_gpio_set(codec, 3, true); 4180 + ca0113_mmio_gpio_set(codec, 5, false); 4181 + chipio_set_control_param(codec, 0x0d, 0x24); 4182 + break; 4177 4183 case QUIRK_R3DI: 4178 4184 chipio_set_control_param(codec, 0x0d, 0x24); 4179 4185 r3di_gpio_out_set(codec, R3DI_LINE_OUT); ··· 4206 4200 ca0113_mmio_gpio_set(codec, 4, true); 4207 4201 ca0113_mmio_gpio_set(codec, 1, false); 4208 4202 chipio_set_control_param(codec, 0x0d, 0x12); 4203 + break; 4204 + case QUIRK_ZXR: 4205 + ca0113_mmio_gpio_set(codec, 2, false); 4206 + ca0113_mmio_gpio_set(codec, 3, false); 4207 + ca0113_mmio_gpio_set(codec, 5, true); 4208 + chipio_set_control_param(codec, 0x0d, 0x21); 4209 4209 break; 4210 4210 case QUIRK_R3DI: 4211 4211 chipio_set_control_param(codec, 0x0d, 0x21); ··· 4240 4228 ca0113_mmio_gpio_set(codec, 4, true); 4241 4229 ca0113_mmio_gpio_set(codec, 1, true); 4242 4230 chipio_set_control_param(codec, 0x0d, 0x18); 4231 + break; 4232 + case QUIRK_ZXR: 4233 + ca0113_mmio_gpio_set(codec, 2, true); 4234 + ca0113_mmio_gpio_set(codec, 3, true); 4235 + ca0113_mmio_gpio_set(codec, 5, false); 4236 + chipio_set_control_param(codec, 0x0d, 0x24); 4243 4237 break; 4244 4238 case QUIRK_R3DI: 4245 4239 chipio_set_control_param(codec, 0x0d, 0x24); ··· 4643 4625 ca0113_mmio_gpio_set(codec, 0, false); 4644 4626 tmp = FLOAT_THREE; 4645 4627 break; 4628 + case QUIRK_ZXR: 4629 + tmp = FLOAT_THREE; 4630 + break; 4646 4631 case QUIRK_R3DI: 4647 4632 r3di_gpio_mic_set(codec, R3DI_REAR_MIC); 4648 4633 tmp = FLOAT_ONE; ··· 4672 4651 case QUIRK_SBZ: 4673 4652 chipio_write(codec, 0x18B098, 0x0000000C); 4674 4653 chipio_write(codec, 0x18B09C, 0x0000000C); 4654 + break; 4655 + case QUIRK_ZXR: 4656 + chipio_write(codec, 0x18B098, 0x0000000C); 4657 + chipio_write(codec, 0x18B09C, 0x000000CC); 4675 4658 break; 4676 4659 case QUIRK_AE5: 4677 4660 chipio_write(codec, 0x18B098, 0x0000000C);