At Mon, 2 May 2011 08:56:07 +0800, Raymond Yau wrote:
2011/4/30 Takashi Iwai tiwai@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