All of lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: David Henningsson <david.henningsson@canonical.com>
Cc: ALSA Development Mailing List <alsa-devel@alsa-project.org>
Subject: Re: [PATCH 2/2] ALSA: HDA: Add a new model "asus" for Conexant 5066/205xx
Date: Sat, 22 Jan 2011 17:31:01 +0100	[thread overview]
Message-ID: <s5hzkqshpdm.wl%tiwai@suse.de> (raw)
In-Reply-To: <4D398008.8080707@canonical.com>

At Fri, 21 Jan 2011 13:46:00 +0100,
David Henningsson wrote:
> 
> BugLink: http://bugs.launchpad.net/bugs/701271
> 
> This new model, named "asus", is identical to the "hp_laptop" model,
> except for the location of the internal mic, which is at pin 0x1a.
> It is used for Asus K52JU and Lenovo G560.
> 
> Signed-off-by: David Henningsson <david.henningsson@canonical.com>

Applied, but to topic/asoc branch, as these involve rewrites.
Thanks.


Takashi



> -- 
> David Henningsson, Canonical Ltd.
> http://launchpad.net/~diwic
> [2 0002-ALSA-HDA-Add-a-new-model-asus-for-Conexant-5066-205x.patch <text/x-patch (7bit)>]
> >From aa9c48a0b2264418728152ae2d1c697e2fd04fde Mon Sep 17 00:00:00 2001
> From: David Henningsson <david.henningsson@canonical.com>
> Date: Fri, 21 Jan 2011 13:33:28 +0100
> Subject: [PATCH 2/2] ALSA: HDA: Add a new model "asus" for Conexant 5066/205xx
> 
> BugLink: http://bugs.launchpad.net/bugs/701271
> 
> This new model, named "asus", is identical to the "hp_laptop" model,
> except for the location of the internal mic, which is at pin 0x1a.
> It is used for Asus K52JU and Lenovo G560.
> 
> Signed-off-by: David Henningsson <david.henningsson@canonical.com>
> ---
>  Documentation/sound/alsa/HD-Audio-Models.txt |    1 +
>  sound/pci/hda/patch_conexant.c               |   24 +++++++++++++++++++++++-
>  2 files changed, 24 insertions(+), 1 deletions(-)
> 
> diff --git a/Documentation/sound/alsa/HD-Audio-Models.txt b/Documentation/sound/alsa/HD-Audio-Models.txt
> index 16ae430..0caf77e 100644
> --- a/Documentation/sound/alsa/HD-Audio-Models.txt
> +++ b/Documentation/sound/alsa/HD-Audio-Models.txt
> @@ -296,6 +296,7 @@ Conexant 5066
>  =============
>    laptop	Basic Laptop config (default)
>    hp-laptop	HP laptops, e g G60
> +  asus		Asus K52JU, Lenovo G560
>    dell-laptop	Dell laptops
>    dell-vostro	Dell Vostro
>    olpc-xo-1_5	OLPC XO 1.5
> diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
> index 7cd59b9..19f0daf 100644
> --- a/sound/pci/hda/patch_conexant.c
> +++ b/sound/pci/hda/patch_conexant.c
> @@ -127,6 +127,7 @@ struct conexant_spec {
>  	unsigned int ideapad:1;
>  	unsigned int thinkpad:1;
>  	unsigned int hp_laptop:1;
> +	unsigned int asus:1;
>  
>  	unsigned int ext_mic_present;
>  	unsigned int recording;
> @@ -2312,6 +2313,19 @@ static void cxt5066_ideapad_automic(struct hda_codec *codec)
>  	}
>  }
>  
> +
> +/* toggle input of built-in digital mic and mic jack appropriately */
> +static void cxt5066_asus_automic(struct hda_codec *codec)
> +{
> +	unsigned int present;
> +
> +	present = snd_hda_jack_detect(codec, 0x1b);
> +	snd_printdd("CXT5066: external microphone present=%d\n", present);
> +	snd_hda_codec_write(codec, 0x17, 0, AC_VERB_SET_CONNECT_SEL,
> +			    present ? 1 : 0);
> +}
> +
> +
>  /* toggle input of built-in digital mic and mic jack appropriately */
>  static void cxt5066_hp_laptop_automic(struct hda_codec *codec)
>  {
> @@ -2400,6 +2414,8 @@ static void cxt5066_automic(struct hda_codec *codec)
>  		cxt5066_thinkpad_automic(codec);
>  	else if (spec->hp_laptop)
>  		cxt5066_hp_laptop_automic(codec);
> +	else if (spec->asus)
> +		cxt5066_asus_automic(codec);
>  }
>  
>  /* unsolicited event for jack sensing */
> @@ -3045,6 +3061,7 @@ enum {
>  	CXT5066_DELL_VOSTRO,	/* Dell Vostro 1015i */
>  	CXT5066_IDEAPAD,	/* Lenovo IdeaPad U150 */
>  	CXT5066_THINKPAD,	/* Lenovo ThinkPad T410s, others? */
> +	CXT5066_ASUS,		/* Asus K52JU, Lenovo G560 - Int mic at 0x1a and Ext mic at 0x1b */
>  	CXT5066_HP_LAPTOP,      /* HP Laptop */
>  	CXT5066_MODELS
>  };
> @@ -3056,6 +3073,7 @@ static const char * const cxt5066_models[CXT5066_MODELS] = {
>  	[CXT5066_DELL_VOSTRO]	= "dell-vostro",
>  	[CXT5066_IDEAPAD]	= "ideapad",
>  	[CXT5066_THINKPAD]	= "thinkpad",
> +	[CXT5066_ASUS]		= "asus",
>  	[CXT5066_HP_LAPTOP]	= "hp-laptop",
>  };
>  
> @@ -3068,6 +3086,7 @@ static struct snd_pci_quirk cxt5066_cfg_tbl[] = {
>  	SND_PCI_QUIRK(0x1028, 0x0408, "Dell Inspiron One 19T", CXT5066_IDEAPAD),
>  	SND_PCI_QUIRK(0x103c, 0x360b, "HP G60", CXT5066_HP_LAPTOP),
>  	SND_PCI_QUIRK(0x1043, 0x13f3, "Asus A52J", CXT5066_HP_LAPTOP),
> +	SND_PCI_QUIRK(0x1043, 0x1643, "Asus K52JU", CXT5066_ASUS),
>  	SND_PCI_QUIRK(0x1179, 0xff1e, "Toshiba Satellite C650D", CXT5066_IDEAPAD),
>  	SND_PCI_QUIRK(0x1179, 0xff50, "Toshiba Satellite P500-PSPGSC-01800T", CXT5066_OLPC_XO_1_5),
>  	SND_PCI_QUIRK(0x1179, 0xffe0, "Toshiba Satellite Pro T130-15F", CXT5066_OLPC_XO_1_5),
> @@ -3077,6 +3096,7 @@ static struct snd_pci_quirk cxt5066_cfg_tbl[] = {
>  	SND_PCI_QUIRK(0x17aa, 0x20f2, "Lenovo T400s", CXT5066_THINKPAD),
>  	SND_PCI_QUIRK(0x17aa, 0x21c5, "Thinkpad Edge 13", CXT5066_THINKPAD),
>   	SND_PCI_QUIRK(0x17aa, 0x215e, "Lenovo Thinkpad", CXT5066_THINKPAD),
> +	SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo G560", CXT5066_ASUS),
>  	SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo", CXT5066_IDEAPAD), /* Fallback for Lenovos without dock mic */
>  	{}
>  };
> @@ -3132,13 +3152,15 @@ static int patch_cxt5066(struct hda_codec *codec)
>  		spec->num_init_verbs++;
>  		spec->dell_automute = 1;
>  		break;
> +	case CXT5066_ASUS:
>  	case CXT5066_HP_LAPTOP:
>  		codec->patch_ops.init = cxt5066_init;
>  		codec->patch_ops.unsol_event = cxt5066_unsol_event;
>  		spec->init_verbs[spec->num_init_verbs] =
>  			cxt5066_init_verbs_hp_laptop;
>  		spec->num_init_verbs++;
> -		spec->hp_laptop = 1;
> +		spec->hp_laptop = board_config == CXT5066_HP_LAPTOP;
> +		spec->asus = board_config == CXT5066_ASUS;
>  		spec->mixers[spec->num_mixers++] = cxt5066_mixer_master;
>  		spec->mixers[spec->num_mixers++] = cxt5066_mixers;
>  		/* no S/PDIF out */
> -- 
> 1.7.1
> 

  parent reply	other threads:[~2011-01-22 16:31 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-21 12:46 [PATCH 2/2] ALSA: HDA: Add a new model "asus" for Conexant 5066/205xx David Henningsson
2011-01-22  6:19 ` Andy Robinson
2011-01-22  7:10   ` Andy Robinson
2011-01-22 16:31 ` Takashi Iwai [this message]
2011-01-24 12:12   ` David Henningsson
2011-01-24 12:52     ` Takashi Iwai
2011-01-26 13:43       ` David Henningsson
2011-01-26 15:56         ` Andy Robinson
2011-01-27  5:45           ` Andy Robinson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=s5hzkqshpdm.wl%tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=david.henningsson@canonical.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.