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;

Reply via email to