[alsa-devel] [PATCH] hda: enable speaker output for Compaq 6530s/6531s

Takashi Iwai tiwai at suse.de
Wed Aug 19 12:12:50 CEST 2009


At Wed, 19 Aug 2009 16:58:59 +0800,
Wu Fengguang wrote:
> 
> On Wed, Aug 19, 2009 at 04:50:41PM +0800, Takashi Iwai wrote:
> > At Wed, 19 Aug 2009 16:01:51 +0800,
> > Wu Fengguang wrote:
> > > 
> > > On Wed, Aug 19, 2009 at 03:56:59PM +0800, Wu Fengguang wrote:
> > > > On Tue, Aug 18, 2009 at 02:33:43PM +0800, Takashi Iwai wrote:
> > > > > At Mon, 17 Aug 2009 08:46:14 +0200,
> > > > > I wrote:
> > > > > > 
> > > > > > At Sun, 16 Aug 2009 19:01:10 +0800,
> > > > > > Wu Fengguang wrote:
> > > > > > > 
> > > > > > > On Sun, Aug 16, 2009 at 05:22:23PM +0800, Takashi Iwai wrote:
> > > > > > > > At Sun, 16 Aug 2009 16:53:17 +0800,
> > > > > > > > Wu Fengguang wrote:
> > > > > > > > > 
> > > > > > > > > There are 3 causes to the silence of Compaq 6530s' internal speaker:
> > > > > > > > > - HP pin 0x11 always return 0xffff,ffff (pin_presence=1),
> > > > > > > > >   which automutes the speaker at module loading time.
> > > > > > > > 
> > > > > > > > This is odd.  Is the sense-trigger issued before reading the pin sense?
> > > > > > > 
> > > > > > > Sorry, what do you mean?  The facts I explored are:
> > > > > > > - ad1884a_hp_automute() will be explicitly called by ad1884a_hp_init()
> > > > > > > - ad1884a_hp_unsol_event() is never called on plug events
> > > > > > > - I tried manually execute AC_VERB_SET_PIN_SENSE then read pin sense,
> > > > > > >   it takes effect on the impedance, but pin_presence still remains 1.
> > > > > > 
> > > > > > The fact that it returns only -1 sounds rather like a hardware issue.
> > > > > > Or, at least, reading a wrong place or so.
> > > > > 
> > > > > BTW, could you give alsa-info.sh output on both machines?
> > > > 
> > > > I'm now testing 6531s. All verbs/states seem OK.
> > > 
> > > In fact for 6531s, the speaker can produce sound on fresh boot.
> > > However after a while the sound disappeared. No single write verb
> > > was executed during the time! And then I found the 0x1c trick can
> > > be applied to 6530s as well as 6531s, and magically make the speaker
> > > work by applying this patch.
> > 
> > OK, I'm going to apply your fix.
> > 
> > > @@ -4003,6 +4005,8 @@ static struct snd_pci_quirk ad1884a_cfg_
> > >  	SND_PCI_QUIRK(0x103c, 0x3030, "HP", AD1884A_MOBILE),
> > >  	SND_PCI_QUIRK(0x103c, 0x3037, "HP 2230s", AD1884A_LAPTOP),
> > >  	SND_PCI_QUIRK(0x103c, 0x3056, "HP", AD1884A_MOBILE),
> > > +	SND_PCI_QUIRK(0x103c, 0x30e8, "HP Compaq 6530s", AD1884A_LAPTOP),
> > > +	SND_PCI_QUIRK(0x103c, 0x30e9, "HP Compaq 6531s", AD1884A_LAPTOP),
> > >  	SND_PCI_QUIRK_MASK(0x103c, 0xfff0, 0x3070, "HP", AD1884A_MOBILE),
> > >  	SND_PCI_QUIRK_MASK(0x103c, 0xfff0, 0x30d0, "HP laptop", AD1884A_LAPTOP),
> > >  	SND_PCI_QUIRK_MASK(0x103c, 0xfff0, 0x30e0, "HP laptop", AD1884A_LAPTOP),
> > 
> > These entries are unnecessary because they match with model=laptop
> > with the masked entry 013c:30e* (the last one in the chunk above).
> 
> Yes I was aware of this. Just that printing the exact names may make
> some users feel better :)
> 
> > Could you remove it and repost?
> 
> Sure.
> 
> ---
> hda: enable speaker output for Compaq 6530s/6531s
> 
> HP Compaq 6530s and 6531s internal speaker is silence or becomes silence
> within 1 minute after fresh boot. It is found that pin 0x1c must be set to
> PIN_OUT mode to make the speaker work. This is weird - line-in pin 0x1c and
> speaker pin 0x16 seem to be unrelated.
> 
> The codec differences before/after patch are:
> 
> @@ Node 0x17 [Pin Complex] wcaps 0x40020b: 
>    Pin Default 0x41a6e130: [N/A] Mic at Ext Rear
>      Conn = Digital, Color = White
>      DefAssociation = 0x3, Sequence = 0x0
>      Misc = NO_PRESENCE
> -  Pin-ctls: 0x24: IN
> +  Pin-ctls: 0x40: OUT
> @@ Node 0x1c [Pin Complex] wcaps 0x40018d: 
>    Pin Default 0x41813021: [N/A] Line In at Ext Rear
>      Conn = 1/8, Color = Blue
>      DefAssociation = 0x2, Sequence = 0x1
> -  Pin-ctls: 0x24: IN VREF_80
> +  Pin-ctls: 0x40: OUT VREF_HIZ
>    Unsolicited: tag=00, enabled=0
>    Connection: 1
>       0x24
> 
> Tests show that it won't impact (external) Mic recording.
> 
> Reported-by: "Lin, Ming M" <ming.m.lin at intel.com>
> Signed-off-by: Wu Fengguang <fengguang.wu at intel.com>

Applied now.  Thanks.


Takashi


More information about the Alsa-devel mailing list