On Sun, Jan 31, 2010 at 01:53:50AM +0000, Jacob Meuser wrote: > On Sat, Jan 30, 2010 at 07:22:35PM +0100, Holger Mikolon wrote: > > Hi, > > > > a similar fix works for my Dell Studio 1555 (details below). > > I only had to adjust the subid. > > I guess this should probably apply to all Dell with IDT 92HD73* codecs. > that seems to be what linux is doing.
please test this if you have a Dell machine with an azalia with an IDT codec. -- [email protected] SDF Public Access UNIX System - http://sdf.lonestar.org Index: azalia_codec.c =================================================================== RCS file: /cvs/src/sys/dev/pci/azalia_codec.c,v retrieving revision 1.139 diff -u -p azalia_codec.c --- azalia_codec.c 3 Nov 2009 17:31:30 -0000 1.139 +++ azalia_codec.c 31 Jan 2010 02:57:39 -0000 @@ -166,6 +166,9 @@ azalia_codec_init_vtbl(codec_t *this) break; case 0x111d7675: this->name = "IDT 92HD73C1"; /* aka 92HDW74C1 */ + if ((this->subid & 0x0000ffff) == 0x00001028) { /* DELL */ + this->qrks |= AZ_QRK_GPIO_UNMUTE_0; + } break; case 0x111d7676: this->name = "IDT 92HD73E1"; /* aka 92HDW74E1 */ @@ -175,10 +178,7 @@ azalia_codec_init_vtbl(codec_t *this) break; case 0x111d76b2: this->name = "IDT 92HD71B7"; - if (this->subid == 0x02631028 || /* DELL_E5500 */ - this->subid == 0x02501028 || /* DELL_M4400 */ - this->subid == 0x02331028 || /* DELL_E6400 */ - this->subid == 0x024f1028) { /* DELL_E6500 */ + if ((this->subid & 0x0000ffff) == 0x00001028) { /* DELL */ this->qrks |= AZ_QRK_GPIO_UNMUTE_0; } break;

