[alsa-devel] Bug report - patch_realtek.c - Laptop HP COMPAQ B1900 Series
joey.jiaojg
joey.jiaojg at gmail.com
Thu Feb 16 10:38:33 CET 2012
YES, you are right on the assumption. I tried again many times of
SET_GPIO_DATA between 0/1, speaker/headphone switches.
So is possible to merge into next ALSA release?
On 2012年02月16日 17:35, Takashi Iwai wrote:
> At Thu, 16 Feb 2012 10:04:09 +0800,
> Joey Jiao wrote:
>> 1. I changed to model=will to test without headphone
>> hda-verb /dev/snd/hwC0D0 0x0F~0x1B 0x707 0xC0 [NID=0x0F, 0x10~0x19, 0x1B]
>> Result: for sure not work as GPIO not open
>> 2. I changed to model=b1900 to test without headphone
>> hda-verb /dev/snd/hwC0D0 0x0F~0x1B 0x707 0xC0
>> Result: speaker still works. It's for sure.
>> 3. Then same condition as step 2 but change 0xC0 to 0x0
>> hda-verb /dev/snd/hwC0D0 0x0F~0x1B 0x707 0x0
>> Result: speaker doesn't work only when NID=0x0F; then I tried
>> param=0x40 and 0x80, when param=0x40, speaker works while param=0x80,
>> speaker doesn't work.
>> 4. Then I plugged in headphone.
>> Now the param =0x40 for NID=0x0F.
>> Result: Headphone works while speaker muted.
>> Then I changed param=0x80. (same result when param=0xC0)
>> Result: Headphone still works while speaker muted.
>> 5. Then I reboot with headphone plugged in to test your step 2.
>> YES, now the speaker muted while headphone works.
>> Then I do your cmds:
>> hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_MASK 1
>> Result: headphone works, speaker muted
>> hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DIR 1
>> Result: headphone muted, speaker works
>> hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 1
>> Result: headphone works, speaker muted
>> hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0
>> Result: headphone muted, speaker works.
> And, if you run again
> hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 1
> I guess the speaker will be muted and the headphone start working
> again, right?
>
>> Please noted the last two cmds, it's strange but it's true.
> If my guess is correct, it's not strange at all. Your machine shares
> the same pin for both the headphone and the speaker outputs, but
> switches between them just by GPIO-out bit 0. It's _not_ the master
> amp.
>
> In addition, the HP-amp bit (0x80) of 0x0f seems controlling the
> speaker amp.
>
>
> Takashi
>
>> Any additional tests?
>>
>> 在 2012年2月15日 下午11:04,Takashi Iwai<tiwai at suse.de> 写道:
>>> At Wed, 15 Feb 2012 22:45:27 +0800,
>>> joey.jiaojg wrote:
>>>> I think the only question below is about the automute, right?
>>> Not really. The most important thing is to understand what's doing
>>> what. Since your code can't be applied any longer at all to the
>>> latest code tree because of the fundamental code rewrite, we need to
>>> do it right.
>>>
>>> So, please check the following:
>>>
>>> 1. Does any pin correspond to the speaker output? Try to change the
>>> pin control of each pin between 0x10 and 0x19 via hda-verb while
>>> the speaker output is active. Does any pin change the speaker
>>> output?
>>>
>>> 2. Plug your headphone. Now the speaker is muted with your patch.
>>> What happens when you run like below?
>>>
>>> hda-verb /dev/snd/hwD0D0 0x01 SET_GPIO_MASK 1
>>> hda-verb /dev/snd/hwD0D0 0x01 SET_GPIO_DIR 1
>>> hda-verb /dev/snd/hwD0D0 0x01 SET_GPIO_DATA 1
>>>
>>> Does the speaker starts playing again? Then, what happens now
>>> with:
>>>
>>> hda-verb /dev/snd/hwD0D0 0x01 SET_GPIO_DATA 0
>>>
>>> ??
>>>
>>>
>>> Takashi
>>
>>
>> --
>> -Joey Jiao
>>
More information about the Alsa-devel
mailing list