At Tue, 08 Dec 2009 14:02:43 +0100, Alexey Fisher wrote: > > Am Dienstag, den 08.12.2009, 12:04 +0100 schrieb Takashi Iwai: > > At Sun, 6 Dec 2009 11:29:13 +0100, > > Alexey Fisher wrote: > > > > > > This patch introduce pin config and some workarounds for dg45id board. > > > Currently tested Mic + Surround 7.1 on rear panel, and Mic + HP on front panel. > > > SPDIF front and SPDIF rear are untested. > > > Both Mics provide VREF_80 (4,05 V) in mic mode and no VREF in line-in mode. > > > > > > Signed-off-by: Alexey Fisher <bug-track@xxxxxxxxxxxxxxxxx> > > > > Thanks for the patch. > > > > But, I still don't see the reason for so many init verbs, especially > > doing static routings. Can't be they connected properly by the > > parser? If so, it's the parser to be fixed, not a quirky init table. > > Ok. I prefer to have the part with mixer. The driver currently can't > handle this. What do you mean exactly with "mixer"? > It seems to make some problem with front HP. By default All > mixer inputs use 0x0a (Front HP out), in this situation i get hi freq > noise on 0x0a. So or driver should learn to work with mixer or...? Not sure what you are talking about here... > > And, your machine has really no headphone detection? I mean, not > > about your taste but it's not physically doable? > > HP detection working on rear green (0x0d), not on front green (0x0a). > May be there is something wrong with connector. Anyway, it working fine > under M$. May be we should provide UI control for this (to make user > completely confused:)? If Windows driver can detect the front HP jack, it means the connection is alive. You can try hda-verb to check whether the pin-detection works, independently from the driver setup. thanks, Takashi > > thanks, > > > > Takashi > > > > > > > > modified: sound/pci/hda/patch_sigmatel.c > > > --- > > > sound/pci/hda/patch_sigmatel.c | 53 +++++++++++++++++++++++++++++++++++++++- > > > 1 files changed, 52 insertions(+), 1 deletions(-) > > > > > > diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c > > > index 6b0bc04..e604bae 100644 > > > --- a/sound/pci/hda/patch_sigmatel.c > > > +++ b/sound/pci/hda/patch_sigmatel.c > > > @@ -860,6 +860,37 @@ static struct hda_verb dell_eq_core_init[] = { > > > {} > > > }; > > > > > > +static struct hda_verb intel_dg45id_init[] = { > > > + /* connect all inputs to the mixer */ > > > + /* 0x0b -> mixer */ > > > + { 0x28, AC_VERB_SET_CONNECT_SEL, 0x01}, > > > + /* 0x0e -> mixer */ > > > + { 0x29, AC_VERB_SET_CONNECT_SEL, 0x01}, > > > + /* FIXME: if sorround51 0x0c can be used for line-in > > > + * currently do not working */ > > > + { 0x2a, AC_VERB_SET_CONNECT_SEL, 0x01}, > > > + > > > + /* connect mixer to the switch */ > > > + { 0x20, AC_VERB_SET_CONNECT_SEL, 0x0b}, > > > + > > > + /* unmute inputs on mixer */ > > > + { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7017}, > > > + { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7117}, > > > + /* TODO: make option for 0x0c to be line-in > > > + * { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7217}, */ > > This part is not really important. I used this to copy settings of M$ > driver. Thirst two, are correctly set by BIOS, second two are switched. > > > > > + /* extra check all DACs */ > > > + /* 0x18 -> 0x0c */ > > > + { 0x0c, AC_VERB_SET_CONNECT_SEL, 0x03}, > > > + /* 0x15 -> 0x0d */ > > > + { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00}, > > > + /* 0x16 -> 0x0f */ > > > + { 0x0f, AC_VERB_SET_CONNECT_SEL, 0x02}, > > > + /* 0x17 -> 0x10 */ > > > + { 0x10, AC_VERB_SET_CONNECT_SEL, 0x01}, > > > + {} > > > +}; > > > + > > > static struct hda_verb stac92hd73xx_core_init[] = { > > > /* set master volume and direct control */ > > > { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xff}, > > > @@ -1531,6 +1562,19 @@ static unsigned int dell_m6_pin_configs[13] = { > > > 0x4f0000f0, > > > }; > > The comment is not up to date any more. HP is working now. > You said about wrong pincfgs. What you mean should be changed here to > make difference between speaker and jack? > > PS: up now, i trawling and not able to test this PC for about 6 months. > So if you doubt, we can leave this patch till juli. > > > > +/* TODO: _config[1] (PIN 0x0a) still do not working (Front panel speaker/hp), > > > + * $.ini provide some variants of this pin: 0x02214230, 0x0221421F, 0x0211421F. > > > + * Def. and Seq. should make difference. > > > + * Same for _config[4] (0x0d): wariants 0x01114210, 0x0121421f -should be > > > + * some hove in sync with 0x0a? _config[3] (0x0c) can be switched to line-in > > > + * wariant 0x0181325e. */ > > > +static unsigned int intel_dg45id_pin_configs[14] = { > > > + 0x02214230, 0x02A19240, 0x01113214, 0x01114210, > > > + 0x01A19250, 0x01111212, 0x01116211, 0x40f000f0, > > > + 0x40f000f0, 0x40f000f0, 0x40f000f0, 0x014510A0, > > > + 0x074510B0, 0x40f000f0 > > > +}; > > > + > > > static unsigned int alienware_m17x_pin_configs[13] = { > > > 0x0321101f, 0x0321101f, 0x03a11020, 0x03014020, > > > 0x90170110, 0x4f0000f0, 0x4f0000f0, 0x4f0000f0, > > > @@ -1544,6 +1588,7 @@ static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { > > > [STAC_DELL_M6_DMIC] = dell_m6_pin_configs, > > > [STAC_DELL_M6_BOTH] = dell_m6_pin_configs, > > > [STAC_DELL_EQ] = dell_m6_pin_configs, > > > + [STAC_92HD73XX_INTEL] = intel_dg45id_pin_configs, > > > [STAC_ALIENWARE_M17X] = alienware_m17x_pin_configs, > > > }; > > > > > > @@ -5127,6 +5172,11 @@ again: > > > break; > > > } > > > break; > > > + case STAC_92HD73XX_INTEL: > > > + spec->init = intel_dg45id_init; > > > + spec->num_dmics = STAC92HD73XX_NUM_DMICS; > > > + spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids); > > > + break; > > > case STAC_ALIENWARE_M17X: > > > spec->num_dmics = STAC92HD73XX_NUM_DMICS; > > > spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids); > > > @@ -5164,7 +5214,8 @@ again: > > > return err; > > > } > > > > > > - if (spec->board_config == STAC_92HD73XX_NO_JD) > > > + if (spec->board_config == STAC_92HD73XX_NO_JD || > > > + spec->board_config == STAC_92HD73XX_INTEL) > > > spec->hp_detect = 0; > > > > > > codec->patch_ops = stac92xx_patch_ops; > > > > > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel