[alsa-devel] [PATCH 08/10] ALSA: hda - Add support for Line-Out automute to Realtek auto-parser

Takashi Iwai tiwai at suse.de
Mon May 2 08:32:02 CEST 2011


At Mon, 2 May 2011 08:56:07 +0800,
Raymond Yau wrote:
> 
> 2011/4/30 Takashi Iwai <tiwai at suse.de>
> 
> > At Sat, 30 Apr 2011 08:52:58 +0200,
> > David Henningsson wrote:
> > >
> > > On 2011-04-29 19:18, Takashi Iwai wrote:
> > > > By popular demands, I add the functionality to mute / unmute the
> > > > line-out jacks per the headphone plug / unplug.  For achieving this
> > > > and keeping the compatibility with the old behavior, the new mixer
> > > > enum "Auto-Mute Mode" is added.  With this, user can control the
> > > > auto-mute behavior either disabled, speaker-only or lineout+speaker.
> > >
> > > Hi Takashi,
> > >
> > > Great to see these improvements! I have a question about this patch:
> > >
> > > There are three ways we can auto-mute:
> > >
> > > Headphones might mute Internal Speakers.
> > > Headphones might mute Line out.
> >
> 
> Why just only HPs just mute one line out ?

Who said that it mutes only one line out? :)
Actually it mutes all line-outs.

> as all HDA codec except ad1986 use copy-front mode, stereo are copy to all
> output jacks at rear panel for a motherboard with a 6 , 8 or 10 channel HDA
> codec
> 
> 
> 
> 
> 
> > > Line out might mute Internal Speakers.
> > >
> > > Are we considering the third option here or is that still unsupported?
> >
> > Yes, it'll behave so.  Now we have "Auto-Mute Mode" enum control, and
> > it provides "Disable", "Speaker only" and "Line-Out+Speaker" choice in
> > the case of LO+HP+SPK case.  When only HP+LO, LO+SPK  or HP+SPK are
> > present, this enum gives only "Disable" and "Enable" choice.
> >
> 
> For desktop if the computer chassis does not has a HDA Front Audio panel,
> you need to set Front Audio Panel from [HD] to [AC97] in BIOS setup
> 
> The BIOS set the Jack Detect Override bit to 1 to indicate the jack has no
> presence detect capability
> 
> 
> 7.3.3.31 Configuration Default
> 
> Misc[3:0] is a bit field used to indicate other information about the jack.
> Currently, only bit 0 is defined. If bit 0 is set, it indicates that the
> jack has no presence detect capability, so even if a Pin Complex indicates
> that the codec hardware supports the presence detect functionality on the
> jack, the external circuitry is not capable of supporting the functionality.
> The bit definitions for the Misc field are in Table 106.

If the pin detection bit constantly reports the wrong status (as if
it's plugged in), yes, it'd be better fixed in the driver not to
enable auto-mute.  But, even in the current state, you can switch off
the auto-mute switch always in that case, so it should cover most
problems.


> > > Also, it might be slightly confusing for the end-user to have options
> > > that are irrelevant, e g if there are no internal speakers (or line-out
> > > for that matter), that option will still show up. Right?
> >
> > If there is only one output type, this enum won't appear.
> >
> 
> Do you mean there will be no "auto mute" control if the desktop has no HD
> compilant front audio panel ?

No, auto-mute control is always created when the auto-mute feature is
available on the machine, independent from such a broken desktop.
And, the desktop FP connection mode can't be detected from the driver,
unfortunately...


Takashi


More information about the Alsa-devel mailing list