From owner-svn-src-all@FreeBSD.ORG Fri Dec 26 22:47:12 2008 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2D7211065674; Fri, 26 Dec 2008 22:47:12 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1C3D08FC0C; Fri, 26 Dec 2008 22:47:12 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id mBQMlC79052517; Fri, 26 Dec 2008 22:47:12 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id mBQMlBkv052516; Fri, 26 Dec 2008 22:47:11 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <200812262247.mBQMlBkv052516@svn.freebsd.org> From: Alexander Motin Date: Fri, 26 Dec 2008 22:47:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r186503 - head/sys/dev/sound/pci/hda X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Dec 2008 22:47:12 -0000 Author: mav Date: Fri Dec 26 22:47:11 2008 New Revision: 186503 URL: http://svn.freebsd.org/changeset/base/186503 Log: Add some special handling for AD1986A codec: Disable some unneeded pathes in overcomplicated input mixer to help parser to handle the rest better. This gives mic input boost control in some configurations and just more predictable operation in others. Modified: head/sys/dev/sound/pci/hda/hdac.c Modified: head/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- head/sys/dev/sound/pci/hda/hdac.c Fri Dec 26 22:31:45 2008 (r186502) +++ head/sys/dev/sound/pci/hda/hdac.c Fri Dec 26 22:47:11 2008 (r186503) @@ -83,7 +83,7 @@ #include "mixer_if.h" -#define HDA_DRV_TEST_REV "20081223_0121" +#define HDA_DRV_TEST_REV "20081226_0122" SND_DECLARE_FILE("$FreeBSD$"); @@ -4548,6 +4548,32 @@ hdac_vendor_patch_parse(struct hdac_devi */ break; case HDA_CODEC_AD1986A: + /* + * This codec has overcomplicated input mixing. + * Make some cleaning there. + */ + /* Disable input mono mixer. Not needed and not supported. */ + w = hdac_widget_get(devinfo, 43); + if (w != NULL) + w->enable = 0; + /* Disable any with any input mixing mesh. Use separately. */ + w = hdac_widget_get(devinfo, 39); + if (w != NULL) + w->enable = 0; + w = hdac_widget_get(devinfo, 40); + if (w != NULL) + w->enable = 0; + w = hdac_widget_get(devinfo, 41); + if (w != NULL) + w->enable = 0; + w = hdac_widget_get(devinfo, 42); + if (w != NULL) + w->enable = 0; + /* Disable duplicate mixer node connector. */ + w = hdac_widget_get(devinfo, 15); + if (w != NULL) + w->connsenable[3] = 0; + if (subvendor == ASUS_A8X_SUBVENDOR) { /* * This is just plain ridiculous.. There