[alsa-devel] [PATCH] Recognise and use subdevice 0x3061 found in some HP dv6 notebooks.
Kunal Gangakhedkar
kunal.gangakhedkar at gmail.com
Thu Dec 24 08:37:12 CET 2009
On Wednesday 23 Dec 2009 12:02:47 am Kunal Gangakhedkar wrote:
> On Monday 14 Dec 2009 4:02:58 pm Takashi Iwai wrote:
> > At Mon, 14 Dec 2009 15:53:54 +0530,
> > Kunal Gangakhedkar wrote:
> > >
> > > On Monday 14 Dec 2009 3:37:14 pm Takashi Iwai wrote:
> > > > At Mon, 14 Dec 2009 00:29:42 +0530,
> > > > Kunal Gangakhedkar wrote:
> > > > >
> > > > > Obvious patch.
> > > > > Recently bought an HP Pavilion dv6-1110ax notebook. The modparm 'model=hp-dv5'
> > > > > works, but I thought it was better if it were natively supported.
> > > > >
> > > > > Also, the 'hp_detect=1' hint
> > > > > (echo "hp_detect = 1" > /sys/class/sound/hwC0D0/hints) works nicely to mute the
> > > > > speakers when using the headphone jack(s). Is there any way to automatically
> > > > > enable this?
> > > >
> > > > This is weird. hp_detect is basically always set unless you clear
> > > > explicitly. I guess it's simply a known IRQ problem on HP dv
> > > > laptops. It requires MSI.
> > > >
> > > > Anyway, could you test the very latest kernel without your patch and
> > > > confirm that the change is still needed?
> > > >
> > >
> > > The patch wasn't about hp_detect. It was to get the subdev recognised natively so that
> > > you don't need the 'model=hp-dv5' modparm.
> >
> > Yeah, I know. But the speaker-muting should work even without
> > hp_detect=1 hints. The IRQ thingy was only about the auto-muting.
> >
> > Also, with the latest version, the device might work even without the
> > extra model option (as the auto-parser got improved). I'd like to
> > avoid unneeded quirk lines as much as possible, so that's why I asked
> > to check the latest one.
> >
> > > I'll try with enable_msi modparm as well without trying the hp_detect hint and let you know
> > > about it. Will also try the latest kernel.
> >
> > Thanks!
> >
> >
> > Takashi
> >
>
> Sorry for the late reply - was busy with office work.
> Just built the kernel from your git (sound-2.6.git) master
> (as of commit 07e23a669544942a9154b64c583bdef014f66a15).
>
> This new driver didn't require 'model=hp-dv5' modparm - it did detect and
> use my card properly; so, my patch is not needed anymore, I guess :)
>
> However, the hp_detect=1 problem still persists :(.
> I had to use the "echo 'hp_detect=1' > /sys/class/sound/hwC0D0/hints"
> method to get the auto-muting to work.
> It's also true with enable_msi=1 modparm.
>
> Anything more you want me to try?
>
> Thanks,
> Kunal
>
Also, "spec->gpio_led = 0x08" in patch_sigmatel.c seems to enable the
colour changing (orange/white) of the mute/unmute button.
I got this info from ubuntu's lucid kernel which somehow
enabled the behaviour.
But, it was missing from the sound-2.6.git master kernel that I built.
I'll do more digging to see why it isn't working in the git kernel.
This is the code that I copied from lucid kernel into linux-backports-modules
that enabled the led behaviour:
if ((codec->subsystem_id >> 16) == PCI_VENDOR_ID_HP) {
const struct dmi_device *dev = NULL;
while ((dev = dmi_find_device(DMI_DEV_TYPE_OEM_STRING,
NULL, dev))) {
if (strcmp(dev->name, "HP_Mute_LED_1")) {
switch (codec->vendor_id) {
case 0x111d7608:
spec->gpio_led = 0x01;
break;
case 0x111d7600:
case 0x111d7601:
case 0x111d7602:
case 0x111d7603: /* <-- My codec STAC 92HD75B3X5 */
spec->gpio_led = 0x08;
break;
}
break;
}
}
}
Thanks,
Kunal
More information about the Alsa-devel
mailing list