Re: [alsa-devel] [PATCH] - ALSA hda ad1988 - Add Independent HP Switch to model 6stack-dig-fp
At Thu, 28 Apr 2011 21:10:23 +0800, Raymond Yau wrote:
2011/4/26 Takashi Iwai tiwai@suse.de
At Tue, 19 Apr 2011 08:12:57 +0800, Raymond Yau wrote:
Add Independent HP Switch to model 6stack-dig-fp
allow user to switch Independent HP on/off by using ALSA specific "share stream" mode
This don't need to make "Headphone Playback Volume" inactive but this
also
mean that "Headphone Playback Volume" is no longer slave of the "Virtual Master" any more
The implementation looks almost OK (although there are a few pieces of unused code slike activate_ctl()), I prefer an enum control for it.
The other ad1988 models does not fully utilised five DACs
This implementation is specific to 10 channels HDA ,as Front and Headphone just share the stream when "Independent HP" is off
The "Independent HP" switch have to be write protected when any application is using multiout or alt_playback , alsamixer just display the inactive control in grey color.
The driver return -EBUSY if any application try to open alt_playback when independent HP is switch off.
If it's really implemented :) You defined activate_ctl() but it's called from nowhere.
As for the upmixing feature, I wonder why no one complain about sending left channel to the center and right channel to subwoofer
Well, maybe because usually you set up 5.1 properly when you have such systems, then upmixing right in the backend, not in the driver.
It's a frequently seen problem that user sets "Independent HP" mixer switch accidentally and gets unexpected results. An enum control tends to be more clear than a mixer switch in general.
This depend on how the mixer application treat the "inactive state" of
control (e.g. qasmixer make the "inactive" control invisible )
No, this is a question how easily such feature can be changed mistakenly. It's no technical question, but a design issue. The mixer element itself isn't so self-explanatory, and people tend to turn on every mixer switch once when something doesn't work and wonder what's wrong.
Still unable to enable the unsolicited event for jack sense even if I add the unsol_event and verb for the audio jacks at rear panel since I don't have the HDA compilant front audio panel
SoundMax automatically popup immediately when jack is plug into the rear panel at other OS, so the hardware is capable of jack sense at rear panel
AFG Function Id: 0x1 (unsol 0)
Is there any trick to enable/debug the unsolicited event ? seem unsol event is disabled in the HDA controller
No, there shouldn't be big differences. Otherwise it won't work on any other machines.
There might be other way to trigger the jack detection, e.g. GPIO unsolicited event, depending on the codec chip. I don't remember how is AD1988, though...
Takashi
2011/4/28 Takashi Iwai tiwai@suse.de
As for the upmixing feature, I wonder why no one complain about sending
left
channel to the center and right channel to subwoofer
Well, maybe because usually you set up 5.1 properly when you have such systems, then upmixing right in the backend, not in the driver.
I have Creative 4.1 speakers which only has green and black jacks.
Refer to commit d29240ce57d96db7300360d1e6f18357810a5c2b
hda-intel driver unconditionally assigns the stream to multiple output pins in copy-front mode
I can hear the stereo in all 4 jacks in rear panel because of copy-front mode even in OSS emulation
This is why ad1988 still can use "Headphone Playback Volume" at DAC0 when switch off "independent Headphone"f
participants (2)
-
Raymond Yau
-
Takashi Iwai