Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Wu Fengguang <fengguang.wu@intel.com>
To: Paulo Cavalcanti <promac@gmail.com>
Cc: Takashi Iwai <tiwai@suse.de>,
	"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>
Subject: Re: idt blue jack patch
Date: Fri, 20 Feb 2009 19:20:52 +0800	[thread overview]
Message-ID: <20090220112052.GA5612@localhost> (raw)
In-Reply-To: <68720af30902200215l2fa5f4fbvc52fb45dc3ea6a41@mail.gmail.com>

On Fri, Feb 20, 2009 at 12:15:16PM +0200, Paulo Cavalcanti wrote:
> 
> 
> On Thu, Feb 19, 2009 at 10:00 PM, Wu Fengguang <fengguang.wu@intel.com<mailto:fengguang.wu@intel.com>> wrote:
> Hi Tobin,
> 
> Here are the Linux and WinXP pin configurations.
> Both Linux and WinXP configure node 0x0c as an output pin.
> 
> However the driver seems to be offering three schemes:
> 
>        scheme desc             0xC dev
> ------------------------------------------------------
>        IDS_CONFIG_OPEN         Speaker_Side/LineIn
>        IDS_CONFIG_51           LineIn
>        IDS_CONFIG_71           Speaker_Side
> 
> Paulo, maybe you can run these commands to switch between
> linein/lineout modes:
> 
>        # wget http://www.kernel.org/pub/linux/kernel/people/tiwai/misc/hda-verb-0.3.tar.bz2
> 
>        # set PIN_IN mode
>        hda-verb /dev/snd/hwC0D2 0x0c SET_PIN_WIDGET_CONTROL 0x20
> 
>        # set PIN_OUT mode
>        hda-verb /dev/snd/hwC0D2 0x0c SET_PIN_WIDGET_CONTROL 0x40
> 
> Thanks,
> Fengguang
> ---
> 
> /proc/asound/card0/codec\#2
> 
>        Codec: IDT 92HD73E1X5
>        Address: 2
>        Vendor Id: 0x111d7676
>        Subsystem Id: 0x80865002
>        Revision Id: 0x100202
> 
> 
> AUD_allOS_6033.2_PV_IDTGUI_v124/WDM/WinXP/Sthda.ini
> 
>        # sthda.INI
>        [Models]
>        ...
>        HDAUDIO\FUNC_01&VEN_111D&DEV_7676&SUBSYS_80865002=I73E-EL2.INI
>        ...
> 
> 
> AUD_allOS_6033.2_PV_IDTGUI_v124/WDM/WinXP/I73E-EL2.INI
> 
>        [HKR\Settings\Pin\0C]
>        CfgDflt                         = dword: 0x01113214
>        AltCfg                          = hex: 5E,32,81,01
>        AssignedDAC     = hex: 0x18
> 
> 
> /proc/asound/card0/codec\#2
> 
>        Node 0x0c [Pin Complex] wcaps 0x400183: Stereo Amp-In
>          Amp-In caps: N/A
>          Amp-In vals:  [0x00 0x00]
>          Pincap 0x00001737: IN OUT Detect Trigger ImpSense
>            Vref caps: HIZ 50 GRD 80
>          Pin Default 0x01113014: [Jack] Speaker at Ext Rear
>            Conn = 1/8, Color = Blue
>            DefAssociation = 0x1, Sequence = 0x4
>          Pin-ctls: 0x40: OUT VREF_HIZ
>          Unsolicited: tag=04, enabled=1
>          Connection: 6
>             0x15 0x16 0x17 0x18* 0x19 0x1e
> 
> 
> Thanks a lot, Fengguang.
> 
> The other models for this codec are for Dell computers.
> Probably, all of then will behave the same way, right?

I guess the hda-verb commands will work for all IN/OUT configurable pins.

> I still have a question. I see that you  changed Pin Default 0x01113014,
> for 0x01813021, in the driver for having LineIn.
> Also, Pin-ctls: 0x40 should provide the pin as an output. The Node is 0x0c.
> 
> Therefore,
> 
> # set PIN_OUT mode
>        hda-verb /dev/snd/hwC0D2 0x0c SET_PIN_WIDGET_CONTROL 0x40
> 
>  makes sense.
> 
> But how would I know that 0x20 would turn the pin 0x0c into LineIn?
> 
>   # set PIN_IN mode
>        hda-verb /dev/snd/hwC0D2 0x0c SET_PIN_WIDGET_CONTROL 0x20

ALSA defined the following values according to the HDA spec:

        /* Pin widget control - 8bit */
        #define AC_PINCTL_IN_EN                 (1<<5)
        #define AC_PINCTL_OUT_EN                (1<<6)
        #define AC_PINCTL_HP_EN                 (1<<7)

        #define PIN_IN                  (AC_PINCTL_IN_EN)
        #define PIN_OUT                 (AC_PINCTL_OUT_EN)
        #define PIN_HP                  (AC_PINCTL_OUT_EN | AC_PINCTL_HP_EN)

So PIN_OUT=0x40 and PIN_IN=0x20.

> I am asking because I have a Dell laptop (Vostro 1400) where the external mic
> works when I use model=ref (and I loose the speakers in this case), but not
> when I use model=dell-3stack. If I could figure out how to switch
> the pin using hda-verb in this case, would solve my problems when using skype.

You can locate the external mic pin in /proc/asound/card0/codec#* and
feed its node id to the hda-verb command. It should work the same way.

Thanks,
Fengguang

  reply	other threads:[~2009-02-20 11:21 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-16  9:13 idt blue jack patch Paulo Cavalcanti
2009-02-16 10:55 ` Takashi Iwai
2009-02-18  2:04   ` Paulo Cavalcanti
2009-02-18  6:50     ` Takashi Iwai
2009-02-18  9:04       ` Paulo Cavalcanti
2009-02-18  9:44         ` Vedran Miletić
2009-02-18 15:24           ` Takashi Iwai
2009-02-19  3:02             ` Wu Fengguang
2009-02-19  3:22               ` Tobin Davis
2009-02-19  9:37                 ` Takashi Iwai
2009-02-20  1:00                 ` Wu Fengguang
2009-02-20 10:15                   ` Paulo Cavalcanti
2009-02-20 11:20                     ` Wu Fengguang [this message]
2009-02-20 14:16                       ` Paulo Cavalcanti
2009-02-20 14:31                         ` Wu Fengguang
2009-02-20 16:07                           ` Paulo Cavalcanti
2009-02-21  1:05                             ` Wu Fengguang
2009-02-20 17:18                   ` Takashi Iwai
2009-02-21  1:42                     ` Wu Fengguang
2009-02-21 16:28                       ` Takashi Iwai
2009-02-23  8:54                         ` Takashi Iwai
2009-02-23  9:53                           ` Wu Fengguang
2009-02-23 10:21                             ` Takashi Iwai
2009-02-23 12:58                               ` Wu Fengguang
2009-02-23 13:00                                 ` Takashi Iwai
2009-02-23 16:15                                   ` Takashi Iwai
2009-02-24  2:30                                     ` Wu Fengguang
2009-02-21  1:55                     ` Wu Fengguang
2009-02-21  2:42                       ` Paulo Cavalcanti
2009-02-21  2:56                         ` Wu Fengguang
2009-02-21  3:12                           ` Paulo Cavalcanti
2009-02-21 16:28                       ` Takashi Iwai

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=20090220112052.GA5612@localhost \
    --to=fengguang.wu@intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=promac@gmail.com \
    --cc=tiwai@suse.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox