Subject: kern/36688: (more) azalia and pin sensing
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <joel@carnat.net>
List: netbsd-bugs
Date: 07/24/2007 14:45:00
>Number:         36688
>Category:       kern
>Synopsis:       azalia device driver doesn't support pin sensing (on Dell D420)
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jul 24 14:45:00 +0000 2007
>Originator:     ptiJo
>Release:        NetBSD 4.99.24
>Organization:
	
>Environment:
	
	
System: NetBSD atheria.tumfatig.net 4.99.24 NetBSD 4.99.24 (GENERIC.MP) #0: Tue Jul 24 14:44:39 CEST 2007 ptijo@atheria.tumfatig.net:/home/cvs/src-HEAD/sys/arch/i386/compile/GENERIC.MP i386
Architecture: i386
Machine: i386
>Description:
	This is related to PR #34071 and #36302:
	
	The output is both on the speakers and the headphones when
	the later are pluggued.
	The output is never in the headphones when the D420 is docked.
	The dock is "D/Dock Expansion Station" <http://accessories.us.dell.com/sna/productdetail.aspx?c=us&l=en&s=dhs&cs=19&sku=310-2873>.
>How-To-Repeat:
	Play a movie/music and plug/unplug headphones.
>Fix:
	The first point is solved by defining STAC9200 ID in azalia_codec.c.
	This allow NetBSD to output only to headphones when they are pluggued and to the speaker when there are no headphones.
	The second point is still unresolved... No idea what's to be done.

--- azalia_codec.c.orig	2007-05-16 13:40:06.000000000 +0200
+++ azalia_codec.c	2007-07-24 12:11:51.000000000 +0200
@@ -2980,4 +2980,5 @@
 #define STAC9200_DELL_INSPIRON9400_ID	0x01cd1028
 #define STAC9200_DELL_640M_ID		0x01d81028
+#define STAC9200_DELL_D420_ID		0x01d61028
 #define STAC9200_EVENT_HP	0
 #define STAC9200_NID_HP		0x0d
@@ -2985,5 +2986,6 @@
 	if (this->subid == STAC9200_DELL_INSPIRON6400_ID ||
 	    this->subid == STAC9200_DELL_INSPIRON9400_ID ||
-	    this->subid == STAC9200_DELL_640M_ID) {
+	    this->subid == STAC9200_DELL_640M_ID ||
+	    this->subid == STAC9200_DELL_D420_ID) {
 		/* Does every DELL model have the same pin configuration?
 		 * I'm not sure. */

>Unformatted: