On Tue, Dec 09, 2014 at 07:31:47AM +0100, Alessandro DE LAURENZIS wrote: > Hi Jonathan, > > On Tue 09/12 16:03, Jonathan Gray wrote: > > I'm curious why you decided to mask the subid here and not just test > > subid == 0x308a103c ? > > In my understanding (I'm definitely not an expert), the last part of > subid represents the vendor signature (HP in this case); the first 4 > digits should be instead specific to the particular chip implementation. > > Here I just tried to make the patch more general (guessing that the GPIO > needs to be unmuted for all IDT 92HD75B1/2-type cards sold by HP), and > also to stay close to code style adopted for other (similar?) cases. > > If my assumption is wrong, then yes, you're right: the whole subid > should be tested. > > Anyhow, thanks for your feedback. > > All the best
I've found a few other mentions with different subids that look like they need the mask. HP Mini 5102 http://marc.info/?l=openbsd-misc&m=130937855423807&w=2 HP Mini 1000 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/318942 So I'll commit your original patch, included below as the original didn't apply cleanly here. Please send patches to tech@ or bugs@ in future. Index: azalia_codec.c =================================================================== RCS file: /cvs/src/sys/dev/pci/azalia_codec.c,v retrieving revision 1.164 diff -u -p -r1.164 azalia_codec.c --- azalia_codec.c 17 Nov 2014 16:34:51 -0000 1.164 +++ azalia_codec.c 10 Dec 2014 04:39:42 -0000 @@ -184,6 +184,9 @@ azalia_codec_init_vtbl(codec_t *this) break; case 0x111d7608: this->name = "IDT 92HD75B1/2"; + if ((this->subid & 0x0000ffff) == 0x0000103c) { /* HP */ + this->qrks |= AZ_QRK_GPIO_UNMUTE_0; + } break; case 0x111d7674: this->name = "IDT 92HD73D1";

