ALSA: hda - Consider additional capture source/selector in ALC889

Previous thread: ALSA: hda - Remove superfluous code in patch_realtek.c by Linux Kernel Mailing List on Thursday, March 26, 2009 - 12:13 pm. (1 message)

Next thread: ALSA: hda - Add missing KERN_* prefix to printk by Linux Kernel Mailing List on Thursday, March 26, 2009 - 12:13 pm. (1 message)
From: Linux Kernel Mailing List
Date: Thursday, March 26, 2009 - 12:13 pm

Gitweb:     http://git.kernel.org/linus/61b9b9b109217b2bfb128c3ca24d8f8c839a425f
Commit:     61b9b9b109217b2bfb128c3ca24d8f8c839a425f
Parent:     ca8d33fc9fafe373362d35107f01fba1e73fb966
Author:     Herton Ronaldo Krzesinski <herton@mandriva.com.br>
AuthorDate: Wed Jan 28 09:16:33 2009 -0200
Committer:  Takashi Iwai <tiwai@suse.de>
CommitDate: Wed Jan 28 16:25:39 2009 +0100

    ALSA: hda - Consider additional capture source/selector in ALC889
    
    Currently code for capture source support in ALC889 only considers
    capture mixers. This change adds additional support for ADC+selector
    present in ALC889, taking into account also the presence of an
    additional DMIC connection item in the selector.
    
    Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/pci/hda/patch_realtek.c |  105 ++++++++++++++++++++++++++++++-----------
 1 files changed, 77 insertions(+), 28 deletions(-)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 863ab95..d81cb5e 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -238,6 +238,13 @@ enum {
 	ALC883_MODEL_LAST,
 };
 
+/* styles of capture selection */
+enum {
+	CAPT_MUX = 0,	/* only mux based */
+	CAPT_MIX,	/* only mixer based */
+	CAPT_1MUX_MIX,	/* first mux and other mixers */
+};
+
 /* for GPIO Poll */
 #define GPIO_MASK	0x03
 
@@ -276,7 +283,7 @@ struct alc_spec {
 	hda_nid_t *adc_nids;
 	hda_nid_t *capsrc_nids;
 	hda_nid_t dig_in_nid;		/* digital-in NID; optional */
-	unsigned char is_mix_capture;	/* matrix-style capture (non-mux) */
+	int capture_style;		/* capture style (CAPT_*) */
 
 	/* capture source */
 	unsigned int num_mux_defs;
@@ -294,7 +301,7 @@ struct alc_spec {
 	/* dynamic controls, init_verbs and input_mux */
 	struct auto_pin_cfg autocfg;
 	struct snd_array kctls;
-	struct hda_input_mux private_imux;
+	struct hda_input_mux private_imux[3];
 	hda_nid_t ...
Previous thread: ALSA: hda - Remove superfluous code in patch_realtek.c by Linux Kernel Mailing List on Thursday, March 26, 2009 - 12:13 pm. (1 message)

Next thread: ALSA: hda - Add missing KERN_* prefix to printk by Linux Kernel Mailing List on Thursday, March 26, 2009 - 12:13 pm. (1 message)