Takashi Iwai wrote:
At Wed, 17 Oct 2007 14:44:27 -0400, Matthew Ranostay wrote:
Added DMIC support for STAC9228 cards, as well as adding terminators to other hda_nid DMIC arrays, and added a new Vendor ID tag.
Signed-off-by: Matthew Ranostay mranostay@embeddedalley.com
Thanks. But, the similar fix was already committed to HG tree (and merged to Linus kernel tree, too). Could you regenerate the patch for adding the missing things in your patch?
Ok recreated the patch below, by the way your hg-mirror.alsa-project.org HG tree seems to be out of sync with hg.alsa-project.org.
Takashi
Added DMIC support for STAC9228 cards, and a new vendor id tag. -- Signed-off-by: Matthew Ranostay mranostay@embeddedalley.com
diff -r fb9512ce24e0 pci/hda/hda_codec.c --- a/pci/hda/hda_codec.c Thu Oct 18 10:48:43 2007 +0200 +++ b/pci/hda/hda_codec.c Thu Oct 18 11:03:07 2007 -0400 @@ -55,6 +55,7 @@ static struct hda_vendor_id hda_vendor_i { 0x10ec, "Realtek" }, { 0x1057, "Motorola" }, { 0x1106, "VIA" }, + { 0x111d, "IDT" }, { 0x11d4, "Analog Devices" }, { 0x13f6, "C-Media" }, { 0x14f1, "Conexant" }, diff -r fb9512ce24e0 pci/hda/patch_sigmatel.c --- a/pci/hda/patch_sigmatel.c Thu Oct 18 10:48:43 2007 +0200 +++ b/pci/hda/patch_sigmatel.c Thu Oct 18 11:14:40 2007 -0400 @@ -202,6 +202,11 @@ static hda_nid_t stac927x_adc_nids[3] =
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] = { @@ -2739,7 +2744,6 @@ static int patch_stac927x(struct hda_cod 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; @@ -2748,7 +2752,6 @@ static int patch_stac927x(struct hda_cod 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; @@ -2757,9 +2760,18 @@ static int patch_stac927x(struct hda_cod 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;