Re: [PATCH v2] Introduce config for intel dg45id board

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

And, your machine has really no headphone detection?  I mean, not
about your taste but it's not physically doable?


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}, */
> +
> +	/* 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,
>  };
>  
> +/* 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;
> -- 
> 1.6.3.3
> 
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux