Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7f16859a8335449c8bf75ce4edd8040a57e2b678
Commit:     7f16859a8335449c8bf75ce4edd8040a57e2b678
Parent:     b995d76da070440c1e5687c0c13c8fbe51222ea2
Author:     Matthew Ranostay <[EMAIL PROTECTED]>
AuthorDate: Thu Oct 18 17:38:17 2007 +0200
Committer:  Jaroslav Kysela <[EMAIL PROTECTED]>
CommitDate: Thu Jan 31 17:29:06 2008 +0100

    [ALSA] hda-codec - Add STAC9228 DMIC support
    
    Added the missing STAC9228 DMIC support.
    Also added a new vendor id tag for IDT.
    
    Signed-off-by: Matthew Ranostay <[EMAIL PROTECTED]>
    Signed-off-by: Takashi Iwai <[EMAIL PROTECTED]>
    Signed-off-by: Jaroslav Kysela <[EMAIL PROTECTED]>
---
 sound/pci/hda/hda_codec.c      |    1 +
 sound/pci/hda/patch_sigmatel.c |   18 +++++++++++++++---
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 8cbe3bf..dacabe5 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -55,6 +55,7 @@ static struct hda_vendor_id hda_vendor_ids[] = {
        { 0x10ec, "Realtek" },
        { 0x1057, "Motorola" },
        { 0x1106, "VIA" },
+       { 0x111d, "IDT" },
        { 0x11d4, "Analog Devices" },
        { 0x13f6, "C-Media" },
        { 0x14f1, "Conexant" },
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 0401223..86cd3f6 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -204,6 +204,11 @@ static hda_nid_t stac927x_mux_nids[3] = {
         0x15, 0x16, 0x17
 };
 
+#define STAC927X_NUM_DMICS 2
+static hda_nid_t stac927x_dmic_nids[STAC927X_NUM_DMICS + 1] = {
+       0x13, 0x14, 0
+};
+
 static hda_nid_t stac9205_adc_nids[2] = {
         0x12, 0x13
 };
@@ -2688,7 +2693,6 @@ static int patch_stac927x(struct hda_codec *codec)
                spec->mux_nids = stac927x_mux_nids;
                spec->num_muxes = ARRAY_SIZE(stac927x_mux_nids);
                spec->num_adcs = ARRAY_SIZE(stac927x_adc_nids);
-               spec->num_dmics = 0;
                spec->init = d965_core_init;
                spec->mixer = stac927x_mixer;
                break;
@@ -2697,7 +2701,6 @@ static int patch_stac927x(struct hda_codec *codec)
                spec->mux_nids = stac927x_mux_nids;
                spec->num_muxes = ARRAY_SIZE(stac927x_mux_nids);
                spec->num_adcs = ARRAY_SIZE(stac927x_adc_nids);
-               spec->num_dmics = 0;
                spec->init = d965_core_init;
                spec->mixer = stac927x_mixer;
                break;
@@ -2706,11 +2709,20 @@ static int patch_stac927x(struct hda_codec *codec)
                spec->mux_nids = stac927x_mux_nids;
                spec->num_muxes = ARRAY_SIZE(stac927x_mux_nids);
                spec->num_adcs = ARRAY_SIZE(stac927x_adc_nids);
-               spec->num_dmics = 0;
                spec->init = stac927x_core_init;
                spec->mixer = stac927x_mixer;
        }
 
+       switch (codec->subsystem_id) {
+       case 0x1028020A: /* STAC 9228 */
+       case 0x10280209: /* STAC 9228 */
+               spec->dmic_nids = stac927x_dmic_nids;
+               spec->num_dmics = STAC927X_NUM_DMICS;
+               break;
+       default:
+               spec->num_dmics = 0;    
+       }
+
        spec->multiout.dac_nids = spec->dac_nids;
        /* GPIO0 High = Enable EAPD */
        spec->gpio_mask = spec->gpio_data = 0x00000001;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to