From owner-freebsd-multimedia@FreeBSD.ORG Sun Jan 4 16:05:42 2009 Return-Path: Delivered-To: multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8CC5A1065677 for ; Sun, 4 Jan 2009 16:05:42 +0000 (UTC) (envelope-from memberservices@cuna.org) Received: from av10-2-sn2.hy.skanova.net (av10-2-sn2.hy.skanova.net [81.228.8.182]) by mx1.freebsd.org (Postfix) with ESMTP id 23DB78FC08 for ; Sun, 4 Jan 2009 16:05:42 +0000 (UTC) (envelope-from memberservices@cuna.org) Received: by av10-2-sn2.hy.skanova.net (Postfix, from userid 502) id 9B03B38594; Sun, 4 Jan 2009 16:33:49 +0100 (CET) Received: from smtp4-2-sn2.hy.skanova.net (smtp4-2-sn2.hy.skanova.net [81.228.8.93]) by av10-2-sn2.hy.skanova.net (Postfix) with ESMTP id 1FF5238563 for ; Sun, 4 Jan 2009 16:33:49 +0100 (CET) Received: from cuna.org (62-20-107-4.customer.telia.com [62.20.107.4]) by smtp4-2-sn2.hy.skanova.net (Postfix) with ESMTP id 1010637E46 for ; Sun, 4 Jan 2009 16:33:49 +0100 (CET) From: "Credit Union N.A." To: multimedia@freebsd.org Date: 04 Jan 2009 16:33:50 +0100 Message-ID: <20090104163350.25ADAF8A15ED9D0A@cuna.org> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Subject: Changes to Terms and Conditions (please do not reply to this message). X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: memberservices@cuna.org List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jan 2009 16:05:43 -0000 =3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= 3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D Please do not delete this section. Email_ID:#800207302432039035216_ =3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= 3D=3D= =3D=3D=3D=3D=3D=3D Because we care about your secur= ity, we are contacting you you to confirm that for security reason, we h= ave restricted your card number and your current PIN. How to activate your card = * Call 1-800-= 509-6112 * Our automated system allows you to quickly= activate your card Thank you for banking with Credi= t Union N.A.! Sincerely, Scott A. Jashinski Online Ban= king Manager To protect your privacy, message= s from CUNA will never ask you for any information through e-mail that= would uniquely identify you. Please do not respond to this messag= e. Replies to this message are routed to an unmonitored mailbox. = CUNA made the following annotations<= /FONT> Electronic Privacy Notice. This e-ma= il, and any attachments, contains information that is, or may be, covered b= y electronic communications privacy laws, and is also confidential and p= roprietary in nature. If you are not the intended recipient, please be advi= sed that you are legally prohibited from retaining, using, copying, distrib= uting, or otherwise disclosing this information in any manner. Instead, please reply to the sender that you hav= e received this communication in error, and then immediately delete it. Tha= nk you in advance for your cooperation. From owner-freebsd-multimedia@FreeBSD.ORG Mon Jan 5 06:35:32 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A3F131065670 for ; Mon, 5 Jan 2009 06:35:32 +0000 (UTC) (envelope-from matthias.apitz@oclc.org) Received: from hunter.Sisis.de (mail.oclc.de [193.31.11.194]) by mx1.freebsd.org (Postfix) with ESMTP id 0033A8FC0C for ; Mon, 5 Jan 2009 06:35:31 +0000 (UTC) (envelope-from matthias.apitz@oclc.org) Received: (from mail@localhost) by hunter.Sisis.de (8.8.8/8.8.8) id HAA08175 for ; Mon, 5 Jan 2009 07:24:15 +0100 (CET) (envelope-from matthias.apitz@oclc.org) Received: from ppp-88-217-70-103.dynamic.mnet-online.de(88.217.70.103) by hunter.Sisis.de via smap (V2.1) id xma008147; Mon, 5 Jan 09 07:23:52 +0100 Received: (from guru@localhost) by rebelion.Sisis.de (8.14.2/8.13.8/Submit) id n056WqI5003619 for freebsd-multimedia@freebsd.org; Mon, 5 Jan 2009 07:32:52 +0100 (CET) (envelope-from matthias.apitz@oclc.org) X-Authentication-Warning: rebelion.Sisis.de: guru set sender to matthias.apitz@oclc.org using -f Date: Mon, 5 Jan 2009 07:32:52 +0100 From: Matthias Apitz To: freebsd-multimedia@freebsd.org Message-ID: <20090105063251.GA3387@rebelion.Sisis.de> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.4.2.3i X-Operating-System: FreeBSD 7.0-RELEASE (i386) Subject: teleSUR TV does not work anymore with mplayer X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Matthias Apitz List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jan 2009 06:35:33 -0000 Hello, Me and my wife we have been watching a South-American TV station in our FreeBSD 7.0 based laptops for years. This worked just nicely with the mplayer plug-in in the browser (KDE's Konqueror). With the change of the year, I think, they have changed their webpage: http://www.telesurtv.net/ If you now click on the 'Señal en vivo click aquí' button (right upper corner), another page comes up: http://www.telesurtv.net/noticias/canal/senalenvivo.php and requires Adobe Flash Player to be installed first. Any idea about how to watch this channel now is highly appreciated. Thanks in advance Happy New Year :-(( matthias -- Matthias Apitz Manager Technical Support - OCLC GmbH Gruenwalder Weg 28g - 82041 Oberhaching - Germany t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211 e - w http://www.oclc.org/ http://www.UnixArea.de/ b http://gurucubano.blogspot.com/ SPAMer of the year: Subject: Alle Software ist Deutsche Sprachen >From: -40 % die Neujahrsaktion From owner-freebsd-multimedia@FreeBSD.ORG Mon Jan 5 07:48:09 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B4D91065674 for ; Mon, 5 Jan 2009 07:48:09 +0000 (UTC) (envelope-from henry.hu.sh@gmail.com) Received: from yw-out-2324.google.com (yw-out-2324.google.com [74.125.46.30]) by mx1.freebsd.org (Postfix) with ESMTP id 2080E8FC14 for ; Mon, 5 Jan 2009 07:48:08 +0000 (UTC) (envelope-from henry.hu.sh@gmail.com) Received: by yw-out-2324.google.com with SMTP id 9so3170849ywe.13 for ; Sun, 04 Jan 2009 23:48:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:reply-to :to:subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=N2QuZjdqJYq8rImg2pO/uabnG3eOPZ5icRlaNvGqv0A=; b=gsVViRSbxsEFujwuFewhI5zf8uHpi69DyyiT8pCaC6scclqcDmZeUCQunbb0LkiYGT cbLd26IZdthx9hWUE32uSv835JYp0xpUgZ5/Qv9u0johoyWzP6aLRV4+flUSnQj0/la+ h0l+Oyr0BrlA18slZsEWDilQpQMjHB99tEp6k= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:reply-to:to:subject:cc:in-reply-to :mime-version:content-type:content-transfer-encoding :content-disposition:references; b=qBbbbVJ2LAenBsN2nFU/0hgTrIiy42DWi03tGLC+siIBSsY2caPMg4T2797DNeqwCh e0FDELw7uRZ2OnOIqLENJ2bthoMRIW/AszL6+cF5wgBGWvVXgpDHMUX5uMxj7s/UIHsb 53LN0a83xuO5WyFF4p+n1gh0RIENMqIpxXmcc= Received: by 10.90.69.7 with SMTP id r7mr9420336aga.102.1231140374549; Sun, 04 Jan 2009 23:26:14 -0800 (PST) Received: by 10.90.101.8 with HTTP; Sun, 4 Jan 2009 23:26:14 -0800 (PST) Message-ID: <53a1e0710901042326w2abacc3o4aab4577b02f26fc@mail.gmail.com> Date: Mon, 5 Jan 2009 15:26:14 +0800 From: "Henry Hu" To: "Matthias Apitz" In-Reply-To: <20090105063251.GA3387@rebelion.Sisis.de> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <20090105063251.GA3387@rebelion.Sisis.de> Cc: freebsd-multimedia@freebsd.org Subject: Re: teleSUR TV does not work anymore with mplayer X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: hu.henry9@gmail.com List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jan 2009 07:48:09 -0000 I've just tried the page, and 1. The player in the center of the page showed up, but it turns around forever. Maybe there's some problems about network connection. 2. The player at the upper right corner worked smoothly, with sound and vid= eo. I'm using linux-flashplugin9 on FreeBSD 7.1, and I think that the flash player is working. Happy new year! Regards, Henry On Mon, Jan 5, 2009 at 2:32 PM, Matthias Apitz wrote: > > Hello, > > Me and my wife we have been watching a South-American TV station in our > FreeBSD 7.0 based laptops for years. This worked just nicely with the > mplayer plug-in in the browser (KDE's Konqueror). With the change of the > year, I think, they have changed their webpage: > > http://www.telesurtv.net/ > > If you now click on the 'Se=F1al en vivo click aqu=ED' button (right uppe= r > corner), another page comes up: > > http://www.telesurtv.net/noticias/canal/senalenvivo.php > > and requires Adobe Flash Player to be installed first. Any idea about > how to watch this channel now is highly appreciated. Thanks in advance > > Happy New Year :-(( > > matthias > -- > Matthias Apitz > Manager Technical Support - OCLC GmbH > Gruenwalder Weg 28g - 82041 Oberhaching - Germany > t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211 > e - w http://www.oclc.org/ http://www.UnixArea.= de/ > b http://gurucubano.blogspot.com/ > > SPAMer of the year: Subject: Alle Software ist Deutsche Sprachen >>From: -40 % die Neujahrsaktion > _______________________________________________ > freebsd-multimedia@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia > To unsubscribe, send any mail to "freebsd-multimedia-unsubscribe@freebsd.= org" > From owner-freebsd-multimedia@FreeBSD.ORG Mon Jan 5 08:27:16 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 06827106564A for ; Mon, 5 Jan 2009 08:27:16 +0000 (UTC) (envelope-from Matthias.Apitz@oclc.org) Received: from mail.pica.nl (mail.pica.nl [192.87.44.30]) by mx1.freebsd.org (Postfix) with ESMTP id 90CF08FC16 for ; Mon, 5 Jan 2009 08:27:15 +0000 (UTC) (envelope-from Matthias.Apitz@oclc.org) Received: from rebelion.Sisis.de ([10.0.1.29]) by mail.pica.nl with Microsoft SMTPSVC(6.0.3790.3959); Mon, 5 Jan 2009 09:15:10 +0100 Received: (from guru@localhost) by rebelion.Sisis.de (8.14.2/8.13.8/Submit) id n058F9t4005330; Mon, 5 Jan 2009 09:15:09 +0100 (CET) (envelope-from matthias.apitz@oclc.org) X-Authentication-Warning: rebelion.Sisis.de: guru set sender to matthias.apitz@oclc.org using -f Date: Mon, 5 Jan 2009 09:15:09 +0100 From: Matthias Apitz To: hu.henry9@gmail.com Message-ID: <20090105081508.GA5152@rebelion.Sisis.de> References: <20090105063251.GA3387@rebelion.Sisis.de> <53a1e0710901042326w2abacc3o4aab4577b02f26fc@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <53a1e0710901042326w2abacc3o4aab4577b02f26fc@mail.gmail.com> User-Agent: Mutt/1.4.2.3i X-Operating-System: FreeBSD 7.0-RELEASE (i386) X-OriginalArrivalTime: 05 Jan 2009 08:15:10.0894 (UTC) FILETIME=[BA60E4E0:01C96F0D] Cc: freebsd-multimedia@freebsd.org Subject: Re: teleSUR TV does not work anymore with mplayer X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Matthias Apitz List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jan 2009 08:27:16 -0000 El día Monday, January 05, 2009 a las 03:26:14PM +0800, Henry Hu escribió: > I've just tried the page, and > 1. The player in the center of the page showed up, but it turns around > forever. Maybe there's some problems about network connection. > 2. The player at the upper right corner worked smoothly, with sound and video. > I'm using linux-flashplugin9 on FreeBSD 7.1, and I think that the > flash player is working. > > Happy new year! > > Regards, > Henry Hello, Thanks for that hint; I'm still on 7.0-STABLE; but I went to /usr/ports/www/linux-flashplugin9 and 'make install' the port; have had to pkg_delete linux-flashplugin-7.0r73; but after this the port installed fine; I restarted Konqueror but this now just freezes on any stream, as well from www.youtube.com and others; I'm missing something? Thx matthias -- Matthias Apitz Manager Technical Support - OCLC GmbH Gruenwalder Weg 28g - 82041 Oberhaching - Germany t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211 e - w http://www.oclc.org/ http://www.UnixArea.de/ b http://gurucubano.blogspot.com/ SPAMer of the year: Subject: Alle Software ist Deutsche Sprachen >From: -40 % die Neujahrsaktion From owner-freebsd-multimedia@FreeBSD.ORG Mon Jan 5 09:19:08 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D4247106566B for ; Mon, 5 Jan 2009 09:19:08 +0000 (UTC) (envelope-from lars.engels@0x20.net) Received: from mail.0x20.net (mail.0x20.net [IPv6:2001:aa8:fffb::3]) by mx1.freebsd.org (Postfix) with ESMTP id 687538FC18 for ; Mon, 5 Jan 2009 09:19:08 +0000 (UTC) (envelope-from lars.engels@0x20.net) Received: from mail.0x20.net (mail.0x20.net [217.69.67.217]) by mail.0x20.net (Postfix) with ESMTP id 4867D36395; Mon, 5 Jan 2009 10:19:07 +0100 (CET) Received: from i011-63.fin-nrw.de (i011-63.fin-nrw.de [193.109.238.130]) by 0x20.net (Horde MIME library) with HTTP; Mon, 05 Jan 2009 10:19:07 +0100 Message-ID: <20090105101907.lj9p76h1wc4wgokk@0x20.net> X-Priority: 3 (Normal) Date: Mon, 05 Jan 2009 10:19:07 +0100 From: Lars Engels To: Matthias Apitz References: <20090105063251.GA3387@rebelion.Sisis.de> <53a1e0710901042326w2abacc3o4aab4577b02f26fc@mail.gmail.com> <20090105081508.GA5152@rebelion.Sisis.de> In-Reply-To: <20090105081508.GA5152@rebelion.Sisis.de> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=_1ln74dqsibwk"; protocol="application/pgp-signature"; micalg="pgp-sha1" Content-Transfer-Encoding: 7bit User-Agent: Internet Messaging Program (IMP) H3 (4.1.3) Cc: freebsd-multimedia@freebsd.org, hu.henry9@gmail.com Subject: Re: teleSUR TV does not work anymore with mplayer X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jan 2009 09:19:09 -0000 This message is in MIME format and has been PGP signed. --=_1ln74dqsibwk Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Quoting Matthias Apitz : > El d=C3=ADa Monday, January 05, 2009 a las 03:26:14PM +0800, Henry Hu escr= ibi=C3=B3: > >> I've just tried the page, and >> 1. The player in the center of the page showed up, but it turns around >> forever. Maybe there's some problems about network connection. >> 2. The player at the upper right corner worked smoothly, with sound =20 >> and video. >> I'm using linux-flashplugin9 on FreeBSD 7.1, and I think that the >> flash player is working. >> >> Happy new year! >> >> Regards, >> Henry > > Hello, > > Thanks for that hint; I'm still on 7.0-STABLE; but I went to > /usr/ports/www/linux-flashplugin9 and 'make install' the port; > have had to pkg_delete linux-flashplugin-7.0r73; but after this the port > installed fine; > > I restarted Konqueror but this now just freezes on any stream, as well > from www.youtube.com and others; I'm missing something? Which linux_base are you using? You should use f7 or f8 with Flash9. --=_1ln74dqsibwk Content-Type: application/pgp-signature Content-Description: Digitale PGP-Unterschrift Content-Disposition: inline Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (FreeBSD) iEYEABECAAYFAklh0IsACgkQKc512sD3afjs0wCgtufmVvr0qsT+eBDtfCxXnFJ1 bzgAoIm6D/nOKE/V1lIBTVVrN7tUQFFx =x3Jy -----END PGP SIGNATURE----- --=_1ln74dqsibwk-- From owner-freebsd-multimedia@FreeBSD.ORG Mon Jan 5 09:35:11 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 47B7F106566B for ; Mon, 5 Jan 2009 09:35:11 +0000 (UTC) (envelope-from Matthias.Apitz@oclc.org) Received: from mail.pica.nl (mail.pica.nl [192.87.44.30]) by mx1.freebsd.org (Postfix) with ESMTP id D446F8FC16 for ; Mon, 5 Jan 2009 09:35:10 +0000 (UTC) (envelope-from Matthias.Apitz@oclc.org) Received: from rebelion.Sisis.de ([10.0.1.29]) by mail.pica.nl with Microsoft SMTPSVC(6.0.3790.3959); Mon, 5 Jan 2009 10:35:09 +0100 Received: (from guru@localhost) by rebelion.Sisis.de (8.14.2/8.13.8/Submit) id n059Z7b5007752; Mon, 5 Jan 2009 10:35:07 +0100 (CET) (envelope-from matthias.apitz@oclc.org) X-Authentication-Warning: rebelion.Sisis.de: guru set sender to matthias.apitz@oclc.org using -f Date: Mon, 5 Jan 2009 10:35:07 +0100 From: Matthias Apitz To: Lars Engels Message-ID: <20090105093507.GA7483@rebelion.Sisis.de> References: <20090105063251.GA3387@rebelion.Sisis.de> <53a1e0710901042326w2abacc3o4aab4577b02f26fc@mail.gmail.com> <20090105081508.GA5152@rebelion.Sisis.de> <20090105101907.lj9p76h1wc4wgokk@0x20.net> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20090105101907.lj9p76h1wc4wgokk@0x20.net> User-Agent: Mutt/1.4.2.3i X-Operating-System: FreeBSD 7.0-RELEASE (i386) X-OriginalArrivalTime: 05 Jan 2009 09:35:09.0381 (UTC) FILETIME=[E67FE750:01C96F18] Cc: freebsd-multimedia@freebsd.org, hu.henry9@gmail.com Subject: Re: teleSUR TV does not work anymore with mplayer X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Matthias Apitz List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jan 2009 09:35:11 -0000 El día Monday, January 05, 2009 a las 10:19:07AM +0100, Lars Engels escribió: > Quoting Matthias Apitz : > > >Thanks for that hint; I'm still on 7.0-STABLE; but I went to > >/usr/ports/www/linux-flashplugin9 and 'make install' the port; > >have had to pkg_delete linux-flashplugin-7.0r73; but after this the port > >installed fine; > > > >I restarted Konqueror but this now just freezes on any stream, as well > >from www.youtube.com and others; I'm missing something? > > Which linux_base are you using? You should use f7 or f8 with Flash9. I'm using: $ pkg_info | fgrep linux_base linux_base-fc-4_10 Base set of packages needed in Linux mode (for i386/amd64) I wundered as well that the www/linux-flashplugin9 only installed linux-openssl-0.9.7f but did not touched linux_base... Should I just install /usr/ports/emulators/linux_base-f7 or will this cause a never ending (other) story? Thx matthias -- Matthias Apitz Manager Technical Support - OCLC GmbH Gruenwalder Weg 28g - 82041 Oberhaching - Germany t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211 e - w http://www.oclc.org/ http://www.UnixArea.de/ b http://gurucubano.blogspot.com/ SPAMer of the year: Subject: Alle Software ist Deutsche Sprachen >From: -40 % die Neujahrsaktion From owner-freebsd-multimedia@FreeBSD.ORG Mon Jan 5 10:25:35 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 09D6C106564A for ; Mon, 5 Jan 2009 10:25:35 +0000 (UTC) (envelope-from Matthias.Apitz@oclc.org) Received: from mail.pica.nl (mail.pica.nl [192.87.44.30]) by mx1.freebsd.org (Postfix) with ESMTP id 954F38FC08 for ; Mon, 5 Jan 2009 10:25:34 +0000 (UTC) (envelope-from Matthias.Apitz@oclc.org) Received: from rebelion.Sisis.de ([10.0.1.29]) by mail.pica.nl with Microsoft SMTPSVC(6.0.3790.3959); Mon, 5 Jan 2009 11:25:33 +0100 Received: (from guru@localhost) by rebelion.Sisis.de (8.14.2/8.13.8/Submit) id n05APVkn018445; Mon, 5 Jan 2009 11:25:31 +0100 (CET) (envelope-from matthias.apitz@oclc.org) X-Authentication-Warning: rebelion.Sisis.de: guru set sender to matthias.apitz@oclc.org using -f Date: Mon, 5 Jan 2009 11:25:31 +0100 From: Matthias Apitz To: Lars Engels Message-ID: <20090105102531.GA18251@rebelion.Sisis.de> References: <20090105063251.GA3387@rebelion.Sisis.de> <53a1e0710901042326w2abacc3o4aab4577b02f26fc@mail.gmail.com> <20090105081508.GA5152@rebelion.Sisis.de> <20090105101907.lj9p76h1wc4wgokk@0x20.net> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20090105101907.lj9p76h1wc4wgokk@0x20.net> User-Agent: Mutt/1.4.2.3i X-Operating-System: FreeBSD 7.0-RELEASE (i386) X-OriginalArrivalTime: 05 Jan 2009 10:25:33.0495 (UTC) FILETIME=[F1031470:01C96F1F] Cc: freebsd-multimedia@freebsd.org, hu.henry9@gmail.com Subject: Re: teleSUR TV does not work anymore with mplayer X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Matthias Apitz List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jan 2009 10:25:35 -0000 El día Monday, January 05, 2009 a las 10:19:07AM +0100, Lars Engels escribió: > >Thanks for that hint; I'm still on 7.0-STABLE; but I went to > >/usr/ports/www/linux-flashplugin9 and 'make install' the port; > >have had to pkg_delete linux-flashplugin-7.0r73; but after this the port > >installed fine; > > > >I restarted Konqueror but this now just freezes on any stream, as well > >from www.youtube.com and others; I'm missing something? > > Which linux_base are you using? You should use f7 or f8 with Flash9. The installation of emulators/linux_base-f7 failed with: ... ===> Checking if emulators/linux_base-f7 already installed 242809 blocks +++ Some programs may need linprocfs, please add it to /etc/fstab! +++ Running linux ldconfig... FATAL: kernel too old Segmentation fault (core dumped) and ofc later the plugin gives: $ nspluginwrapper -v -a -i Auto-install plugins from /usr/X11R6/lib/browser_plugins Looking for plugins in /usr/X11R6/lib/browser_plugins Auto-install plugins from /usr/X11R6/lib/firefox/plugins Looking for plugins in /usr/X11R6/lib/firefox/plugins Auto-install plugins from /usr/X11R6/lib/linux-mozilla/plugins Looking for plugins in /usr/X11R6/lib/linux-mozilla/plugins FATAL: kernel too old I've deinstalled emulators/linux_base-f7 again, which takes away in parts the base system installed package linux_base-fc-4_10 and I've had to re-install that again to get other apps (like Skype) working again; What is the best update path to get Flash9 working in 7.0? matthias -- Matthias Apitz Manager Technical Support - OCLC GmbH Gruenwalder Weg 28g - 82041 Oberhaching - Germany t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211 e - w http://www.oclc.org/ http://www.UnixArea.de/ b http://gurucubano.blogspot.com/ SPAMer of the year: Subject: Alle Software ist Deutsche Sprachen >From: -40 % die Neujahrsaktion From owner-freebsd-multimedia@FreeBSD.ORG Mon Jan 5 11:06:55 2009 Return-Path: Delivered-To: freebsd-multimedia@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D73C61065674 for ; Mon, 5 Jan 2009 11:06:55 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id C40AB8FC08 for ; Mon, 5 Jan 2009 11:06:55 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n05B6tjX002853 for ; Mon, 5 Jan 2009 11:06:55 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n05B6tod002849 for freebsd-multimedia@FreeBSD.org; Mon, 5 Jan 2009 11:06:55 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 5 Jan 2009 11:06:55 GMT Message-Id: <200901051106.n05B6tod002849@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-multimedia@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-multimedia@FreeBSD.org X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jan 2009 11:06:56 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o ports/130146 multimedia [PATCH] multimedia/transcode: update to 1.0.7 o ports/129800 multimedia Update port: multimedia/ffmpeg avoid crash in multimed o kern/129604 multimedia [pcm]: Sound stops with error: pcm0:virtual:dsp0.vp0: o ports/129293 multimedia [Update] audio/wavpack - update to 4.50.1 o ports/129085 multimedia [PATCH] multimedia/x264: update to 0.0.20081122 o ports/128730 multimedia [PATCH] multimedia/libquicktime: default LAME option t o ports/128680 multimedia [PATCH] multimedia/gavl: update to 1.0.1 o ports/128086 multimedia Add schroedinger (dirac) codec support for multimedia/ o ports/127672 multimedia multimedia/transcode won't compile with ImageMagick in o ports/127468 multimedia [PATCH]audio/wavpack: update to 4.50.1 o kern/127131 multimedia [bktr] /usr/src/sys/dev/bktr/bktr_os.c, line 469: wron o ports/127084 multimedia multimedia/linux-realplayer is vulnerable o ports/126668 multimedia [patch] multimedia/ffmpeg - quick and dirty symbol bui p kern/126217 multimedia [snd_hda] no snd_hda support for internal microphone f f ports/126043 multimedia multimedia/ffmpeg: ffplay returns Undefined symbol "pt o ports/126020 multimedia multimedia/transcode depends on wrong version of lzo o ports/126019 multimedia multimedia/transcode patch revision p kern/125822 multimedia [snd_hda] [patch] Does not define the device: pcm0: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9D791106566B for ; Mon, 5 Jan 2009 11:49:37 +0000 (UTC) (envelope-from tl32@next.online.no) Received: from mail48.e.nsc.no (mail48.e.nsc.no [193.213.115.48]) by mx1.freebsd.org (Postfix) with ESMTP id E109B8FC12 for ; Mon, 5 Jan 2009 11:49:36 +0000 (UTC) (envelope-from tl32@next.online.no) Received: from [212.251.176.96] (212251176096.customer.cdi.no [212.251.176.96]) (authenticated bits=0) by mail48.nsc.no (8.13.8/8.13.5) with ESMTP id n05BnYhX005077 for ; Mon, 5 Jan 2009 12:49:34 +0100 (MET) Message-ID: <4961F38B.9030703@next.online.no> Date: Mon, 05 Jan 2009 12:48:27 +0100 From: Tore Lund User-Agent: Thunderbird 2.0.0.18 (X11/20081220) MIME-Version: 1.0 To: freebsd-multimedia@freebsd.org References: <1231150981.00055938.1231137601@10.7.7.3> <1231154582.00055958.1231141801@10.7.7.3> <1231154587.00055967.1231144202@10.7.7.3> In-Reply-To: <1231154587.00055967.1231144202@10.7.7.3> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: linux-flashplugin9 (was: teleSUR TV) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jan 2009 11:49:37 -0000 Matthias Apitz wrote: > Thanks for that hint; I'm still on 7.0-STABLE; but I went to > /usr/ports/www/linux-flashplugin9 and 'make install' the port; > have had to pkg_delete linux-flashplugin-7.0r73; but after this the port > installed fine; It looks like some of you are able to install linux-flashplugin9 by doing a simple "make install". I still get "size mismatch" or "file unavailable". If anyone knows a trick for getting that port, do tell. -- Tore From owner-freebsd-multimedia@FreeBSD.ORG Mon Jan 5 11:55:42 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0CE21106566C for ; Mon, 5 Jan 2009 11:55:42 +0000 (UTC) (envelope-from yuri.pankov@gmail.com) Received: from mail-ew0-f21.google.com (mail-ew0-f21.google.com [209.85.219.21]) by mx1.freebsd.org (Postfix) with ESMTP id 56AFA8FC18 for ; Mon, 5 Jan 2009 11:55:41 +0000 (UTC) (envelope-from yuri.pankov@gmail.com) Received: by ewy14 with SMTP id 14so8780211ewy.19 for ; Mon, 05 Jan 2009 03:55:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:received:received :x-authentication-warning:date:from:to:cc:subject:message-id :references:mime-version:content-type:content-disposition :in-reply-to:user-agent; bh=M3u4pE/1oJc3ziW6B50RFySBDK7750RQ0X4/8vTLzJc=; b=NdMLi4vittla5afwpX/LQCBzx+pB/ZkzHBQ+ktqAwidPkhqev7lRNfxhd1DH2MrCDq sydWmGm/4ubKDtcoeVg9vOjKkhhloHWzJ/SLd3toU6zXP4Z9wPm1BHAsKBEBBwfG1GQs vAeh6YvZQy+9d9T4Vr5gO4Kmyi5LiFneg3/5M= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=x-authentication-warning:date:from:to:cc:subject:message-id :references:mime-version:content-type:content-disposition :in-reply-to:user-agent; b=WvNGgWOuSBtAZ+G2ORfvNcQMiUDtxrdKMwOW9Vril5evSt4tSNIVzQyXF54RFyyu7e wDeo0+zGT5xeDPlulEwC5WClzYjXa6fJSfgSWOA5PFXGWDUGN7d7etTTsyIez42r0e/h HMsXKGzXkCCUkI9PiP7Qq+UJGedhdSxXRrx80= Received: by 10.210.59.14 with SMTP id h14mr10004658eba.16.1231156540021; Mon, 05 Jan 2009 03:55:40 -0800 (PST) Received: from darklight.homeunix.org ([85.175.24.248]) by mx.google.com with ESMTPS id p10sm25295505gvf.32.2009.01.05.03.55.38 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 05 Jan 2009 03:55:39 -0800 (PST) Received: from darklight.homeunix.org (yuri@darklight.homeunix.org [127.0.0.1]) by darklight.homeunix.org (8.14.3/8.14.3) with ESMTP id n05BtZwO026974; Mon, 5 Jan 2009 14:55:36 +0300 (MSK) (envelope-from yuri.pankov@gmail.com) Received: (from yuri@localhost) by darklight.homeunix.org (8.14.3/8.14.3/Submit) id n05BtZ97026898; Mon, 5 Jan 2009 14:55:35 +0300 (MSK) (envelope-from yuri.pankov@gmail.com) X-Authentication-Warning: darklight.homeunix.org: yuri set sender to yuri.pankov@gmail.com using -f Date: Mon, 5 Jan 2009 14:55:35 +0300 From: Yuri Pankov To: Tore Lund Message-ID: <20090105115535.GC72474@darklight.homeunix.org> References: <1231150981.00055938.1231137601@10.7.7.3> <1231154582.00055958.1231141801@10.7.7.3> <1231154587.00055967.1231144202@10.7.7.3> <4961F38B.9030703@next.online.no> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4961F38B.9030703@next.online.no> User-Agent: Mutt/1.5.18 (2008-05-17) Cc: freebsd-multimedia@freebsd.org Subject: Re: linux-flashplugin9 (was: teleSUR TV) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jan 2009 11:55:42 -0000 On Mon, Jan 05, 2009 at 12:48:27PM +0100, Tore Lund wrote: > Matthias Apitz wrote: > > Thanks for that hint; I'm still on 7.0-STABLE; but I went to > > /usr/ports/www/linux-flashplugin9 and 'make install' the port; > > have had to pkg_delete linux-flashplugin-7.0r73; but after this the port > > installed fine; > > It looks like some of you are able to install linux-flashplugin9 by > doing a simple "make install". I still get "size mismatch" or "file > unavailable". If anyone knows a trick for getting that port, do tell. > -- > Tore cd /usr/ports/www/linux-flashplugin9; mv distinfo distinfo.orig; make makesum and then install as usual. HTH, Yuri From owner-freebsd-multimedia@FreeBSD.ORG Mon Jan 5 12:11:30 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5A7271065670 for ; Mon, 5 Jan 2009 12:11:30 +0000 (UTC) (envelope-from Matthias.Apitz@oclc.org) Received: from mail.pica.nl (mail.pica.nl [192.87.44.30]) by mx1.freebsd.org (Postfix) with ESMTP id E4BCE8FC21 for ; Mon, 5 Jan 2009 12:11:29 +0000 (UTC) (envelope-from Matthias.Apitz@oclc.org) Received: from rebelion.Sisis.de ([10.0.1.29]) by mail.pica.nl with Microsoft SMTPSVC(6.0.3790.3959); Mon, 5 Jan 2009 13:11:28 +0100 Received: (from guru@localhost) by rebelion.Sisis.de (8.14.2/8.13.8/Submit) id n05CBRqB021180; Mon, 5 Jan 2009 13:11:27 +0100 (CET) (envelope-from matthias.apitz@oclc.org) X-Authentication-Warning: rebelion.Sisis.de: guru set sender to matthias.apitz@oclc.org using -f Date: Mon, 5 Jan 2009 13:11:27 +0100 From: Matthias Apitz To: Tore Lund Message-ID: <20090105121127.GA21149@rebelion.Sisis.de> References: <1231150981.00055938.1231137601@10.7.7.3> <1231154582.00055958.1231141801@10.7.7.3> <1231154587.00055967.1231144202@10.7.7.3> <4961F38B.9030703@next.online.no> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4961F38B.9030703@next.online.no> User-Agent: Mutt/1.4.2.3i X-Operating-System: FreeBSD 7.0-RELEASE (i386) X-OriginalArrivalTime: 05 Jan 2009 12:11:28.0390 (UTC) FILETIME=[BCD31A60:01C96F2E] Cc: freebsd-multimedia@freebsd.org Subject: Re: linux-flashplugin9 (was: teleSUR TV) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Matthias Apitz List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jan 2009 12:11:31 -0000 El día Monday, January 05, 2009 a las 12:48:27PM +0100, Tore Lund escribió: > Matthias Apitz wrote: > > Thanks for that hint; I'm still on 7.0-STABLE; but I went to > > /usr/ports/www/linux-flashplugin9 and 'make install' the port; > > have had to pkg_delete linux-flashplugin-7.0r73; but after this the port > > installed fine; > > It looks like some of you are able to install linux-flashplugin9 by > doing a simple "make install". I still get "size mismatch" or "file > unavailable". If anyone knows a trick for getting that port, do tell. I have pre-fetched the file from http://ftp.csie.ncu.edu.tw/FreeBSD/distfiles/flashplugin/9.0r115/ this made the 'make install' happy, but not me :-( matthias -- Matthias Apitz Manager Technical Support - OCLC GmbH Gruenwalder Weg 28g - 82041 Oberhaching - Germany t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211 e - w http://www.oclc.org/ http://www.UnixArea.de/ b http://gurucubano.blogspot.com/ SPAMer of the year: Subject: Alle Software ist Deutsche Sprachen >From: -40 % die Neujahrsaktion From owner-freebsd-multimedia@FreeBSD.ORG Mon Jan 5 14:56:34 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C7FE9106568D for ; Mon, 5 Jan 2009 14:56:34 +0000 (UTC) (envelope-from tl32@next.online.no) Received: from mail48.e.nsc.no (mail48.e.nsc.no [193.213.115.48]) by mx1.freebsd.org (Postfix) with ESMTP id 2F3698FC1B for ; Mon, 5 Jan 2009 14:56:33 +0000 (UTC) (envelope-from tl32@next.online.no) Received: from [212.251.176.96] (212251176096.customer.cdi.no [212.251.176.96]) (authenticated bits=0) by mail48.nsc.no (8.13.8/8.13.5) with ESMTP id n05EuVKJ023417; Mon, 5 Jan 2009 15:56:32 +0100 (MET) Message-ID: <49621F66.7080804@next.online.no> Date: Mon, 05 Jan 2009 15:55:34 +0100 From: Tore Lund User-Agent: Thunderbird 2.0.0.18 (X11/20081220) MIME-Version: 1.0 To: Yuri Pankov References: <1231150981.00055938.1231137601@10.7.7.3> <1231154582.00055958.1231141801@10.7.7.3> <1231154587.00055967.1231144202@10.7.7.3> <4961F38B.9030703@next.online.no> <20090105115535.GC72474@darklight.homeunix.org> In-Reply-To: <20090105115535.GC72474@darklight.homeunix.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-multimedia@freebsd.org Subject: Re: linux-flashplugin9 X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jan 2009 14:56:35 -0000 Yuri Pankov wrote: > On Mon, Jan 05, 2009 at 12:48:27PM +0100, Tore Lund wrote: >> It looks like some of you are able to install linux-flashplugin9 by >> doing a simple "make install". I still get "size mismatch" or "file >> unavailable". If anyone knows a trick for getting that port, do tell. > > cd /usr/ports/www/linux-flashplugin9; mv distinfo distinfo.orig; make makesum > > and then install as usual. Thanks, Yuri, this works. It does not work perfectly, but it is a big step forward. I may try a more recent version of linux_base later on. For those using firefox3 it is worth noting that plugins or links to plugins have to be in /usr/local/lib/firefox3/plugins. -- Tore From owner-freebsd-multimedia@FreeBSD.ORG Mon Jan 5 20:48:57 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E50E71065746 for ; Mon, 5 Jan 2009 20:48:56 +0000 (UTC) (envelope-from jason.harmening@gmail.com) Received: from wf-out-1314.google.com (wf-out-1314.google.com [209.85.200.173]) by mx1.freebsd.org (Postfix) with ESMTP id B838D8FC18 for ; Mon, 5 Jan 2009 20:48:56 +0000 (UTC) (envelope-from jason.harmening@gmail.com) Received: by wf-out-1314.google.com with SMTP id 24so10029415wfg.7 for ; Mon, 05 Jan 2009 12:48:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type:content-transfer-encoding :content-disposition; bh=L8Iff2I93I0CgEz9XF8vRcrLalOo49l++wxkh+kaS8s=; b=oWBiXDx5mLXEJ7sNlVS+5r9UfF74UxIYBgzUtAstDCt5Fhf1WmlNQ4lfkIP3suCAyY LlLgk/jA70RIHul/8HiCs9Yq5TaN5SJzEjeYK9lfIOTuCFsEIaZfyr5ib3hIYfA896tf U7dF0StPjn/2wCEPi0JXyDOFBsisi+r6extbQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type :content-transfer-encoding:content-disposition; b=KS/cvCEHeUXynlQEARz9fwq3ReM0yBiQkWzcjunLpsVXb8qUnoiYq49c/9OZZjZ4P3 LkbmHjcobFbH6PoLwjYIenPyC1ZXtHqTkdA5CC3jsjIeQLPlv1gl1W8TtZHza3y5UWRw T/kSphnSVHCt+AePrYkwz4fJlbZr7zppIQxzc= Received: by 10.142.58.2 with SMTP id g2mr8810827wfa.313.1231187315522; Mon, 05 Jan 2009 12:28:35 -0800 (PST) Received: by 10.142.125.6 with HTTP; Mon, 5 Jan 2009 12:28:35 -0800 (PST) Message-ID: <2d1264630901051228q7c526b80of3def7f6028599e3@mail.gmail.com> Date: Mon, 5 Jan 2009 14:28:35 -0600 From: "Jason Harmening" To: freebsd@sopwith.solgatos.com, freebsd-multimedia@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Cc: Subject: Re: sound for cx88 analog capture X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jan 2009 20:48:59 -0000 > I updated to the latest cx88 and am trying to get analog > working as described in "Capturing Raw Video" on the wiki. > > I have the video working, but no audio. > > Wiki says: "The ffmpeg command above uses the OSS-compatible cx88 audio > interface, and assumes that /dev/dsp1 is the OSS audio device that > corresponds to cx88audio0. > > How do we determine if /dev/dsp1 corresponds to cx88audio0? > > pcm0: port 0xf000-0xf0ff,0xec00-0xecff mem 0xfebfd000-0xfebfdfff irq 12 at device 4.0 on pci0 > pcm0: [ITHREAD] > pcm0: > cx88audio0: mem 0xfc000000-0xfcffffff irq 10 at device 7.1 on pci1 > iicbus6: on cx88audio0 > cx88audio0: [FILTER] > pcm1: on cx88audio0 > cx88audio0: [FILTER+ITHREAD] The node number of the dsp* entry will correspond to the number for the pcm* entry, so /dev/dsp1 should be it. Can you try capturing just the audio: cx88 -d /dev/cx88audio0 -x /usr/local/share/examples/cx88/cx88.xml.sample -c USA:42 while simultaneously doing a 'cat /dev/dsp1 > /dev/dsp0'? That will be basically the same thing that's happening for the audio part of the combined video/audio capture. > > The /dev entries seem kinda screwy: > > crw-rw-rw- 1 root wheel 0, 202 Dec 29 13:10 /dev/dsp0.0 > crw-rw-rw- 1 root wheel 0, 207 Dec 29 13:10 /dev/dsp0.1 > crw-rw-rw- 1 root wheel 0, 203 Dec 29 13:10 /dev/dsp1.0 > crw-rw-rw- 1 root wheel 0, 209 Dec 29 13:10 /dev/dsp1 > crw-rw-rw- 1 root wheel 0, 210 Dec 29 13:10 /dev/dsp0 > > ls: /dev/pcm0: No such file or directory > ls: /dev/pcm1: No such file or directory > > crw-rw-rw- 1 root wheel 0, 205 Dec 29 13:10 /dev/cx88audio0 > > I changed the script to output dv format: > > mkfifo /tmp/vpipe > /usr/local/bin/ffmpeg -v 2 \ > -f oss -ar 48000 -ac 2 -i /dev/dsp1 \ > -pix_fmt yuv422p -r 30000/1001 -s 640x480 -f rawvideo -i /tmp/vpipe \ > -pix_fmt yuv411p -r 30000/1001 -padleft 40 -padright 40 \ > /var/tmp/analog.dv > > ffmpeg says: > > Input #0, oss, from '/dev/dsp1': > Duration: N/A, start: 1230593138.586555, bitrate: N/A > Stream #0.0, 1/1000000: Audio: pcm_s16le, 48000 Hz, stereo, 1536 kb/s > Input #1, rawvideo, from '/tmp/vpipe': > Duration: N/A, bitrate: N/A > Stream #1.0, 1001/30000: Video: rawvideo, yuv422p, 640x480, 1001/30000, 29.97 fps(r) > Output #0, dv, to '/var/tmp/analog.dv': > Stream #0.0, 1/90000: Video: dvvideo, yuv411p, 720x480, 1001/30000, q=2-31, 200 kb/s, 29.97 fps(c) > Stream #0.1, 1/90000: Audio: pcm_s16le, 48000 Hz, stereo, 1536 kb/s > Stream mapping: > Stream #1.0 -> #0.0 > Stream #0.0 -> #0.1 > Press [q] to stop encoding > frame= 494 fps= 30 q=0.0 size= 57773kB time=16.5 bitrate=28755.7kbits/s dup=0 drop=0 ffmpeg seems to think it captured the audio--could it have something to do with the dv format? Can you try using the MPEG format like the example on the wiki? From owner-freebsd-multimedia@FreeBSD.ORG Mon Jan 5 22:13:55 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DF0711065670; Mon, 5 Jan 2009 22:13:55 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from cmail.optima.ua (cmail.optima.ua [195.248.191.121]) by mx1.freebsd.org (Postfix) with ESMTP id 364E08FC0C; Mon, 5 Jan 2009 22:13:55 +0000 (UTC) (envelope-from mav@FreeBSD.org) X-Spam-Flag: SKIP X-Spam-Yversion: Spamooborona-2.1.0 Received: from [212.86.226.226] (account mav@alkar.net HELO mavbook.mavhome.dp.ua) by cmail.optima.ua (CommuniGate Pro SMTP 5.2.9) with ESMTPSA id 231086211; Tue, 06 Jan 2009 00:13:54 +0200 Message-ID: <49628626.40202@FreeBSD.org> Date: Tue, 06 Jan 2009 00:13:58 +0200 From: Alexander Motin User-Agent: Thunderbird 2.0.0.17 (X11/20081029) MIME-Version: 1.0 To: freebsd-stable@FreeBSD.org Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-multimedia@FreeBSD.org Subject: HEADS UP: snd_hda MFC plan X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jan 2009 22:13:56 -0000 If there will be no objections, I am going to merge latest snd_hda driver from HEAD to 7-STABLE next days. Driver was extensively tested by many people with numerous hardware on both HEAD and 7-STABLE and provides many significant benefits. Discussions can be found on multimedia@ list. The most user-visible difference, is that new driver often provides several audio devices even on simple systems. That devices refer the different physical or logical audio hardware parts and using different hardware connectors. This feature described in details in updated man page. On most systems having several devices is not a problem, as mostly used analog connectors are usually detected first. But on some systems (for example, having separate HDMI ports on video cards, which are now also supported and often detected first), user may be required to explicitly configure his audio applications or by using hw.snd.default_unit sysctl globally specify default audio device he wants to use. This moment explicitly specified in updated man page and I am going to specify it in UPDATING. -- Alexander Motin From owner-freebsd-multimedia@FreeBSD.ORG Tue Jan 6 05:19:01 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0209A106566B for ; Tue, 6 Jan 2009 05:19:01 +0000 (UTC) (envelope-from freebsd@sopwith.solgatos.com) Received: from sopwith.solgatos.com (pool-71-117-207-61.ptldor.fios.verizon.net [71.117.207.61]) by mx1.freebsd.org (Postfix) with ESMTP id E20E48FC17 for ; Tue, 6 Jan 2009 05:18:59 +0000 (UTC) (envelope-from freebsd@sopwith.solgatos.com) Received: by sopwith.solgatos.com (Postfix, from userid 66) id 40189B651; Mon, 5 Jan 2009 05:12:49 -0800 (PST) Received: from localhost by sopwith.solgatos.com (8.8.8/6.24) id FAA20680; Tue, 6 Jan 2009 05:17:09 GMT Message-Id: <200901060517.FAA20680@sopwith.solgatos.com> To: freebsd-multimedia@freebsd.org In-reply-to: Your message of "Mon, 05 Jan 2009 14:28:35 CST." <2d1264630901051228q7c526b80of3def7f6028599e3@mail.gmail.com> Date: Mon, 05 Jan 2009 21:17:09 +0000 From: Dieter Subject: Re: sound for cx88 analog capture X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2009 05:19:01 -0000 > The node number of the dsp* entry will correspond to the number for > the pcm* entry, so /dev/dsp1 should be it. This would be good info to add to the wiki, assuming it isn't already hiding there somewhere already. > Can you try capturing just > the audio: > > cx88 -d /dev/cx88audio0 -x > /usr/local/share/examples/cx88/cx88.xml.sample -c USA:42 > > while simultaneously doing a 'cat /dev/dsp1 > /dev/dsp0'? > > That will be basically the same thing that's happening for the audio > part of the combined video/audio capture. Sound comes out the nforce jack, so it appears the cx88 audio is working. I guess I didn't bungle the /dev entry after all. > > ffmpeg says: > > > > Input #0, oss, from '/dev/dsp1': > > Duration: N/A, start: 1230593138.586555, bitrate: N/A > > Stream #0.0, 1/1000000: Audio: pcm_s16le, 48000 Hz, stereo, 1536 kb/s > > Input #1, rawvideo, from '/tmp/vpipe': > > Duration: N/A, bitrate: N/A > > Stream #1.0, 1001/30000: Video: rawvideo, yuv422p, 640x480, 1001/30000, 29.97 fps(r) > > Output #0, dv, to '/var/tmp/analog.dv': > > Stream #0.0, 1/90000: Video: dvvideo, yuv411p, 720x480, 1001/30000, q=2-31, 200 kb/s, 29.97 fps(c) > > Stream #0.1, 1/90000: Audio: pcm_s16le, 48000 Hz, stereo, 1536 kb/s > > Stream mapping: > > Stream #1.0 -> #0.0 > > Stream #0.0 -> #0.1 > > Press [q] to stop encoding > > frame= 494 fps= 30 q=0.0 size= 57773kB time=16.5 bitrate=28755.7kbits/s dup=0 drop=0 > > ffmpeg seems to think it captured the audio--could it have something > to do with the dv format? Can you try using the MPEG format like the > example on the wiki? The custom ffmpeg binary I usually use doesn't support -f oss so I was trying to use the one from ports. I tried my normal mpeg2ts (from atsc) to dv script except with the ports version of ffmpeg and got no sound. So, it looks like cx88 is fine, I didn't use the wrong /dev entry, and the ports version of ffmpeg is broken. Why am I not surprised... One more question, I don't see anything about how to switch the input from RF to s-video or composite. From owner-freebsd-multimedia@FreeBSD.ORG Tue Jan 6 06:42:00 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E41801065674 for ; Tue, 6 Jan 2009 06:42:00 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from redbull.bpaserver.net (redbullneu.bpaserver.net [213.198.78.217]) by mx1.freebsd.org (Postfix) with ESMTP id 8ED278FC18 for ; Tue, 6 Jan 2009 06:42:00 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from outgoing.leidinger.net (pD9E2CD22.dip.t-dialin.net [217.226.205.34]) by redbull.bpaserver.net (Postfix) with ESMTP id AB4FF2E10F; Tue, 6 Jan 2009 07:25:19 +0100 (CET) Received: from webmail.leidinger.net (webmail.leidinger.net [192.168.1.102]) by outgoing.leidinger.net (Postfix) with ESMTP id 34286577CB; Tue, 6 Jan 2009 07:25:13 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=Leidinger.net; s=outgoing-alex; t=1231223113; bh=nZB6fO2xn0LNQ15k+9O/AR5hjxTyc6fDo n9JBMdU+Lw=; h=Message-ID:Date:From:To:Cc:Subject:References: In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=KR4XRQ6b5Rx3y5vvvuBaeLsrx9yRf9PpaRhC+LyuC2Hy9jjFDaVuCy0RIr2QbdhLU f4qr2V8nkOde/opie2EL0jrUoZZjb8uaJLdHHykp61xaZfeTr9sAcnZz8REx4O6KRpy 9kEt1nqxwFzpRG2IU6+TBVg9aCfFN/r8Wi6/vm1ezQT2pHo6k2+M36XPP4m5O7aukk+ 5WiKqFAxrMwY5AIqkmffBVK6tCUixQ3gOOEm2mlovkyEoTD19Ku7C82O1DJF/zoqVun GTD7y0hQDxb84lC8NPjNck9hudGeg/uNr7mL4/JbT+xEd09W4Np28yXXQmb7xmlQH7C Ej/gNBu2A== Received: (from www@localhost) by webmail.leidinger.net (8.14.3/8.13.8/Submit) id n066PC37068610; Tue, 6 Jan 2009 07:25:12 +0100 (CET) (envelope-from Alexander@Leidinger.net) Received: from pslux.cec.eu.int (pslux.cec.eu.int [158.169.9.14]) by webmail.leidinger.net (Horde Framework) with HTTP; Tue, 06 Jan 2009 07:25:11 +0100 Message-ID: <20090106072511.16463froljaeoy80@webmail.leidinger.net> X-Priority: 3 (Normal) Date: Tue, 06 Jan 2009 07:25:11 +0100 From: Alexander Leidinger To: Alexander Motin References: <49628626.40202@FreeBSD.org> In-Reply-To: <49628626.40202@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable User-Agent: Internet Messaging Program (IMP) H3 (4.3) / FreeBSD-8.0 X-BPAnet-MailScanner-Information: Please contact the ISP for more information X-MailScanner-ID: AB4FF2E10F.77E28 X-BPAnet-MailScanner: Found to be clean X-BPAnet-MailScanner-SpamCheck: not spam, ORDB-RBL, SpamAssassin (not cached, score=-14.823, required 6, BAYES_00 -15.00, DKIM_SIGNED 0.00, DKIM_VERIFIED -0.00, RDNS_DYNAMIC 0.10, TW_SN 0.08) X-BPAnet-MailScanner-From: alexander@leidinger.net X-Spam-Status: No Cc: freebsd-multimedia@FreeBSD.org, freebsd-stable@FreeBSD.org Subject: Re: HEADS UP: snd_hda MFC plan X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2009 06:42:01 -0000 Quoting Alexander Motin (from Tue, 06 Jan 2009 =20 00:13:58 +0200): > On most systems having several devices is not a problem, as mostly =20 > used analog connectors are usually detected first. But on some =20 > systems (for example, having separate HDMI ports on video cards, =20 > which are now also supported and often detected first), user may be =20 > required to explicitly configure his audio applications or by using =20 > hw.snd.default_unit sysctl globally specify default audio device he =20 > wants to use. This moment explicitly specified in updated man page =20 > and I am going to specify it in UPDATING. Is there a way to move those HDMI ports to the end (either in pcmX or =20 in the probing) somehow? If yes, it would be more POLA to do this =20 instead of requiring the users to do something. And related: do all detected analog ports appear in a sensible order? =20 What I mean is again POLA related. If someone updates from 7.1 to 7.2, =20 will he be required to do something to get sound out of the same =20 connector as before when connecting to the default audio device? If =20 not, is it possible for you to introduce some corresponding sorting =20 before MFCing? Bye, Alexander. --=20 The more data I punch in this card, the lighter it becomes, and the lower the mailing cost. =09=09-- Stan Kelly-Bootle, "The Devil's DP Dictionary" http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID =3D B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID =3D 72077137 From owner-freebsd-multimedia@FreeBSD.ORG Tue Jan 6 08:53:20 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7D628106566B for ; Tue, 6 Jan 2009 08:53:20 +0000 (UTC) (envelope-from henry.hu.sh@gmail.com) Received: from yx-out-2324.google.com (yx-out-2324.google.com [74.125.44.30]) by mx1.freebsd.org (Postfix) with ESMTP id 327238FC17 for ; Tue, 6 Jan 2009 08:53:20 +0000 (UTC) (envelope-from henry.hu.sh@gmail.com) Received: by yx-out-2324.google.com with SMTP id 8so3361201yxb.13 for ; Tue, 06 Jan 2009 00:53:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:reply-to :to:subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=YKwxAbp21zJBVBZ6Yo78OvWsGp9e/RO0YbHtxavcjus=; b=GKpbzzfaYnQClTsp11ajCsCy+aY0eZ4ZWPHB5xjdmC3QxxD1Y79DHHjughEAeQ8ihi RzqJ4n9L0vj9a0kcrufbNhEG0HwhsfkfadkNn2vEwWur+FRo/lvTz889y0tfdYZo3mpo eN+rOgLQtbEoLIw3h5zZaIEhvO/0u5mRtrd/M= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:reply-to:to:subject:cc:in-reply-to :mime-version:content-type:content-transfer-encoding :content-disposition:references; b=K1wldIaSBI/N1dMtRhDwy6JAzRWJnDiMQZ3FjTLG14D1RZU9ssVNh6L4hRRw7QW/6/ velHiycMXdcaPHq9ZPrAlTT9otvXP79HFvwu4Ajw5Jkf8xWYY6TX7IG7KFi/f4JgpalQ VeoUIkAQoCtbb5O0GjZOAvkilqFf1C6NFC4Zk= Received: by 10.90.97.18 with SMTP id u18mr5963929agb.103.1231231999534; Tue, 06 Jan 2009 00:53:19 -0800 (PST) Received: by 10.90.101.8 with HTTP; Tue, 6 Jan 2009 00:53:19 -0800 (PST) Message-ID: <53a1e0710901060053w23a562c9q1b91d1b132f44cf8@mail.gmail.com> Date: Tue, 6 Jan 2009 16:53:19 +0800 From: "Henry Hu" To: "Matthias Apitz" In-Reply-To: <20090105102531.GA18251@rebelion.Sisis.de> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <20090105063251.GA3387@rebelion.Sisis.de> <53a1e0710901042326w2abacc3o4aab4577b02f26fc@mail.gmail.com> <20090105081508.GA5152@rebelion.Sisis.de> <20090105101907.lj9p76h1wc4wgokk@0x20.net> <20090105102531.GA18251@rebelion.Sisis.de> Cc: freebsd-multimedia@freebsd.org Subject: Re: teleSUR TV does not work anymore with mplayer X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: hu.henry9@gmail.com List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2009 08:53:20 -0000 You need to set compat.linux.osrelease sysctl to 2.6.x to use the new linux_base. And flash 9 plugins only works with recent 7-stable, as I remember, someone said it should be later than Oct, 2008. On Mon, Jan 5, 2009 at 6:25 PM, Matthias Apitz wrote: > El d=EDa Monday, January 05, 2009 a las 10:19:07AM +0100, Lars Engels esc= ribi=F3: > >> >Thanks for that hint; I'm still on 7.0-STABLE; but I went to >> >/usr/ports/www/linux-flashplugin9 and 'make install' the port; >> >have had to pkg_delete linux-flashplugin-7.0r73; but after this the por= t >> >installed fine; >> > >> >I restarted Konqueror but this now just freezes on any stream, as well >> >from www.youtube.com and others; I'm missing something? >> >> Which linux_base are you using? You should use f7 or f8 with Flash9. > > The installation of emulators/linux_base-f7 failed with: > ... > =3D=3D=3D> Checking if emulators/linux_base-f7 already installed > 242809 blocks > > +++ Some programs may need linprocfs, please add it to /etc/fstab! +++ > > Running linux ldconfig... > FATAL: kernel too old > Segmentation fault (core dumped) > > and ofc later the plugin gives: > > $ nspluginwrapper -v -a -i > Auto-install plugins from /usr/X11R6/lib/browser_plugins > Looking for plugins in /usr/X11R6/lib/browser_plugins > Auto-install plugins from /usr/X11R6/lib/firefox/plugins > Looking for plugins in /usr/X11R6/lib/firefox/plugins > Auto-install plugins from /usr/X11R6/lib/linux-mozilla/plugins > Looking for plugins in /usr/X11R6/lib/linux-mozilla/plugins > FATAL: kernel too old > > I've deinstalled emulators/linux_base-f7 again, which takes away in > parts the base system installed package linux_base-fc-4_10 and I've had > to re-install that again to get other apps (like Skype) working again; > > What is the best update path to get Flash9 working in 7.0? > > matthias > > -- > Matthias Apitz > Manager Technical Support - OCLC GmbH > Gruenwalder Weg 28g - 82041 Oberhaching - Germany > t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211 > e - w http://www.oclc.org/ http://www.UnixArea.= de/ > b http://gurucubano.blogspot.com/ > > SPAMer of the year: Subject: Alle Software ist Deutsche Sprachen >>From: -40 % die Neujahrsaktion > _______________________________________________ > freebsd-multimedia@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia > To unsubscribe, send any mail to "freebsd-multimedia-unsubscribe@freebsd.= org" > From owner-freebsd-multimedia@FreeBSD.ORG Tue Jan 6 09:07:33 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8260E1065687 for ; Tue, 6 Jan 2009 09:07:33 +0000 (UTC) (envelope-from matthias.apitz@oclc.org) Received: from hunter.Sisis.de (hunter.sisis.de [193.31.11.194]) by mx1.freebsd.org (Postfix) with ESMTP id E16388FC0C for ; Tue, 6 Jan 2009 09:07:32 +0000 (UTC) (envelope-from matthias.apitz@oclc.org) Received: (from mail@localhost) by hunter.Sisis.de (8.8.8/8.8.8) id JAA08532; Tue, 6 Jan 2009 09:58:26 +0100 (CET) (envelope-from matthias.apitz@oclc.org) Received: from ppp-62-216-219-45.dynamic.mnet-online.de(62.216.219.45) by hunter.Sisis.de via smap (V2.1) id xma008520; Tue, 6 Jan 09 09:58:04 +0100 Received: (from guru@localhost) by rebelion.Sisis.de (8.14.2/8.13.8/Submit) id n069759B023336; Tue, 6 Jan 2009 10:07:05 +0100 (CET) (envelope-from matthias.apitz@oclc.org) X-Authentication-Warning: rebelion.Sisis.de: guru set sender to matthias.apitz@oclc.org using -f Date: Tue, 6 Jan 2009 10:07:05 +0100 From: Matthias Apitz To: hu.henry9@gmail.com Message-ID: <20090106090705.GA23043@rebelion.Sisis.de> References: <20090105063251.GA3387@rebelion.Sisis.de> <53a1e0710901042326w2abacc3o4aab4577b02f26fc@mail.gmail.com> <20090105081508.GA5152@rebelion.Sisis.de> <20090105101907.lj9p76h1wc4wgokk@0x20.net> <20090105102531.GA18251@rebelion.Sisis.de> <53a1e0710901060053w23a562c9q1b91d1b132f44cf8@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <53a1e0710901060053w23a562c9q1b91d1b132f44cf8@mail.gmail.com> User-Agent: Mutt/1.4.2.3i X-Operating-System: FreeBSD 7.0-RELEASE (i386) Cc: freebsd-multimedia@freebsd.org Subject: Re: teleSUR TV does not work anymore with mplayer X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Matthias Apitz List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2009 09:07:33 -0000 El día Tuesday, January 06, 2009 a las 04:53:19PM +0800, Henry Hu escribió: > You need to set compat.linux.osrelease sysctl to 2.6.x to use the new > linux_base. > And flash 9 plugins only works with recent 7-stable, as I remember, > someone said it should be later than Oct, 2008. OK, thanks for all the hints. My wife goes to visit her family in South-America and I will take the oportunity (without that she knows that :-)) to ugrade her laptop to at least 7.1, portsnap the ports and the kernel even to 7.1-STABLE. Will let you know how it ends up. Thx matthias -- Matthias Apitz Manager Technical Support - OCLC GmbH Gruenwalder Weg 28g - 82041 Oberhaching - Germany t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211 e - w http://www.oclc.org/ http://www.UnixArea.de/ b http://gurucubano.blogspot.com/ SPAMer of the year: Subject: Alle Software ist Deutsche Sprachen >From: -40 % die Neujahrsaktion From owner-freebsd-multimedia@FreeBSD.ORG Tue Jan 6 09:35:03 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 60AE0106564A; Tue, 6 Jan 2009 09:35:03 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from cmail.optima.ua (cmail.optima.ua [195.248.191.121]) by mx1.freebsd.org (Postfix) with ESMTP id A50C18FC17; Tue, 6 Jan 2009 09:35:02 +0000 (UTC) (envelope-from mav@FreeBSD.org) X-Spam-Flag: SKIP X-Spam-Yversion: Spamooborona-2.1.0 Received: from orphanage.alkar.net (account mav@alkar.net [212.86.226.11] verified) by cmail.optima.ua (CommuniGate Pro SMTP 5.2.9) with ESMTPA id 231106763; Tue, 06 Jan 2009 11:25:02 +0200 Message-ID: <4963236D.9050703@FreeBSD.org> Date: Tue, 06 Jan 2009 11:25:01 +0200 From: Alexander Motin User-Agent: Thunderbird 2.0.0.14 (X11/20080612) MIME-Version: 1.0 To: Alexander Leidinger References: <49628626.40202@FreeBSD.org> <20090106072511.16463froljaeoy80@webmail.leidinger.net> In-Reply-To: <20090106072511.16463froljaeoy80@webmail.leidinger.net> X-Enigmail-Version: 0.95.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: freebsd-multimedia@FreeBSD.org, freebsd-stable@FreeBSD.org Subject: Re: HEADS UP: snd_hda MFC plan X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2009 09:35:03 -0000 Alexander Leidinger wrote: > Quoting Alexander Motin (from Tue, 06 Jan 2009 > 00:13:58 +0200): > >> On most systems having several devices is not a problem, as mostly >> used analog connectors are usually detected first. But on some systems >> (for example, having separate HDMI ports on video cards, which are now >> also supported and often detected first), user may be required to >> explicitly configure his audio applications or by using >> hw.snd.default_unit sysctl globally specify default audio device he >> wants to use. This moment explicitly specified in updated man page and >> I am going to specify it in UPDATING. > > Is there a way to move those HDMI ports to the end (either in pcmX or in > the probing) somehow? If yes, it would be more POLA to do this instead > of requiring the users to do something. HDMI ports usually have separate PCI HDA controllers. So order of pcm devices there defined by PCI probe order. Two driver instances know nothing about each other and I don't like the idea of obtaining such knowledge. > And related: do all detected analog ports appear in a sensible order? > What I mean is again POLA related. If someone updates from 7.1 to 7.2, > will he be required to do something to get sound out of the same > connector as before when connecting to the default audio device? If not, > is it possible for you to introduce some corresponding sorting before > MFCing? Order of ports withing one codec defined by hardware vendor via codec configuration done by BIOS. That configuration supposed to be optimal for the specific system. Taking that previous driver ignored most of this information and was less functional, there sure will be some usage differences, but most configurations I have seen are quite reasonable to work just out of the box. -- Alexander Motin From owner-freebsd-multimedia@FreeBSD.ORG Tue Jan 6 09:50:16 2009 Return-Path: Delivered-To: multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 938151065673; Tue, 6 Jan 2009 09:50:16 +0000 (UTC) (envelope-from yanefbsd@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.168]) by mx1.freebsd.org (Postfix) with ESMTP id E667A8FC19; Tue, 6 Jan 2009 09:50:15 +0000 (UTC) (envelope-from yanefbsd@gmail.com) Received: by ug-out-1314.google.com with SMTP id 30so1318927ugs.39 for ; Tue, 06 Jan 2009 01:50:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:mime-version:content-type:content-transfer-encoding :content-disposition; bh=W/lw47HgyyqxcF+Qm0CWMuG1QIK1DoA0bnrMySxn86E=; b=JcQjGs/svMtyD905OnbMe6LIfYuHWPxRttjHbMC9gZlE0MkUX3an4KZTz69pzr5DSm iPLiJha+J0HZ1yyew8/520I9P5dM4sOgC7y5GgfQ3eX1eLN1+FzzcNjqV1cDIEj+PE25 Bn+mMzgLPO7q/TB5CN2zShfBeBO0MV4yesL44= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:mime-version:content-type :content-transfer-encoding:content-disposition; b=x7xZxHEgOsv/HkixxHF5edPYbpkPl7h1AWx4ENQbNryzsR2NzMTXZJHMNMOMOvLq5M /Ogs3BVtmB2K64ZZ2HLwycusahL+ZEW+46VNcroATIriYYE4zBHcsH1PomeswAd1oBDU VXpN6zFww/1LkhvJHKR+ZhPr6Iv4x72Z6lRiA= Received: by 10.67.25.3 with SMTP id c3mr4655064ugj.85.1231235414451; Tue, 06 Jan 2009 01:50:14 -0800 (PST) Received: by 10.67.88.9 with HTTP; Tue, 6 Jan 2009 01:50:14 -0800 (PST) Message-ID: <7d6fde3d0901060150q721167f7jc44a804a1b5c0b48@mail.gmail.com> Date: Tue, 6 Jan 2009 01:50:14 -0800 From: "Garrett Cooper" To: multimedia@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Cc: kris@pcbsd.com, FreeBSD Ports Mailing List Subject: Creative and the X-Fi driver fiasco... X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2009 09:50:17 -0000 Summary: This is just a heads up because there might be some other curious takers like me in the future. Creative is only producing X-Fi cards from now on, and they're quickly deprecating their Soundblaster Audigy line, which means that anyone purchasing Creative cards from here on out will only have the option of X-Fi cards once the Audigy line is completely obsolete. I can definitely attest to the fact that while audio `works' under 8-CURRENT with audio/oss: 1. The line-in and the break out support don't work (I foolishly purchased an X-Fi Fatal1ty Platinum edition and just switched my desktop over from Vista to FreeBSD). 2. Audio under Audacious is ok. 3. Audio in VLC is extremely choppy (skips frames every couple seconds). 4. When playing movies via mplayer, my system hard locks up when the file is finished. Backstory: When I approached Hennu (one of the OSS devs from 4frontend), here was his reply: Garrett Cooper wrote: > Hello folks, > I was reading through Henne's blog, and I was wondering if I could > strike up a deal with you folks. > Current X-Fi support through FreeBSD is nonexistent. With the > audio/oss port I can get proper sound with my X-Fi Fatal1ty card, but > it's still severely crippled (line-in support doesn't work, front > plate support doesn't work). > If it's at all possible, I would be more than happy to commission > someone to finish off the driver for $150 ~ $200, partly because I > know you folks need the funds, I know it would benefit a large > community of developers and opensource platform users, and because I > know there are a lot of users out there apart from me who either have > used, are trying to use, or have thought about using X-Fi on Unix. > As I said before on my comment to your blog, I'm more than happy to > help with rounding up funding from your group in the BSD camp, because > without proper sound support, and the way that the project's focus is > going, I'm unsure whether or not FreeBSD desktop support will remain > viable within the next couple years.. > Unfortunately the situation with X-Fi is that only Creative will be able to develop and maintain fully featured driver for it. The architecture is so complex that it would take about 5 to 15 months to write a proper driver for it. At the same time the features of the card are so lame that I have absolutely no interest to touch it any more. I would recommend that you spend your $150 - $200 on getting a decent sound card that is already supported by OSS. Best regards, Hannu When I approached Creative about driver support, here was their canned reply Dear Garrett, Thank you for contacting Creative Customer Support. With regards to your inquiry, the X-Fi sound card was not designed for opensource OS such as FreeBSD or Linux. There is no official driver or support for X-Fi sound cards but you can refer to the Creative Open Source at http://opensource.creative.com/soundcard.html more assistance. We apologize for any inconvenience, please let us know of we can be of any further assistance. Thank you again for contacting Creative. Best Regards , Jeen Direct Sales Creative Labs Americas - - - Capture Life -- The NEW Creative Vado Pocket Video Cam line-up makes it easy to shoot and share videos. Now in HD! http://us.creative.com/redirect.asp?id=19422 Find Your ZEN -- Award-winning music, video and photo players to suit every lifestyle and budget. http://us.creative.com/redirect.asp?id=19423 Sound Blaster X-Fi for Everyone -- Now available for PCI Express, ExpressCard, PCI and USB. Now everyone can make their movies, music and games sound their best. http://us.creative.com/redirect.asp?id=19424 - - - To provide feedback on your "Creative Experience" please click on the following link: http://www.creativehelp.com/support/contact/welcome.asp?r=CLI&d=DS Original Message Follows: ------------------------ ========================== Subject: CLI - Customer Service Request Name: Garrett Cooper E-mail Address: yanegomi@gmail.com Self Description: Advanced PC User Country: United States of America Inquiry Type: Product suggestion Product Purchased: Detailed Description of Inquiry: Hello Creative Team, I previously purchased 2 X-Fi soundcards and I have since then switched from Vista back to FreeBSD -- my OS platform of choice. There's a semi-working driver available via OSS, but it doesn't enable nearly all of the features that the card has (line-in, front panel, etc). ALSA support doesn't exist under FreeBSD, simply because it's Linux-specific. I'm somewhat disappointed in this fact that this card's line has been out for over 2 years now and yet it still doesn't have working opensource drivers yet. Even ALSA under Linux doesn't work 100% and causes panics right and left. I'm wondering whether or not someone from Creative is going to pursue actually writing a decent driver for the opensource community, or I need to just chuck my card in the trash (mind you, I spent $200 on it, plus $150 on the other one..) because it doesn't work on FreeBSD. Others I'm sure have spent just as much as well. I'm also more than happy to let the community know of the result either way, because people need to know whether hardware vendors are willing to work with them to achieve a working platform solution with their hardware. I would really consider this request for support because X-Fi appears to be the target line for Creative in this day and age, and the Audigy line of Creative cards are slowly, but surely dying out in the market place. Thanks, -Garrett I've asked this question 2 years ago, and I got a similar response -- I was a bit annoyed at the time when I asked last night, so that's part of the curtness and gauntlet throwing behind my original request, because Creative has been providing poor customer support to end-users for years. The Linux folks are incredibly keen on getting device support into their kernel. Do you think we could pool our resources to get this problem solved, either via getting specs, supporting Hannu with OSS, or a reverse engineering effort? I am more than happy to learn and work out the requirements as I now have a worthless piece of hardware -- which is incredibly good -- but still worthless to me for my purposes. And I know I won't be the first one to come across this stumbling block in the future... Thanks, -Garrett From owner-freebsd-multimedia@FreeBSD.ORG Tue Jan 6 14:37:22 2009 Return-Path: Delivered-To: multimedia@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AEE321065670 for ; Tue, 6 Jan 2009 14:37:22 +0000 (UTC) (envelope-from gerald@pfeifer.com) Received: from vexpert.dbai.tuwien.ac.at (vexpert.dbai.tuwien.ac.at [128.131.111.2]) by mx1.freebsd.org (Postfix) with ESMTP id 726B38FC1D for ; Tue, 6 Jan 2009 14:37:22 +0000 (UTC) (envelope-from gerald@pfeifer.com) Received: from acrux.dbai.tuwien.ac.at (acrux [128.131.111.60]) by vexpert.dbai.tuwien.ac.at (Postfix) with ESMTP id 2A2A339114 for ; Tue, 6 Jan 2009 15:19:15 +0100 (CET) Received: by acrux.dbai.tuwien.ac.at (Postfix, from userid 1203) id C2D0010059; Tue, 6 Jan 2009 15:19:17 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by acrux.dbai.tuwien.ac.at (Postfix) with ESMTP id B092D10054 for ; Tue, 6 Jan 2009 15:19:17 +0100 (CET) Date: Tue, 6 Jan 2009 15:19:17 +0100 (CET) From: Gerald Pfeifer To: multimedia@FreeBSD.org Message-ID: User-Agent: Alpine 1.99 (LSU 1142 2008-08-13) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: Subject: devel/liboil and USE_GCC X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2009 14:37:22 -0000 I am in the process of removing lang/gcc41 and would thus like to change USE_GCC=4.1+ to USE_GCC=4.2+ (which is equivalent for those who have installed GCC 4.2 already) in devel/liboil/Makefile. (Not sure how approval works when the maintainer is a mailing list, but let's see... ;-) Gerald Index: Makefile =================================================================== RCS file: /home/ncvs/ports/devel/liboil/Makefile,v retrieving revision 1.34 diff -u -3 -p -r1.34 Makefile --- Makefile 5 Jan 2009 19:43:50 -0000 1.34 +++ Makefile 6 Jan 2009 14:17:35 -0000 @@ -24,7 +24,7 @@ CFLAGS:= ${CFLAGS:N-O*} -O2 .include .if defined(WITH_3DNOW_GCC40) && ${OSVERSION} < 700042 -USE_GCC= 4.1+ +USE_GCC= 4.2+ RUN_DEPENDS+= ${BUILD_DEPENDS} .endif From owner-freebsd-multimedia@FreeBSD.ORG Tue Jan 6 14:37:55 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DF0921065670; Tue, 6 Jan 2009 14:37:54 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from redbull.bpaserver.net (redbullneu.bpaserver.net [213.198.78.217]) by mx1.freebsd.org (Postfix) with ESMTP id 687888FC0C; Tue, 6 Jan 2009 14:37:54 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from outgoing.leidinger.net (pD9E2CD22.dip.t-dialin.net [217.226.205.34]) by redbull.bpaserver.net (Postfix) with ESMTP id CFDEA2E272; Tue, 6 Jan 2009 15:37:44 +0100 (CET) Received: from webmail.leidinger.net (webmail.leidinger.net [192.168.1.102]) by outgoing.leidinger.net (Postfix) with ESMTP id 5E9B412F822; Tue, 6 Jan 2009 15:37:31 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=Leidinger.net; s=outgoing-alex; t=1231252652; bh=9U7Yzk7LCbTnba8ew/iYUWcB3v8r3Ga+V SW5BzRQkCg=; h=Message-ID:Date:From:To:Cc:Subject:References: In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=2tgUt4bLOVnqnevWcnc5Cgfq53KzUkdu2YHVMrD+bbR/2cd+rSqN74+XYHUOLncQD ffXy8BBjYoePt1hD97J2ZfNPl5ZZ1k1ZGG4kTa/lXdK4TtrVhHg3r22fIt6HeATJwPX UptD+ugHyjVal5G2dF93/gDtK4IIk0dbWHTm/gCXW3+SqVFd3AxqgmU2Kb61NPCnxah GDtfKq0djgK2dH3lWLuYFxPZuPd1qQ14RtBvpCqI8ulKoMDrymkVXEe5vOXqMDPSvCv 1QkOiwv7arLVsszbS4hxZD4waP6kdXUK4+mjnIE+GoG+vLd9oddwuKNg4sLjlGUqSYz cGOMuCazA== Received: (from www@localhost) by webmail.leidinger.net (8.14.3/8.13.8/Submit) id n06EbRof048217; Tue, 6 Jan 2009 15:37:27 +0100 (CET) (envelope-from Alexander@Leidinger.net) Received: from pslux.cec.eu.int (pslux.cec.eu.int [158.169.9.14]) by webmail.leidinger.net (Horde Framework) with HTTP; Tue, 06 Jan 2009 15:37:25 +0100 Message-ID: <20090106153725.10034o5c6ymot4m8@webmail.leidinger.net> X-Priority: 3 (Normal) Date: Tue, 06 Jan 2009 15:37:25 +0100 From: Alexander Leidinger To: Alexander Motin References: <49628626.40202@FreeBSD.org> <20090106072511.16463froljaeoy80@webmail.leidinger.net> <4963236D.9050703@FreeBSD.org> In-Reply-To: <4963236D.9050703@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable User-Agent: Internet Messaging Program (IMP) H3 (4.3) / FreeBSD-8.0 X-BPAnet-MailScanner-Information: Please contact the ISP for more information X-MailScanner-ID: CFDEA2E272.5DD94 X-BPAnet-MailScanner: Found to be clean X-BPAnet-MailScanner-SpamCheck: not spam, ORDB-RBL, SpamAssassin (not cached, score=-14.823, required 6, BAYES_00 -15.00, DKIM_SIGNED 0.00, DKIM_VERIFIED -0.00, RDNS_DYNAMIC 0.10, TW_SN 0.08) X-BPAnet-MailScanner-From: alexander@leidinger.net X-Spam-Status: No Cc: freebsd-multimedia@FreeBSD.org, freebsd-stable@FreeBSD.org Subject: Re: HEADS UP: snd_hda MFC plan X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2009 14:37:55 -0000 Quoting Alexander Motin (from Tue, 06 Jan 2009 =20 11:25:01 +0200): > Alexander Leidinger wrote: >> Quoting Alexander Motin (from Tue, 06 Jan 2009 >> 00:13:58 +0200): >> >>> On most systems having several devices is not a problem, as mostly >>> used analog connectors are usually detected first. But on some systems >>> (for example, having separate HDMI ports on video cards, which are now >>> also supported and often detected first), user may be required to >>> explicitly configure his audio applications or by using >>> hw.snd.default_unit sysctl globally specify default audio device he >>> wants to use. This moment explicitly specified in updated man page and >>> I am going to specify it in UPDATING. >> >> Is there a way to move those HDMI ports to the end (either in pcmX or in >> the probing) somehow? If yes, it would be more POLA to do this instead >> of requiring the users to do something. > > HDMI ports usually have separate PCI HDA controllers. So order of pcm > devices there defined by PCI probe order. Two driver instances know > nothing about each other and I don't like the idea of obtaining such > knowledge. I agree... so we don't have a return value for the probe which =20 basically tells that we want to see the probe called for this device =20 again, after all other devices where probed? Would be useful here. If this is not possible, I think we need something in the release =20 notes about this. Maybe "The snd_hda driver now supports HDMI audio =20 ports of graphic cards. This may result in additional audio devices =20 after an update from 7.[01] and even replacing the previous default =20 sound device. To change the default device in this case do ...." >> And related: do all detected analog ports appear in a sensible order? >> What I mean is again POLA related. If someone updates from 7.1 to 7.2, >> will he be required to do something to get sound out of the same >> connector as before when connecting to the default audio device? If not, >> is it possible for you to introduce some corresponding sorting before >> MFCing? > > Order of ports withing one codec defined by hardware vendor via codec > configuration done by BIOS. That configuration supposed to be optimal > for the specific system. Taking that previous driver ignored most of > this information and was less functional, there sure will be some usage > differences, but most configurations I have seen are quite reasonable to > work just out of the box. Should be mentioned in the release notes too. There's the possibility =20 that an user get's a different default device, so we should be able to =20 say "we told you so even in the release notes". Bye, Alexander. --=20 But it does move! =09=09-- Galileo Galilei http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID =3D B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID =3D 72077137 From owner-freebsd-multimedia@FreeBSD.ORG Tue Jan 6 18:03:32 2009 Return-Path: Delivered-To: multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0407106566C for ; Tue, 6 Jan 2009 18:03:32 +0000 (UTC) (envelope-from buhnux@gmail.com) Received: from mail-fx0-f11.google.com (mail-fx0-f11.google.com [209.85.220.11]) by mx1.freebsd.org (Postfix) with ESMTP id E64E08FC24 for ; Tue, 6 Jan 2009 18:03:31 +0000 (UTC) (envelope-from buhnux@gmail.com) Received: by fxm4 with SMTP id 4so1466869fxm.19 for ; Tue, 06 Jan 2009 10:03:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:cc:in-reply-to:mime-version:content-type:references :x-google-sender-auth; bh=EzBeKEOuCWmOE1xIx8eBlQ7Lb2jIHTeiKAsSNK8nj3Y=; b=JHPZhtjEtII7WLZ7S5rHX2/d2TbuyTJ3s7Bp45VMVLvRhNDCMRIe2uTluFaOfdMBQF LbjHJFT6x0kCyFYbP6OKAxwX4thfUaye47rLTC+Oy/Q8JB+wvXIcCt4tM4Hk459V6/y0 wsipRYuROOcgAM5FW8+b2MHoyyaryrzHpn2I4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version :content-type:references:x-google-sender-auth; b=GUVEdqzwPI64ji5vrRvIYwjvpyDmlwaLGebWM6YgLYZZ2EfiJ6gfmo0jJyond3OxM8 wMeRclIpJOASymgIciTNun2Sk+ym56HW+PcerY14olLkLnRU9KiBVkovhuMOdW2kSEEK GnD6kxpZWN55hsPgRLAf9SJ1RoIB93zMOVlHo= Received: by 10.181.135.5 with SMTP id m5mr8554849bkn.171.1231263320635; Tue, 06 Jan 2009 09:35:20 -0800 (PST) Received: by 10.181.151.20 with HTTP; Tue, 6 Jan 2009 09:35:20 -0800 (PST) Message-ID: Date: Tue, 6 Jan 2009 11:35:20 -0600 From: "Michael Johnson" Sender: buhnux@gmail.com To: "Gerald Pfeifer" In-Reply-To: MIME-Version: 1.0 References: X-Google-Sender-Auth: 81830c38b57abcce Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: multimedia@freebsd.org Subject: Re: devel/liboil and USE_GCC X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2009 18:03:33 -0000 Please go ahead with it, thanks! On Tue, Jan 6, 2009 at 8:19 AM, Gerald Pfeifer wrote: > I am in the process of removing lang/gcc41 and would thus like to > change USE_GCC=4.1+ to USE_GCC=4.2+ (which is equivalent for those > who have installed GCC 4.2 already) in devel/liboil/Makefile. > > (Not sure how approval works when the maintainer is a mailing list, > but let's see... ;-) > > Gerald > > Index: Makefile > =================================================================== > RCS file: /home/ncvs/ports/devel/liboil/Makefile,v > retrieving revision 1.34 > diff -u -3 -p -r1.34 Makefile > --- Makefile 5 Jan 2009 19:43:50 -0000 1.34 > +++ Makefile 6 Jan 2009 14:17:35 -0000 > @@ -24,7 +24,7 @@ CFLAGS:= ${CFLAGS:N-O*} -O2 > .include > > .if defined(WITH_3DNOW_GCC40) && ${OSVERSION} < 700042 > -USE_GCC= 4.1+ > +USE_GCC= 4.2+ > RUN_DEPENDS+= ${BUILD_DEPENDS} > .endif > > _______________________________________________ > freebsd-multimedia@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia > To unsubscribe, send any mail to " > freebsd-multimedia-unsubscribe@freebsd.org" > From owner-freebsd-multimedia@FreeBSD.ORG Tue Jan 6 18:38:48 2009 Return-Path: Delivered-To: multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7E9B2106566C for ; Tue, 6 Jan 2009 18:38:48 +0000 (UTC) (envelope-from gerald@pfeifer.com) Received: from vexpert.dbai.tuwien.ac.at (vexpert.dbai.tuwien.ac.at [128.131.111.2]) by mx1.freebsd.org (Postfix) with ESMTP id 2DF0C8FC12 for ; Tue, 6 Jan 2009 18:38:48 +0000 (UTC) (envelope-from gerald@pfeifer.com) Received: from acrux.dbai.tuwien.ac.at (acrux [128.131.111.60]) by vexpert.dbai.tuwien.ac.at (Postfix) with ESMTP id 345FE39104; Tue, 6 Jan 2009 19:38:47 +0100 (CET) Received: by acrux.dbai.tuwien.ac.at (Postfix, from userid 1203) id 42E9710059; Tue, 6 Jan 2009 19:38:50 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by acrux.dbai.tuwien.ac.at (Postfix) with ESMTP id 2EBD810054; Tue, 6 Jan 2009 19:38:51 +0100 (CET) Date: Tue, 6 Jan 2009 19:38:51 +0100 (CET) From: Gerald Pfeifer To: Michael Johnson In-Reply-To: Message-ID: References: User-Agent: Alpine 1.99 (LSU 1142 2008-08-13) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: multimedia@freebsd.org Subject: Re: devel/liboil and USE_GCC X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2009 18:38:48 -0000 On Tue, 6 Jan 2009, Michael Johnson wrote: > Please go ahead with it, thanks! Thanks for the quick response! Committed. Gerald From owner-freebsd-multimedia@FreeBSD.ORG Wed Jan 7 15:30:04 2009 Return-Path: Delivered-To: freebsd-multimedia@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9F198106566C for ; Wed, 7 Jan 2009 15:30:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 8C1BF8FC1A for ; Wed, 7 Jan 2009 15:30:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n07FU4kU067990 for ; Wed, 7 Jan 2009 15:30:04 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n07FU4J2067986; Wed, 7 Jan 2009 15:30:04 GMT (envelope-from gnats) Date: Wed, 7 Jan 2009 15:30:04 GMT Message-Id: <200901071530.n07FU4J2067986@freefall.freebsd.org> To: freebsd-multimedia@FreeBSD.org From: dfilter@FreeBSD.ORG (dfilter service) Cc: Subject: Re: kern/119181: commit references a PR X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: dfilter service List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jan 2009 15:30:04 -0000 The following reply was made to PR kern/119181; it has been noted by GNATS. From: dfilter@FreeBSD.ORG (dfilter service) To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/119181: commit references a PR Date: Wed, 7 Jan 2009 15:29:05 +0000 (UTC) Author: mav Date: Wed Jan 7 15:28:47 2009 New Revision: 186862 URL: http://svn.freebsd.org/changeset/base/186862 Log: Merge updated snd_hda driver version 20081226_0122 from CURRENT. This update gives: - multiple codec per HDA bus support; - multiple functional groups per codec support; - multiple audio devices per functional group support; - digital (SPDIF/HDMI) audio input/output support; - better UAA specification compliance with wide configureability; - headphones redirection controlled by UAA configuration instead of quirks; - improved codec parser, that gives working playback and recording with all of the long list of tested codecs and systems; - suspend/resume support; - part of multichannel audio support (requires OSS improvement to be used); Note, that due to added HDMI audio and logical audio devices support, updated driver often provides several PCM devices. In some cases it can make system default audio device no longer corresponding to the users's habbitual audio connectors. In such cases wanted device can be specified in audio application setup or defined globally via hw.snd.default_unit sysctl according to sound(4) man page. Additional information information about driver operation can be obtained from the updated man page and verbose boot messages. PR: kern/119181, kern/120144, kern/117599, kern/117729, kern/119671, kern/124645, kern/125822, kern/126217, kern/127105 Modified: stable/7/sys/dev/sound/pci/hda/hda_reg.h stable/7/sys/dev/sound/pci/hda/hdac.c stable/7/sys/dev/sound/pci/hda/hdac_private.h Modified: stable/7/sys/dev/sound/pci/hda/hda_reg.h ============================================================================== --- stable/7/sys/dev/sound/pci/hda/hda_reg.h Wed Jan 7 14:00:44 2009 (r186861) +++ stable/7/sys/dev/sound/pci/hda/hda_reg.h Wed Jan 7 15:28:47 2009 (r186862) @@ -180,13 +180,14 @@ HDA_CMD_VERB_SET_CONV_FMT, (payload))) /* Digital Converter Control */ -#define HDA_CMD_VERB_GET_DIGITAL_CONV_FMT 0xf0d +#define HDA_CMD_VERB_GET_DIGITAL_CONV_FMT1 0xf0d +#define HDA_CMD_VERB_GET_DIGITAL_CONV_FMT2 0xf0e #define HDA_CMD_VERB_SET_DIGITAL_CONV_FMT1 0x70d #define HDA_CMD_VERB_SET_DIGITAL_CONV_FMT2 0x70e #define HDA_CMD_GET_DIGITAL_CONV_FMT(cad, nid) \ (HDA_CMD_12BIT((cad), (nid), \ - HDA_CMD_VERB_GET_DIGITAL_CONV_FMTT, 0x0)) + HDA_CMD_VERB_GET_DIGITAL_CONV_FMT1, 0x0)) #define HDA_CMD_SET_DIGITAL_CONV_FMT1(cad, nid, payload) \ (HDA_CMD_12BIT((cad), (nid), \ HDA_CMD_VERB_SET_DIGITAL_CONV_FMT1, (payload))) @@ -1034,7 +1035,7 @@ HDA_PARAM_PIN_CAP_HEADPHONE_CAP_SHIFT) #define HDA_PARAM_PIN_CAP_PRESENCE_DETECT_CAP(param) \ (((param) & HDA_PARAM_PIN_CAP_PRESENCE_DETECT_CAP_MASK) >> \ - HDA_PARAM_PIN_CAP_PRESENCE_DETECT_CAP_MASK) + HDA_PARAM_PIN_CAP_PRESENCE_DETECT_CAP_SHIFT) #define HDA_PARAM_PIN_CAP_TRIGGER_REQD(param) \ (((param) & HDA_PARAM_PIN_CAP_TRIGGER_REQD_MASK) >> \ HDA_PARAM_PIN_CAP_TRIGGER_REQD_SHIFT) @@ -1193,14 +1194,47 @@ HDA_PARAM_VOLUME_KNOB_CAP_NUM_STEPS_SHIFT) -#define HDA_CONFIG_DEFAULTCONF_SEQUENCE_MASK 0x00000000f -#define HDA_CONFIG_DEFAULTCONF_ASSOCIATION_MASK 0x0000000f0 -#define HDA_CONFIG_DEFAULTCONF_MISC_MASK 0x000000f00 -#define HDA_CONFIG_DEFAULTCONF_COLOR_MASK 0x00000f000 -#define HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_MASK 0x000f00000 -#define HDA_CONFIG_DEFAULTCONF_DEVICE_MASK 0x000f00000 -#define HDA_CONFIG_DEFAULTCONF_LOCATION_MASK 0x03f000000 -#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK 0x0c0000000 +#define HDA_CONFIG_DEFAULTCONF_SEQUENCE_MASK 0x0000000f +#define HDA_CONFIG_DEFAULTCONF_SEQUENCE_SHIFT 0 +#define HDA_CONFIG_DEFAULTCONF_ASSOCIATION_MASK 0x000000f0 +#define HDA_CONFIG_DEFAULTCONF_ASSOCIATION_SHIFT 4 +#define HDA_CONFIG_DEFAULTCONF_MISC_MASK 0x00000f00 +#define HDA_CONFIG_DEFAULTCONF_MISC_SHIFT 8 +#define HDA_CONFIG_DEFAULTCONF_COLOR_MASK 0x0000f000 +#define HDA_CONFIG_DEFAULTCONF_COLOR_SHIFT 12 +#define HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_MASK 0x000f0000 +#define HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_SHIFT 16 +#define HDA_CONFIG_DEFAULTCONF_DEVICE_MASK 0x00f00000 +#define HDA_CONFIG_DEFAULTCONF_DEVICE_SHIFT 20 +#define HDA_CONFIG_DEFAULTCONF_LOCATION_MASK 0x3f000000 +#define HDA_CONFIG_DEFAULTCONF_LOCATION_SHIFT 24 +#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK 0xc0000000 +#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_SHIFT 30 + +#define HDA_CONFIG_DEFAULTCONF_SEQUENCE(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_SEQUENCE_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_SEQUENCE_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_ASSOCIATION(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_ASSOCIATION_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_ASSOCIATION_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_MISC(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_MISC_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_MISC_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_COLOR(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_COLOR_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_COLOR_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_DEVICE(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_DEVICE_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_DEVICE_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_LOCATION(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_LOCATION_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_LOCATION_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_SHIFT) #define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_JACK (0<<30) #define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_NONE (1<<30) Modified: stable/7/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- stable/7/sys/dev/sound/pci/hda/hdac.c Wed Jan 7 14:00:44 2009 (r186861) +++ stable/7/sys/dev/sound/pci/hda/hdac.c Wed Jan 7 15:28:47 2009 (r186862) @@ -1,6 +1,7 @@ /*- * Copyright (c) 2006 Stephane E. Potvin * Copyright (c) 2006 Ariff Abdullah + * Copyright (c) 2008 Alexander Motin * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -61,6 +62,7 @@ * * Daniel Eischen * * * Maxime Guillaud * * * Ariff Abdullah * + * * Alexander Motin * * * * * * ....and various people from freebsd-multimedia@FreeBSD.org * * * * @@ -81,8 +83,7 @@ #include "mixer_if.h" -#define HDA_DRV_TEST_REV "20080420_0052" -#define HDA_WIDGET_PARSER_REV 1 +#define HDA_DRV_TEST_REV "20081226_0122" SND_DECLARE_FILE("$FreeBSD$"); @@ -92,6 +93,12 @@ SND_DECLARE_FILE("$FreeBSD$"); } \ } while(0) +#define HDA_BOOTHVERBOSE(stmt) do { \ + if (snd_verbose > 3) { \ + stmt \ + } \ +} while(0) + #if 1 #undef HDAC_INTR_EXTRA #define HDAC_INTR_EXTRA 1 @@ -141,6 +148,8 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_INTEL_82801G HDA_MODEL_CONSTRUCT(INTEL, 0x27d8) #define HDA_INTEL_82801H HDA_MODEL_CONSTRUCT(INTEL, 0x284b) #define HDA_INTEL_82801I HDA_MODEL_CONSTRUCT(INTEL, 0x293e) +#define HDA_INTEL_82801J HDA_MODEL_CONSTRUCT(INTEL, 0x3a3e) +#define HDA_INTEL_SCH HDA_MODEL_CONSTRUCT(INTEL, 0x811b) #define HDA_INTEL_ALL HDA_MODEL_CONSTRUCT(INTEL, 0xffff) /* Nvidia */ @@ -153,6 +162,16 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_NVIDIA_MCP65_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x044b) #define HDA_NVIDIA_MCP67_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x055c) #define HDA_NVIDIA_MCP67_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x055d) +#define HDA_NVIDIA_MCP78_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0774) +#define HDA_NVIDIA_MCP78_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0775) +#define HDA_NVIDIA_MCP78_3 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0776) +#define HDA_NVIDIA_MCP78_4 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0777) +#define HDA_NVIDIA_MCP73_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x07fc) +#define HDA_NVIDIA_MCP73_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x07fd) +#define HDA_NVIDIA_MCP79_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac0) +#define HDA_NVIDIA_MCP79_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac1) +#define HDA_NVIDIA_MCP79_3 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac2) +#define HDA_NVIDIA_MCP79_4 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac3) #define HDA_NVIDIA_ALL HDA_MODEL_CONSTRUCT(NVIDIA, 0xffff) /* ATI */ @@ -171,6 +190,11 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_SIS_966 HDA_MODEL_CONSTRUCT(SIS, 0x7502) #define HDA_SIS_ALL HDA_MODEL_CONSTRUCT(SIS, 0xffff) +/* ULI */ +#define ULI_VENDORID 0x10b9 +#define HDA_ULI_M5461 HDA_MODEL_CONSTRUCT(ULI, 0x5461) +#define HDA_ULI_ALL HDA_MODEL_CONSTRUCT(ULI, 0xffff) + /* OEM/subvendors */ /* Intel */ @@ -195,6 +219,7 @@ SND_DECLARE_FILE("$FreeBSD$"); #define DELL_VENDORID 0x1028 #define DELL_D630_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01f9) #define DELL_D820_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01cc) +#define DELL_V1400_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0227) #define DELL_V1500_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0228) #define DELL_I1300_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01c9) #define DELL_XPSM1210_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01d7) @@ -213,6 +238,7 @@ SND_DECLARE_FILE("$FreeBSD$"); #define ACER_A4710_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x012f) #define ACER_A4715_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0133) #define ACER_3681WXM_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0110) +#define ACER_T6292_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x011b) #define ACER_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0xffff) /* Asus */ @@ -260,6 +286,11 @@ SND_DECLARE_FILE("$FreeBSD$"); #define APPLE_VENDORID 0x106b #define APPLE_MB3_SUBVENDOR HDA_MODEL_CONSTRUCT(APPLE, 0x00a1) +/* Sony */ +#define SONY_VENDORID 0x104d +#define SONY_S5_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0x81cc) +#define SONY_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0xffff) + /* * Apple Intel MacXXXX seems using Sigmatel codec/vendor id * instead of their own, which is beyond my comprehension @@ -308,6 +339,7 @@ SND_DECLARE_FILE("$FreeBSD$"); /* Misc constants.. */ +#define HDA_AMP_VOL_DEFAULT (-1) #define HDA_AMP_MUTE_DEFAULT (0xffffffff) #define HDA_AMP_MUTE_NONE (0) #define HDA_AMP_MUTE_LEFT (1 << 0) @@ -317,16 +349,10 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_AMP_LEFT_MUTED(v) ((v) & (HDA_AMP_MUTE_LEFT)) #define HDA_AMP_RIGHT_MUTED(v) (((v) & HDA_AMP_MUTE_RIGHT) >> 1) -#define HDA_DAC_PATH (1 << 0) -#define HDA_ADC_PATH (1 << 1) -#define HDA_ADC_RECSEL (1 << 2) - -#define HDA_DAC_LOCKED (1 << 3) -#define HDA_ADC_LOCKED (1 << 4) - -#define HDA_CTL_OUT (1 << 0) -#define HDA_CTL_IN (1 << 1) -#define HDA_CTL_BOTH (HDA_CTL_IN | HDA_CTL_OUT) +#define HDA_ADC_MONITOR (1 << 0) + +#define HDA_CTL_OUT 1 +#define HDA_CTL_IN 2 #define HDA_GPIO_MAX 8 /* 0 - 7 = GPIO , 8 = Flush */ @@ -346,6 +372,7 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_QUIRK_FORCESTEREO (1 << 11) #define HDA_QUIRK_EAPDINV (1 << 12) #define HDA_QUIRK_DMAPOS (1 << 13) +#define HDA_QUIRK_SENSEINV (1 << 14) /* 26 - 31 = vrefs */ #define HDA_QUIRK_IVREF50 (1 << 26) @@ -361,9 +388,6 @@ SND_DECLARE_FILE("$FreeBSD$"); HDA_QUIRK_OVREF100) #define HDA_QUIRK_VREF (HDA_QUIRK_IVREF | HDA_QUIRK_OVREF) -#define SOUND_MASK_SKIP (1 << 30) -#define SOUND_MASK_DISABLE (1 << 31) - #if __FreeBSD_version < 600000 #define taskqueue_drain(...) #endif @@ -386,6 +410,7 @@ static const struct { { "forcestereo", HDA_QUIRK_FORCESTEREO }, { "eapdinv", HDA_QUIRK_EAPDINV }, { "dmapos", HDA_QUIRK_DMAPOS }, + { "senseinv", HDA_QUIRK_SENSEINV }, { "ivref50", HDA_QUIRK_IVREF50 }, { "ivref80", HDA_QUIRK_IVREF80 }, { "ivref100", HDA_QUIRK_IVREF100 }, @@ -413,14 +438,18 @@ static const struct { #define HDA_PARSE_MAXDEPTH 10 #define HDAC_UNSOLTAG_EVENT_HP 0x00 -#define HDAC_UNSOLTAG_EVENT_TEST 0x01 MALLOC_DEFINE(M_HDAC, "hdac", "High Definition Audio Controller"); -enum { - HDA_PARSE_MIXER, - HDA_PARSE_DIRECT -}; +const char *HDA_COLORS[16] = {"Unknown", "Black", "Grey", "Blue", "Green", "Red", + "Orange", "Yellow", "Purple", "Pink", "Res.A", "Res.B", "Res.C", "Res.D", + "White", "Other"}; + +const char *HDA_DEVS[16] = {"Line-out", "Speaker", "Headphones", "CD", + "SPDIF-out", "Digital-out", "Modem-line", "Modem-handset", "Line-in", + "AUX", "Mic", "Telephony", "SPDIF-in", "Digital-in", "Res.E", "Other"}; + +const char *HDA_CONNS[4] = {"Jack", "None", "Fixed", "Both"}; /* Default */ static uint32_t hdac_fmt[] = { @@ -439,6 +468,8 @@ static const struct { { HDA_INTEL_82801G, "Intel 82801G" }, { HDA_INTEL_82801H, "Intel 82801H" }, { HDA_INTEL_82801I, "Intel 82801I" }, + { HDA_INTEL_82801J, "Intel 82801J" }, + { HDA_INTEL_SCH, "Intel SCH" }, { HDA_NVIDIA_MCP51, "NVidia MCP51" }, { HDA_NVIDIA_MCP55, "NVidia MCP55" }, { HDA_NVIDIA_MCP61_1, "NVidia MCP61" }, @@ -447,16 +478,28 @@ static const struct { { HDA_NVIDIA_MCP65_2, "NVidia MCP65" }, { HDA_NVIDIA_MCP67_1, "NVidia MCP67" }, { HDA_NVIDIA_MCP67_2, "NVidia MCP67" }, + { HDA_NVIDIA_MCP73_1, "NVidia MCP73" }, + { HDA_NVIDIA_MCP73_2, "NVidia MCP73" }, + { HDA_NVIDIA_MCP78_1, "NVidia MCP78" }, + { HDA_NVIDIA_MCP78_2, "NVidia MCP78" }, + { HDA_NVIDIA_MCP78_3, "NVidia MCP78" }, + { HDA_NVIDIA_MCP78_4, "NVidia MCP78" }, + { HDA_NVIDIA_MCP79_1, "NVidia MCP79" }, + { HDA_NVIDIA_MCP79_2, "NVidia MCP79" }, + { HDA_NVIDIA_MCP79_3, "NVidia MCP79" }, + { HDA_NVIDIA_MCP79_4, "NVidia MCP79" }, { HDA_ATI_SB450, "ATI SB450" }, { HDA_ATI_SB600, "ATI SB600" }, { HDA_VIA_VT82XX, "VIA VT8251/8237A" }, { HDA_SIS_966, "SiS 966" }, + { HDA_ULI_M5461, "ULI M5461" }, /* Unknown */ { HDA_INTEL_ALL, "Intel (Unknown)" }, { HDA_NVIDIA_ALL, "NVidia (Unknown)" }, { HDA_ATI_ALL, "ATI (Unknown)" }, { HDA_VIA_ALL, "VIA (Unknown)" }, { HDA_SIS_ALL, "SiS (Unknown)" }, + { HDA_ULI_ALL, "ULI (Unknown)" }, }; #define HDAC_DEVICES_LEN (sizeof(hdac_devices) / sizeof(hdac_devices[0])) @@ -526,8 +569,13 @@ static const struct { #define REALTEK_VENDORID 0x10ec #define HDA_CODEC_ALC260 HDA_CODEC_CONSTRUCT(REALTEK, 0x0260) #define HDA_CODEC_ALC262 HDA_CODEC_CONSTRUCT(REALTEK, 0x0262) +#define HDA_CODEC_ALC267 HDA_CODEC_CONSTRUCT(REALTEK, 0x0267) #define HDA_CODEC_ALC268 HDA_CODEC_CONSTRUCT(REALTEK, 0x0268) +#define HDA_CODEC_ALC269 HDA_CODEC_CONSTRUCT(REALTEK, 0x0269) +#define HDA_CODEC_ALC272 HDA_CODEC_CONSTRUCT(REALTEK, 0x0272) #define HDA_CODEC_ALC660 HDA_CODEC_CONSTRUCT(REALTEK, 0x0660) +#define HDA_CODEC_ALC662 HDA_CODEC_CONSTRUCT(REALTEK, 0x0662) +#define HDA_CODEC_ALC663 HDA_CODEC_CONSTRUCT(REALTEK, 0x0663) #define HDA_CODEC_ALC861 HDA_CODEC_CONSTRUCT(REALTEK, 0x0861) #define HDA_CODEC_ALC861VD HDA_CODEC_CONSTRUCT(REALTEK, 0x0862) #define HDA_CODEC_ALC880 HDA_CODEC_CONSTRUCT(REALTEK, 0x0880) @@ -535,16 +583,26 @@ static const struct { #define HDA_CODEC_ALC883 HDA_CODEC_CONSTRUCT(REALTEK, 0x0883) #define HDA_CODEC_ALC885 HDA_CODEC_CONSTRUCT(REALTEK, 0x0885) #define HDA_CODEC_ALC888 HDA_CODEC_CONSTRUCT(REALTEK, 0x0888) +#define HDA_CODEC_ALC889 HDA_CODEC_CONSTRUCT(REALTEK, 0x0889) #define HDA_CODEC_ALCXXXX HDA_CODEC_CONSTRUCT(REALTEK, 0xffff) /* Analog Devices */ #define ANALOGDEVICES_VENDORID 0x11d4 +#define HDA_CODEC_AD1884A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x184a) +#define HDA_CODEC_AD1882 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1882) +#define HDA_CODEC_AD1883 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1883) +#define HDA_CODEC_AD1884 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1884) +#define HDA_CODEC_AD1984A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194a) +#define HDA_CODEC_AD1984B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194b) #define HDA_CODEC_AD1981HD HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1981) #define HDA_CODEC_AD1983 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1983) #define HDA_CODEC_AD1984 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1984) #define HDA_CODEC_AD1986A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1986) +#define HDA_CODEC_AD1987 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1987) #define HDA_CODEC_AD1988 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1988) #define HDA_CODEC_AD1988B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x198b) +#define HDA_CODEC_AD1882A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x882a) +#define HDA_CODEC_AD1989B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x989b) #define HDA_CODEC_ADXXXX HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0xffff) /* CMedia */ @@ -554,29 +612,77 @@ static const struct { /* Sigmatel */ #define SIGMATEL_VENDORID 0x8384 +#define HDA_CODEC_STAC9230X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7612) +#define HDA_CODEC_STAC9230D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7613) +#define HDA_CODEC_STAC9229X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7614) +#define HDA_CODEC_STAC9229D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7615) +#define HDA_CODEC_STAC9228X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7616) +#define HDA_CODEC_STAC9228D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7617) +#define HDA_CODEC_STAC9227X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7618) +#define HDA_CODEC_STAC9227D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7619) +#define HDA_CODEC_STAC9274 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7620) +#define HDA_CODEC_STAC9274D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7621) +#define HDA_CODEC_STAC9273X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7622) +#define HDA_CODEC_STAC9273D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7623) +#define HDA_CODEC_STAC9272X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7624) +#define HDA_CODEC_STAC9272D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7625) +#define HDA_CODEC_STAC9271X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7626) +#define HDA_CODEC_STAC9271D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7627) +#define HDA_CODEC_STAC9274X5NH HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7628) +#define HDA_CODEC_STAC9274D5NH HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7629) +#define HDA_CODEC_STAC9250 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7634) +#define HDA_CODEC_STAC9251 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7636) +#define HDA_CODEC_IDT92HD700X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7638) +#define HDA_CODEC_IDT92HD700D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7639) +#define HDA_CODEC_IDT92HD206X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7645) +#define HDA_CODEC_IDT92HD206D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7646) +#define HDA_CODEC_STAC9872AK HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7662) #define HDA_CODEC_STAC9221 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7680) +#define HDA_CODEC_STAC922XD HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7681) +#define HDA_CODEC_STAC9221_A2 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7682) #define HDA_CODEC_STAC9221D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7683) #define HDA_CODEC_STAC9220 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7690) -#define HDA_CODEC_STAC922XD HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7681) -#define HDA_CODEC_STAC9227 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7618) -#define HDA_CODEC_STAC9271D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7627) -#define HDA_CODEC_STAC9205 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a0) -#define HDA_CODEC_STAC9872AK HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7662) +#define HDA_CODEC_STAC9200D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7691) +#define HDA_CODEC_IDT92HD005 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7698) +#define HDA_CODEC_IDT92HD005D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7699) +#define HDA_CODEC_STAC9205X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a0) +#define HDA_CODEC_STAC9205D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a1) +#define HDA_CODEC_STAC9204X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a2) +#define HDA_CODEC_STAC9204D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a3) +#define HDA_CODEC_STAC9220_A2 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7880) +#define HDA_CODEC_STAC9220_A1 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7882) #define HDA_CODEC_STACXXXX HDA_CODEC_CONSTRUCT(SIGMATEL, 0xffff) -/* - * Conexant - * - * Ok, the truth is, I don't have any idea at all whether - * it is "Venice" or "Waikiki" or other unnamed CXyadayada. The only - * place that tell me it is "Venice" is from its Windows driver INF. - * - * Venice - CX????? - * Waikiki - CX20551-22 - */ +/* IDT */ +#define IDT_VENDORID 0x111d +#define HDA_CODEC_IDT92HD75BX HDA_CODEC_CONSTRUCT(IDT, 0x7603) +#define HDA_CODEC_IDT92HD83C1X HDA_CODEC_CONSTRUCT(IDT, 0x7604) +#define HDA_CODEC_IDT92HD81B1X HDA_CODEC_CONSTRUCT(IDT, 0x7605) +#define HDA_CODEC_IDT92HD75B3 HDA_CODEC_CONSTRUCT(IDT, 0x7608) +#define HDA_CODEC_IDT92HD73D1 HDA_CODEC_CONSTRUCT(IDT, 0x7674) +#define HDA_CODEC_IDT92HD73C1 HDA_CODEC_CONSTRUCT(IDT, 0x7675) +#define HDA_CODEC_IDT92HD73E1 HDA_CODEC_CONSTRUCT(IDT, 0x7676) +#define HDA_CODEC_IDT92HD71B8 HDA_CODEC_CONSTRUCT(IDT, 0x76b0) +#define HDA_CODEC_IDT92HD71B7 HDA_CODEC_CONSTRUCT(IDT, 0x76b2) +#define HDA_CODEC_IDT92HD71B5 HDA_CODEC_CONSTRUCT(IDT, 0x76b6) +#define HDA_CODEC_IDT92HD83C1C HDA_CODEC_CONSTRUCT(IDT, 0x76d4) +#define HDA_CODEC_IDT92HD81B1C HDA_CODEC_CONSTRUCT(IDT, 0x76d5) +#define HDA_CODEC_IDTXXXX HDA_CODEC_CONSTRUCT(IDT, 0xffff) + +/* Silicon Image */ +#define SII_VENDORID 0x1095 +#define HDA_CODEC_SII1392 HDA_CODEC_CONSTRUCT(SII, 0x1392) +#define HDA_CODEC_SIIXXXX HDA_CODEC_CONSTRUCT(SII, 0xffff) + +/* Lucent/Agere */ +#define AGERE_VENDORID 0x11c1 +#define HDA_CODEC_AGEREXXXX HDA_CODEC_CONSTRUCT(AGERE, 0xffff) + +/* Conexant */ #define CONEXANT_VENDORID 0x14f1 -#define HDA_CODEC_CXVENICE HDA_CODEC_CONSTRUCT(CONEXANT, 0x5045) -#define HDA_CODEC_CXWAIKIKI HDA_CODEC_CONSTRUCT(CONEXANT, 0x5047) +#define HDA_CODEC_CX20549 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5045) +#define HDA_CODEC_CX20551 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5047) +#define HDA_CODEC_CX20561 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5051) #define HDA_CODEC_CXXXXX HDA_CODEC_CONSTRUCT(CONEXANT, 0xffff) /* VIA */ @@ -592,8 +698,28 @@ static const struct { #define HDA_CODEC_VT1709_5 HDA_CODEC_CONSTRUCT(VIA, 0xe715) #define HDA_CODEC_VT1709_6 HDA_CODEC_CONSTRUCT(VIA, 0xe716) #define HDA_CODEC_VT1709_7 HDA_CODEC_CONSTRUCT(VIA, 0xe717) +#define HDA_CODEC_VT1708B_0 HDA_CODEC_CONSTRUCT(VIA, 0xe720) +#define HDA_CODEC_VT1708B_1 HDA_CODEC_CONSTRUCT(VIA, 0xe721) +#define HDA_CODEC_VT1708B_2 HDA_CODEC_CONSTRUCT(VIA, 0xe722) +#define HDA_CODEC_VT1708B_3 HDA_CODEC_CONSTRUCT(VIA, 0xe723) +#define HDA_CODEC_VT1708B_4 HDA_CODEC_CONSTRUCT(VIA, 0xe724) +#define HDA_CODEC_VT1708B_5 HDA_CODEC_CONSTRUCT(VIA, 0xe725) +#define HDA_CODEC_VT1708B_6 HDA_CODEC_CONSTRUCT(VIA, 0xe726) +#define HDA_CODEC_VT1708B_7 HDA_CODEC_CONSTRUCT(VIA, 0xe727) #define HDA_CODEC_VTXXXX HDA_CODEC_CONSTRUCT(VIA, 0xffff) +/* ATI */ +#define HDA_CODEC_ATIRS600_1 HDA_CODEC_CONSTRUCT(ATI, 0x793c) +#define HDA_CODEC_ATIRS600_2 HDA_CODEC_CONSTRUCT(ATI, 0x7919) +#define HDA_CODEC_ATIRS690 HDA_CODEC_CONSTRUCT(ATI, 0x791a) +#define HDA_CODEC_ATIR6XX HDA_CODEC_CONSTRUCT(ATI, 0xaa01) +#define HDA_CODEC_ATIXXXX HDA_CODEC_CONSTRUCT(ATI, 0xffff) + +/* NVIDIA */ +#define HDA_CODEC_NVIDIAXXXX HDA_CODEC_CONSTRUCT(NVIDIA, 0xffff) + +/* INTEL */ +#define HDA_CODEC_INTELXXXX HDA_CODEC_CONSTRUCT(INTEL, 0xffff) /* Codecs */ static const struct { @@ -602,8 +728,13 @@ static const struct { } hdac_codecs[] = { { HDA_CODEC_ALC260, "Realtek ALC260" }, { HDA_CODEC_ALC262, "Realtek ALC262" }, + { HDA_CODEC_ALC267, "Realtek ALC267" }, { HDA_CODEC_ALC268, "Realtek ALC268" }, + { HDA_CODEC_ALC269, "Realtek ALC269" }, + { HDA_CODEC_ALC272, "Realtek ALC272" }, { HDA_CODEC_ALC660, "Realtek ALC660" }, + { HDA_CODEC_ALC662, "Realtek ALC662" }, + { HDA_CODEC_ALC663, "Realtek ALC663" }, { HDA_CODEC_ALC861, "Realtek ALC861" }, { HDA_CODEC_ALC861VD, "Realtek ALC861-VD" }, { HDA_CODEC_ALC880, "Realtek ALC880" }, @@ -611,23 +742,77 @@ static const struct { { HDA_CODEC_ALC883, "Realtek ALC883" }, { HDA_CODEC_ALC885, "Realtek ALC885" }, { HDA_CODEC_ALC888, "Realtek ALC888" }, + { HDA_CODEC_ALC889, "Realtek ALC889" }, + { HDA_CODEC_AD1882, "Analog Devices AD1882" }, + { HDA_CODEC_AD1882A, "Analog Devices AD1882A" }, + { HDA_CODEC_AD1883, "Analog Devices AD1883" }, + { HDA_CODEC_AD1884, "Analog Devices AD1884" }, + { HDA_CODEC_AD1884A, "Analog Devices AD1884A" }, { HDA_CODEC_AD1981HD, "Analog Devices AD1981HD" }, { HDA_CODEC_AD1983, "Analog Devices AD1983" }, { HDA_CODEC_AD1984, "Analog Devices AD1984" }, + { HDA_CODEC_AD1984A, "Analog Devices AD1984A" }, + { HDA_CODEC_AD1984B, "Analog Devices AD1984B" }, { HDA_CODEC_AD1986A, "Analog Devices AD1986A" }, - { HDA_CODEC_AD1988, "Analog Devices AD1988" }, + { HDA_CODEC_AD1987, "Analog Devices AD1987" }, + { HDA_CODEC_AD1988, "Analog Devices AD1988A" }, { HDA_CODEC_AD1988B, "Analog Devices AD1988B" }, + { HDA_CODEC_AD1989B, "Analog Devices AD1989B" }, { HDA_CODEC_CMI9880, "CMedia CMI9880" }, + { HDA_CODEC_STAC9200D, "Sigmatel STAC9200D" }, + { HDA_CODEC_STAC9204X, "Sigmatel STAC9204X" }, + { HDA_CODEC_STAC9204D, "Sigmatel STAC9204D" }, + { HDA_CODEC_STAC9205X, "Sigmatel STAC9205X" }, + { HDA_CODEC_STAC9205D, "Sigmatel STAC9205D" }, + { HDA_CODEC_STAC9220, "Sigmatel STAC9220" }, + { HDA_CODEC_STAC9220_A1, "Sigmatel STAC9220_A1" }, + { HDA_CODEC_STAC9220_A2, "Sigmatel STAC9220_A2" }, { HDA_CODEC_STAC9221, "Sigmatel STAC9221" }, + { HDA_CODEC_STAC9221_A2, "Sigmatel STAC9221_A2" }, { HDA_CODEC_STAC9221D, "Sigmatel STAC9221D" }, - { HDA_CODEC_STAC9220, "Sigmatel STAC9220" }, { HDA_CODEC_STAC922XD, "Sigmatel STAC9220D/9223D" }, - { HDA_CODEC_STAC9227, "Sigmatel STAC9227" }, + { HDA_CODEC_STAC9227X, "Sigmatel STAC9227X" }, + { HDA_CODEC_STAC9227D, "Sigmatel STAC9227D" }, + { HDA_CODEC_STAC9228X, "Sigmatel STAC9228X" }, + { HDA_CODEC_STAC9228D, "Sigmatel STAC9228D" }, + { HDA_CODEC_STAC9229X, "Sigmatel STAC9229X" }, + { HDA_CODEC_STAC9229D, "Sigmatel STAC9229D" }, + { HDA_CODEC_STAC9230X, "Sigmatel STAC9230X" }, + { HDA_CODEC_STAC9230D, "Sigmatel STAC9230D" }, + { HDA_CODEC_STAC9250, "Sigmatel STAC9250" }, + { HDA_CODEC_STAC9251, "Sigmatel STAC9251" }, + { HDA_CODEC_STAC9271X, "Sigmatel STAC9271X" }, { HDA_CODEC_STAC9271D, "Sigmatel STAC9271D" }, - { HDA_CODEC_STAC9205, "Sigmatel STAC9205" }, - { HDA_CODEC_STAC9872AK,"Sigmatel STAC9872AK" }, - { HDA_CODEC_CXVENICE, "Conexant Venice" }, - { HDA_CODEC_CXWAIKIKI, "Conexant Waikiki" }, + { HDA_CODEC_STAC9272X, "Sigmatel STAC9272X" }, + { HDA_CODEC_STAC9272D, "Sigmatel STAC9272D" }, + { HDA_CODEC_STAC9273X, "Sigmatel STAC9273X" }, + { HDA_CODEC_STAC9273D, "Sigmatel STAC9273D" }, + { HDA_CODEC_STAC9274, "Sigmatel STAC9274" }, + { HDA_CODEC_STAC9274D, "Sigmatel STAC9274D" }, + { HDA_CODEC_STAC9274X5NH, "Sigmatel STAC9274X5NH" }, + { HDA_CODEC_STAC9274D5NH, "Sigmatel STAC9274D5NH" }, + { HDA_CODEC_STAC9872AK, "Sigmatel STAC9872AK" }, + { HDA_CODEC_IDT92HD005, "IDT 92HD005" }, + { HDA_CODEC_IDT92HD005D, "IDT 92HD005D" }, + { HDA_CODEC_IDT92HD206X, "IDT 92HD206X" }, + { HDA_CODEC_IDT92HD206D, "IDT 92HD206D" }, + { HDA_CODEC_IDT92HD700X, "IDT 92HD700X" }, + { HDA_CODEC_IDT92HD700D, "IDT 92HD700D" }, + { HDA_CODEC_IDT92HD71B5, "IDT 92HD71B5" }, + { HDA_CODEC_IDT92HD71B7, "IDT 92HD71B7" }, + { HDA_CODEC_IDT92HD71B8, "IDT 92HD71B8" }, + { HDA_CODEC_IDT92HD73C1, "IDT 92HD73C1" }, + { HDA_CODEC_IDT92HD73D1, "IDT 92HD73D1" }, + { HDA_CODEC_IDT92HD73E1, "IDT 92HD73E1" }, + { HDA_CODEC_IDT92HD75B3, "IDT 92HD75B3" }, + { HDA_CODEC_IDT92HD75BX, "IDT 92HD75BX" }, + { HDA_CODEC_IDT92HD81B1C, "IDT 92HD81B1C" }, + { HDA_CODEC_IDT92HD81B1X, "IDT 92HD81B1X" }, + { HDA_CODEC_IDT92HD83C1C, "IDT 92HD83C1C" }, + { HDA_CODEC_IDT92HD83C1X, "IDT 92HD83C1X" }, + { HDA_CODEC_CX20549, "Conexant CX20549 (Venice)" }, + { HDA_CODEC_CX20551, "Conexant CX20551 (Waikiki)" }, + { HDA_CODEC_CX20561, "Conexant CX20561 (Hermosa)" }, { HDA_CODEC_VT1708_8, "VIA VT1708_8" }, { HDA_CODEC_VT1708_9, "VIA VT1708_9" }, { HDA_CODEC_VT1708_A, "VIA VT1708_A" }, @@ -640,136 +825,41 @@ static const struct { { HDA_CODEC_VT1709_5, "VIA VT1709_5" }, { HDA_CODEC_VT1709_6, "VIA VT1709_6" }, { HDA_CODEC_VT1709_7, "VIA VT1709_7" }, + { HDA_CODEC_VT1708B_0, "VIA VT1708B_0" }, + { HDA_CODEC_VT1708B_1, "VIA VT1708B_1" }, + { HDA_CODEC_VT1708B_2, "VIA VT1708B_2" }, + { HDA_CODEC_VT1708B_3, "VIA VT1708B_3" }, + { HDA_CODEC_VT1708B_4, "VIA VT1708B_4" }, + { HDA_CODEC_VT1708B_5, "VIA VT1708B_5" }, + { HDA_CODEC_VT1708B_6, "VIA VT1708B_6" }, + { HDA_CODEC_VT1708B_7, "VIA VT1708B_7" }, + { HDA_CODEC_ATIRS600_1,"ATI RS600 HDMI" }, + { HDA_CODEC_ATIRS600_2,"ATI RS600 HDMI" }, + { HDA_CODEC_ATIRS690, "ATI RS690/780 HDMI" }, + { HDA_CODEC_ATIR6XX, "ATI R6xx HDMI" }, + { HDA_CODEC_SII1392, "Silicon Image SiI1392 HDMI" }, /* Unknown codec */ { HDA_CODEC_ALCXXXX, "Realtek (Unknown)" }, { HDA_CODEC_ADXXXX, "Analog Devices (Unknown)" }, { HDA_CODEC_CMIXXXX, "CMedia (Unknown)" }, { HDA_CODEC_STACXXXX, "Sigmatel (Unknown)" }, + { HDA_CODEC_SIIXXXX, "Silicon Image (Unknown)" }, + { HDA_CODEC_AGEREXXXX, "Lucent/Agere Systems (Unknown)" }, { HDA_CODEC_CXXXXX, "Conexant (Unknown)" }, { HDA_CODEC_VTXXXX, "VIA (Unknown)" }, + { HDA_CODEC_ATIXXXX, "ATI (Unknown)" }, + { HDA_CODEC_NVIDIAXXXX,"NVidia (Unknown)" }, + { HDA_CODEC_INTELXXXX, "Intel (Unknown)" }, + { HDA_CODEC_IDTXXXX, "IDT (Unknown)" }, }; #define HDAC_CODECS_LEN (sizeof(hdac_codecs) / sizeof(hdac_codecs[0])) -enum { - HDAC_HP_SWITCH_CTL, - HDAC_HP_SWITCH_CTRL, - HDAC_HP_SWITCH_DEBUG -}; - -static const struct { - uint32_t model; - uint32_t id; - int type; - int inverted; - int polling; - int execsense; - nid_t hpnid; - nid_t spkrnid[8]; - nid_t eapdnid; -} hdac_hp_switch[] = { - /* Specific OEM models */ - { HP_V3000_SUBVENDOR, HDA_CODEC_CXVENICE, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 17, { 16, -1 }, 16 }, - /* { HP_XW4300_SUBVENDOR, HDA_CODEC_ALC260, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 21, { 16, 17, -1 }, -1 } */ - /* { HP_3010_SUBVENDOR, HDA_CODEC_ALC260, HDAC_HP_SWITCH_DEBUG, - 0, 1, 0, 16, { 15, 18, 19, 20, 21, -1 }, -1 }, */ - { HP_NX7400_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, 5 }, - { HP_NX6310_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, 5 }, - { HP_NX6325_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, 5 }, - /* { HP_DC7700_SUBVENDOR, HDA_CODEC_ALC262, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 21, { 22, 27, -1 }, -1 }, */ - { TOSHIBA_U200_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, -1 }, - { TOSHIBA_A135_SUBVENDOR, HDA_CODEC_ALC861VD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 27, { 20, -1 }, -1 }, - { DELL_D820_SUBVENDOR, HDA_CODEC_STAC9220, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 13, { 14, -1 }, -1 }, - { DELL_I1300_SUBVENDOR, HDA_CODEC_STAC9220, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 13, { 14, -1 }, -1 }, - { DELL_OPLX745_SUBVENDOR, HDA_CODEC_AD1983, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, 7, -1 }, -1 }, - { DELL_D630_SUBVENDOR, HDA_CODEC_STAC9205, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 10, { 13, -1 }, -1 }, - { DELL_V1500_SUBVENDOR, HDA_CODEC_STAC9205, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 10, { 13, -1 }, -1 }, - { APPLE_MB3_SUBVENDOR, HDA_CODEC_ALC885, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 21, { 20, 22, -1 }, -1 }, - { APPLE_INTEL_MAC, HDA_CODEC_STAC9221, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 10, { 13, -1 }, -1 }, - { LENOVO_3KN100_SUBVENDOR, HDA_CODEC_AD1986A, HDAC_HP_SWITCH_CTL, - 1, 0, -1, 26, { 27, -1 }, -1 }, - { LENOVO_3KN200_SUBVENDOR, HDA_CODEC_ALC861VD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 27, { 20, -1 }, -1 }, - /* { LENOVO_TCA55_SUBVENDOR, HDA_CODEC_AD1986A, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 26, { 27, 28, 29, 30, -1 }, -1 }, */ - { LG_LW20_SUBVENDOR, HDA_CODEC_ALC880, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 27, { 20, -1 }, -1 }, - { ACER_A5050_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { ACER_3681WXM_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { ACER_A4520_SUBVENDOR, HDA_CODEC_ALC268, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { ACER_A4710_SUBVENDOR, HDA_CODEC_ALC268, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { ACER_A4715_SUBVENDOR, HDA_CODEC_ALC268, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { UNIWILL_9080_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { MSI_MS1034_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 27, -1 }, -1 }, - { MSI_MS034A_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 27, -1 }, -1 }, - { FS_SI1848_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { FL_S7020D_SUBVENDOR, HDA_CODEC_ALC260, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 16, -1 }, -1 }, - { FL_U1010_SUBVENDOR, HDA_CODEC_ALC262, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - /* - * All models that at least come from the same vendor with - * simmilar codec. - */ - { HP_ALL_SUBVENDOR, HDA_CODEC_CXVENICE, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 17, { 16, -1 }, 16 }, - { HP_ALL_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, 5 }, - { TOSHIBA_ALL_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, -1 }, - { DELL_ALL_SUBVENDOR, HDA_CODEC_STAC9220, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 13, { 14, -1 }, -1 }, -#if 0 - { LENOVO_ALL_SUBVENDOR, HDA_CODEC_AD1986A, HDAC_HP_SWITCH_CTL, - 1, 0, -1, 26, { 27, -1 }, -1 }, - { ACER_ALL_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, -#endif -}; -#define HDAC_HP_SWITCH_LEN \ - (sizeof(hdac_hp_switch) / sizeof(hdac_hp_switch[0])) - -static const struct { - uint32_t model; - uint32_t id; - nid_t eapdnid; - int hp_switch; -} hdac_eapd_switch[] = { - { HP_V3000_SUBVENDOR, HDA_CODEC_CXVENICE, 16, 1 }, - { HP_NX7400_SUBVENDOR, HDA_CODEC_AD1981HD, 5, 1 }, - { HP_NX6310_SUBVENDOR, HDA_CODEC_AD1981HD, 5, 1 }, -}; -#define HDAC_EAPD_SWITCH_LEN \ - (sizeof(hdac_eapd_switch) / sizeof(hdac_eapd_switch[0])) /**************************************************************************** * Function prototypes ****************************************************************************/ static void hdac_intr_handler(void *); -static int hdac_reset(struct hdac_softc *); +static int hdac_reset(struct hdac_softc *, int); static int hdac_get_capabilities(struct hdac_softc *); static void hdac_dma_cb(void *, bus_dma_segment_t *, int, int); static int hdac_dma_alloc(struct hdac_softc *, @@ -783,10 +873,10 @@ static void hdac_corb_init(struct hdac_s static void hdac_rirb_init(struct hdac_softc *); static void hdac_corb_start(struct hdac_softc *); static void hdac_rirb_start(struct hdac_softc *); -static void hdac_scan_codecs(struct hdac_softc *, int); -static int hdac_probe_codec(struct hdac_codec *); -static struct hdac_devinfo *hdac_probe_function(struct hdac_codec *, nid_t); -static void hdac_add_child(struct hdac_softc *, struct hdac_devinfo *); +static void hdac_scan_codecs(struct hdac_softc *); +static void hdac_probe_codec(struct hdac_codec *); +static void hdac_probe_function(struct hdac_codec *, nid_t); +static int hdac_pcmchannel_setup(struct hdac_chan *); static void hdac_attach2(void *); @@ -798,34 +888,37 @@ static void hdac_command_send_internal(s static int hdac_probe(device_t); static int hdac_attach(device_t); static int hdac_detach(device_t); +static int hdac_suspend(device_t); +static int hdac_resume(device_t); static void hdac_widget_connection_select(struct hdac_widget *, uint8_t); static void hdac_audio_ctl_amp_set(struct hdac_audio_ctl *, uint32_t, int, int); static struct hdac_audio_ctl *hdac_audio_ctl_amp_get(struct hdac_devinfo *, - nid_t, int, int); + nid_t, int, int, int); static void hdac_audio_ctl_amp_set_internal(struct hdac_softc *, nid_t, nid_t, int, int, int, int, int, int); -static int hdac_audio_ctl_ossmixer_getnextdev(struct hdac_devinfo *); static struct hdac_widget *hdac_widget_get(struct hdac_devinfo *, nid_t); static int hdac_rirb_flush(struct hdac_softc *sc); static int hdac_unsolq_flush(struct hdac_softc *sc); +static void hdac_dump_pin_config(struct hdac_widget *w, uint32_t conf); + #define hdac_command(a1, a2, a3) \ hdac_command_sendone_internal(a1, a2, a3) -#define hdac_codec_id(d) \ - ((uint32_t)((d == NULL) ? 0x00000000 : \ - ((((uint32_t)(d)->vendor_id & 0x0000ffff) << 16) | \ - ((uint32_t)(d)->device_id & 0x0000ffff)))) +#define hdac_codec_id(c) \ + ((uint32_t)((c == NULL) ? 0x00000000 : \ + ((((uint32_t)(c)->vendor_id & 0x0000ffff) << 16) | \ + ((uint32_t)(c)->device_id & 0x0000ffff)))) static char * -hdac_codec_name(struct hdac_devinfo *devinfo) +hdac_codec_name(struct hdac_codec *codec) { uint32_t id; int i; - id = hdac_codec_id(devinfo); + id = hdac_codec_id(codec); for (i = 0; i < HDAC_CODECS_LEN; i++) { if (HDA_DEV_MATCH(hdac_codecs[i].id, id)) @@ -836,20 +929,6 @@ hdac_codec_name(struct hdac_devinfo *dev } static char * -hdac_audio_ctl_ossmixer_mask2name(uint32_t devmask) -{ - static char *ossname[] = SOUND_DEVICE_NAMES; - static char *unknown = "???"; - int i; - - for (i = SOUND_MIXER_NRDEVICES - 1; i >= 0; i--) { - if (devmask & (1 << i)) - return (ossname[i]); - } - return (unknown); -} - -static void hdac_audio_ctl_ossmixer_mask2allname(uint32_t mask, char *buf, size_t len) { static char *ossname[] = SOUND_DEVICE_NAMES; @@ -864,6 +943,7 @@ hdac_audio_ctl_ossmixer_mask2allname(uin first = 0; } } + return (buf); } static struct hdac_audio_ctl * @@ -879,48 +959,46 @@ hdac_audio_ctl_each(struct hdac_devinfo } static struct hdac_audio_ctl * -hdac_audio_ctl_amp_get(struct hdac_devinfo *devinfo, nid_t nid, +hdac_audio_ctl_amp_get(struct hdac_devinfo *devinfo, nid_t nid, int dir, int index, int cnt) { - struct hdac_audio_ctl *ctl, *retctl = NULL; - int i, at, atindex, found = 0; + struct hdac_audio_ctl *ctl; + int i, found = 0; if (devinfo == NULL || devinfo->function.audio.ctl == NULL) return (NULL); - at = cnt; - if (at == 0) - at = 1; - else if (at < 0) - at = -1; - atindex = index; - if (atindex < 0) - atindex = -1; - i = 0; while ((ctl = hdac_audio_ctl_each(devinfo, &i)) != NULL) { - if (ctl->enable == 0 || ctl->widget == NULL) + if (ctl->enable == 0) continue; - if (!(ctl->widget->nid == nid && (atindex == -1 || - ctl->index == atindex))) + if (ctl->widget->nid != nid) + continue; + if (dir && ctl->ndir != dir) + continue; + if (index >= 0 && ctl->ndir == HDA_CTL_IN && + ctl->dir == ctl->ndir && ctl->index != index) continue; found++; - if (found == cnt) + if (found == cnt || cnt <= 0) return (ctl); - retctl = ctl; } - return ((at == -1) ? retctl : NULL); + return (NULL); } +/* + * Jack detection (Speaker/HP redirection) event handler. + */ static void hdac_hp_switch_handler(struct hdac_devinfo *devinfo) { + struct hdac_audio_as *as; struct hdac_softc *sc; struct hdac_widget *w; struct hdac_audio_ctl *ctl; - uint32_t val, id, res; - int i = 0, j, timeout, forcemute; + uint32_t val, res; + int i, j; nid_t cad; if (devinfo == NULL || devinfo->codec == NULL || @@ -929,84 +1007,47 @@ hdac_hp_switch_handler(struct hdac_devin sc = devinfo->codec->sc; cad = devinfo->codec->cad; - id = hdac_codec_id(devinfo); - for (i = 0; i < HDAC_HP_SWITCH_LEN; i++) { - if (HDA_DEV_MATCH(hdac_hp_switch[i].model, - sc->pci_subvendor) && - hdac_hp_switch[i].id == id) - break; - } - - if (i >= HDAC_HP_SWITCH_LEN) - return; - - forcemute = 0; - if (hdac_hp_switch[i].eapdnid != -1) { - w = hdac_widget_get(devinfo, hdac_hp_switch[i].eapdnid); - if (w != NULL && w->param.eapdbtl != HDAC_INVALID) - forcemute = (w->param.eapdbtl & - HDA_CMD_SET_EAPD_BTL_ENABLE_EAPD) ? 0 : 1; - } - - if (hdac_hp_switch[i].execsense != -1) - hdac_command(sc, - HDA_CMD_SET_PIN_SENSE(cad, hdac_hp_switch[i].hpnid, - hdac_hp_switch[i].execsense), cad); + as = devinfo->function.audio.as; + for (i = 0; i < devinfo->function.audio.ascnt; i++) { + if (as[i].hpredir < 0) + continue; + + w = hdac_widget_get(devinfo, as[i].pins[15]); + if (w == NULL || w->enable == 0 || w->type != + HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_PIN_COMPLEX) + continue; - timeout = 10000; - do { res = hdac_command(sc, - HDA_CMD_GET_PIN_SENSE(cad, hdac_hp_switch[i].hpnid), - cad); - if (hdac_hp_switch[i].execsense == -1 || res != 0x7fffffff) - break; - DELAY(10); - } while (--timeout != 0); + HDA_CMD_GET_PIN_SENSE(cad, as[i].pins[15]), cad); - HDA_BOOTVERBOSE( - device_printf(sc->dev, - "HDA_DEBUG: Pin sense: nid=%d timeout=%d res=0x%08x\n", - hdac_hp_switch[i].hpnid, timeout, res); - ); + HDA_BOOTVERBOSE( + device_printf(sc->dev, + "Pin sense: nid=%d res=0x%08x\n", + as[i].pins[15], res); + ); - res = HDA_CMD_GET_PIN_SENSE_PRESENCE_DETECT(res); - res ^= hdac_hp_switch[i].inverted; + res = HDA_CMD_GET_PIN_SENSE_PRESENCE_DETECT(res); + if (devinfo->function.audio.quirks & HDA_QUIRK_SENSEINV) + res ^= 1; - switch (hdac_hp_switch[i].type) { - case HDAC_HP_SWITCH_CTL: + /* (Un)Mute headphone pin. */ ctl = hdac_audio_ctl_amp_get(devinfo, - hdac_hp_switch[i].hpnid, 0, 1); - if (ctl != NULL) { - val = (res != 0 && forcemute == 0) ? - HDA_AMP_MUTE_NONE : HDA_AMP_MUTE_ALL; - if (val != ctl->muted) { - ctl->muted = val; + as[i].pins[15], HDA_CTL_IN, -1, 1); + if (ctl != NULL && ctl->mute) { + /* If pin has muter - use it. */ + val = (res != 0) ? 0 : 1; + if (val != ctl->forcemute) { + ctl->forcemute = val; hdac_audio_ctl_amp_set(ctl, - HDA_AMP_MUTE_DEFAULT, ctl->left, - ctl->right); + HDA_AMP_MUTE_DEFAULT, + HDA_AMP_VOL_DEFAULT, HDA_AMP_VOL_DEFAULT); } - } - for (j = 0; hdac_hp_switch[i].spkrnid[j] != -1; j++) { - ctl = hdac_audio_ctl_amp_get(devinfo, - hdac_hp_switch[i].spkrnid[j], 0, 1); - if (ctl == NULL) - continue; - val = (res != 0 || forcemute == 1) ? - HDA_AMP_MUTE_ALL : HDA_AMP_MUTE_NONE; - if (val == ctl->muted) - continue; - ctl->muted = val; - hdac_audio_ctl_amp_set(ctl, HDA_AMP_MUTE_DEFAULT, - ctl->left, ctl->right); - } - break; - case HDAC_HP_SWITCH_CTRL: - if (res != 0) { - /* HP in */ - w = hdac_widget_get(devinfo, hdac_hp_switch[i].hpnid); + } else { + /* If there is no muter - disable pin output. */ + w = hdac_widget_get(devinfo, as[i].pins[15]); if (w != NULL && w->type == HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_PIN_COMPLEX) { - if (forcemute == 0) + if (res != 0) val = w->wclass.pin.ctrl | *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-freebsd-multimedia@FreeBSD.ORG Wed Jan 7 15:30:06 2009 Return-Path: Delivered-To: freebsd-multimedia@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A6E36106566B for ; Wed, 7 Jan 2009 15:30:06 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 944628FC13 for ; Wed, 7 Jan 2009 15:30:06 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n07FU6v6068150 for ; Wed, 7 Jan 2009 15:30:06 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n07FU6xH068147; Wed, 7 Jan 2009 15:30:06 GMT (envelope-from gnats) Date: Wed, 7 Jan 2009 15:30:06 GMT Message-Id: <200901071530.n07FU6xH068147@freefall.freebsd.org> To: freebsd-multimedia@FreeBSD.org From: dfilter@FreeBSD.ORG (dfilter service) Cc: Subject: Re: kern/120144: commit references a PR X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: dfilter service List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jan 2009 15:30:06 -0000 The following reply was made to PR kern/120144; it has been noted by GNATS. From: dfilter@FreeBSD.ORG (dfilter service) To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/120144: commit references a PR Date: Wed, 7 Jan 2009 15:29:05 +0000 (UTC) Author: mav Date: Wed Jan 7 15:28:47 2009 New Revision: 186862 URL: http://svn.freebsd.org/changeset/base/186862 Log: Merge updated snd_hda driver version 20081226_0122 from CURRENT. This update gives: - multiple codec per HDA bus support; - multiple functional groups per codec support; - multiple audio devices per functional group support; - digital (SPDIF/HDMI) audio input/output support; - better UAA specification compliance with wide configureability; - headphones redirection controlled by UAA configuration instead of quirks; - improved codec parser, that gives working playback and recording with all of the long list of tested codecs and systems; - suspend/resume support; - part of multichannel audio support (requires OSS improvement to be used); Note, that due to added HDMI audio and logical audio devices support, updated driver often provides several PCM devices. In some cases it can make system default audio device no longer corresponding to the users's habbitual audio connectors. In such cases wanted device can be specified in audio application setup or defined globally via hw.snd.default_unit sysctl according to sound(4) man page. Additional information information about driver operation can be obtained from the updated man page and verbose boot messages. PR: kern/119181, kern/120144, kern/117599, kern/117729, kern/119671, kern/124645, kern/125822, kern/126217, kern/127105 Modified: stable/7/sys/dev/sound/pci/hda/hda_reg.h stable/7/sys/dev/sound/pci/hda/hdac.c stable/7/sys/dev/sound/pci/hda/hdac_private.h Modified: stable/7/sys/dev/sound/pci/hda/hda_reg.h ============================================================================== --- stable/7/sys/dev/sound/pci/hda/hda_reg.h Wed Jan 7 14:00:44 2009 (r186861) +++ stable/7/sys/dev/sound/pci/hda/hda_reg.h Wed Jan 7 15:28:47 2009 (r186862) @@ -180,13 +180,14 @@ HDA_CMD_VERB_SET_CONV_FMT, (payload))) /* Digital Converter Control */ -#define HDA_CMD_VERB_GET_DIGITAL_CONV_FMT 0xf0d +#define HDA_CMD_VERB_GET_DIGITAL_CONV_FMT1 0xf0d +#define HDA_CMD_VERB_GET_DIGITAL_CONV_FMT2 0xf0e #define HDA_CMD_VERB_SET_DIGITAL_CONV_FMT1 0x70d #define HDA_CMD_VERB_SET_DIGITAL_CONV_FMT2 0x70e #define HDA_CMD_GET_DIGITAL_CONV_FMT(cad, nid) \ (HDA_CMD_12BIT((cad), (nid), \ - HDA_CMD_VERB_GET_DIGITAL_CONV_FMTT, 0x0)) + HDA_CMD_VERB_GET_DIGITAL_CONV_FMT1, 0x0)) #define HDA_CMD_SET_DIGITAL_CONV_FMT1(cad, nid, payload) \ (HDA_CMD_12BIT((cad), (nid), \ HDA_CMD_VERB_SET_DIGITAL_CONV_FMT1, (payload))) @@ -1034,7 +1035,7 @@ HDA_PARAM_PIN_CAP_HEADPHONE_CAP_SHIFT) #define HDA_PARAM_PIN_CAP_PRESENCE_DETECT_CAP(param) \ (((param) & HDA_PARAM_PIN_CAP_PRESENCE_DETECT_CAP_MASK) >> \ - HDA_PARAM_PIN_CAP_PRESENCE_DETECT_CAP_MASK) + HDA_PARAM_PIN_CAP_PRESENCE_DETECT_CAP_SHIFT) #define HDA_PARAM_PIN_CAP_TRIGGER_REQD(param) \ (((param) & HDA_PARAM_PIN_CAP_TRIGGER_REQD_MASK) >> \ HDA_PARAM_PIN_CAP_TRIGGER_REQD_SHIFT) @@ -1193,14 +1194,47 @@ HDA_PARAM_VOLUME_KNOB_CAP_NUM_STEPS_SHIFT) -#define HDA_CONFIG_DEFAULTCONF_SEQUENCE_MASK 0x00000000f -#define HDA_CONFIG_DEFAULTCONF_ASSOCIATION_MASK 0x0000000f0 -#define HDA_CONFIG_DEFAULTCONF_MISC_MASK 0x000000f00 -#define HDA_CONFIG_DEFAULTCONF_COLOR_MASK 0x00000f000 -#define HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_MASK 0x000f00000 -#define HDA_CONFIG_DEFAULTCONF_DEVICE_MASK 0x000f00000 -#define HDA_CONFIG_DEFAULTCONF_LOCATION_MASK 0x03f000000 -#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK 0x0c0000000 +#define HDA_CONFIG_DEFAULTCONF_SEQUENCE_MASK 0x0000000f +#define HDA_CONFIG_DEFAULTCONF_SEQUENCE_SHIFT 0 +#define HDA_CONFIG_DEFAULTCONF_ASSOCIATION_MASK 0x000000f0 +#define HDA_CONFIG_DEFAULTCONF_ASSOCIATION_SHIFT 4 +#define HDA_CONFIG_DEFAULTCONF_MISC_MASK 0x00000f00 +#define HDA_CONFIG_DEFAULTCONF_MISC_SHIFT 8 +#define HDA_CONFIG_DEFAULTCONF_COLOR_MASK 0x0000f000 +#define HDA_CONFIG_DEFAULTCONF_COLOR_SHIFT 12 +#define HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_MASK 0x000f0000 +#define HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_SHIFT 16 +#define HDA_CONFIG_DEFAULTCONF_DEVICE_MASK 0x00f00000 +#define HDA_CONFIG_DEFAULTCONF_DEVICE_SHIFT 20 +#define HDA_CONFIG_DEFAULTCONF_LOCATION_MASK 0x3f000000 +#define HDA_CONFIG_DEFAULTCONF_LOCATION_SHIFT 24 +#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK 0xc0000000 +#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_SHIFT 30 + +#define HDA_CONFIG_DEFAULTCONF_SEQUENCE(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_SEQUENCE_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_SEQUENCE_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_ASSOCIATION(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_ASSOCIATION_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_ASSOCIATION_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_MISC(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_MISC_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_MISC_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_COLOR(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_COLOR_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_COLOR_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_DEVICE(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_DEVICE_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_DEVICE_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_LOCATION(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_LOCATION_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_LOCATION_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_SHIFT) #define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_JACK (0<<30) #define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_NONE (1<<30) Modified: stable/7/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- stable/7/sys/dev/sound/pci/hda/hdac.c Wed Jan 7 14:00:44 2009 (r186861) +++ stable/7/sys/dev/sound/pci/hda/hdac.c Wed Jan 7 15:28:47 2009 (r186862) @@ -1,6 +1,7 @@ /*- * Copyright (c) 2006 Stephane E. Potvin * Copyright (c) 2006 Ariff Abdullah + * Copyright (c) 2008 Alexander Motin * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -61,6 +62,7 @@ * * Daniel Eischen * * * Maxime Guillaud * * * Ariff Abdullah * + * * Alexander Motin * * * * * * ....and various people from freebsd-multimedia@FreeBSD.org * * * * @@ -81,8 +83,7 @@ #include "mixer_if.h" -#define HDA_DRV_TEST_REV "20080420_0052" -#define HDA_WIDGET_PARSER_REV 1 +#define HDA_DRV_TEST_REV "20081226_0122" SND_DECLARE_FILE("$FreeBSD$"); @@ -92,6 +93,12 @@ SND_DECLARE_FILE("$FreeBSD$"); } \ } while(0) +#define HDA_BOOTHVERBOSE(stmt) do { \ + if (snd_verbose > 3) { \ + stmt \ + } \ +} while(0) + #if 1 #undef HDAC_INTR_EXTRA #define HDAC_INTR_EXTRA 1 @@ -141,6 +148,8 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_INTEL_82801G HDA_MODEL_CONSTRUCT(INTEL, 0x27d8) #define HDA_INTEL_82801H HDA_MODEL_CONSTRUCT(INTEL, 0x284b) #define HDA_INTEL_82801I HDA_MODEL_CONSTRUCT(INTEL, 0x293e) +#define HDA_INTEL_82801J HDA_MODEL_CONSTRUCT(INTEL, 0x3a3e) +#define HDA_INTEL_SCH HDA_MODEL_CONSTRUCT(INTEL, 0x811b) #define HDA_INTEL_ALL HDA_MODEL_CONSTRUCT(INTEL, 0xffff) /* Nvidia */ @@ -153,6 +162,16 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_NVIDIA_MCP65_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x044b) #define HDA_NVIDIA_MCP67_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x055c) #define HDA_NVIDIA_MCP67_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x055d) +#define HDA_NVIDIA_MCP78_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0774) +#define HDA_NVIDIA_MCP78_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0775) +#define HDA_NVIDIA_MCP78_3 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0776) +#define HDA_NVIDIA_MCP78_4 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0777) +#define HDA_NVIDIA_MCP73_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x07fc) +#define HDA_NVIDIA_MCP73_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x07fd) +#define HDA_NVIDIA_MCP79_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac0) +#define HDA_NVIDIA_MCP79_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac1) +#define HDA_NVIDIA_MCP79_3 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac2) +#define HDA_NVIDIA_MCP79_4 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac3) #define HDA_NVIDIA_ALL HDA_MODEL_CONSTRUCT(NVIDIA, 0xffff) /* ATI */ @@ -171,6 +190,11 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_SIS_966 HDA_MODEL_CONSTRUCT(SIS, 0x7502) #define HDA_SIS_ALL HDA_MODEL_CONSTRUCT(SIS, 0xffff) +/* ULI */ +#define ULI_VENDORID 0x10b9 +#define HDA_ULI_M5461 HDA_MODEL_CONSTRUCT(ULI, 0x5461) +#define HDA_ULI_ALL HDA_MODEL_CONSTRUCT(ULI, 0xffff) + /* OEM/subvendors */ /* Intel */ @@ -195,6 +219,7 @@ SND_DECLARE_FILE("$FreeBSD$"); #define DELL_VENDORID 0x1028 #define DELL_D630_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01f9) #define DELL_D820_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01cc) +#define DELL_V1400_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0227) #define DELL_V1500_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0228) #define DELL_I1300_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01c9) #define DELL_XPSM1210_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01d7) @@ -213,6 +238,7 @@ SND_DECLARE_FILE("$FreeBSD$"); #define ACER_A4710_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x012f) #define ACER_A4715_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0133) #define ACER_3681WXM_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0110) +#define ACER_T6292_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x011b) #define ACER_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0xffff) /* Asus */ @@ -260,6 +286,11 @@ SND_DECLARE_FILE("$FreeBSD$"); #define APPLE_VENDORID 0x106b #define APPLE_MB3_SUBVENDOR HDA_MODEL_CONSTRUCT(APPLE, 0x00a1) +/* Sony */ +#define SONY_VENDORID 0x104d +#define SONY_S5_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0x81cc) +#define SONY_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0xffff) + /* * Apple Intel MacXXXX seems using Sigmatel codec/vendor id * instead of their own, which is beyond my comprehension @@ -308,6 +339,7 @@ SND_DECLARE_FILE("$FreeBSD$"); /* Misc constants.. */ +#define HDA_AMP_VOL_DEFAULT (-1) #define HDA_AMP_MUTE_DEFAULT (0xffffffff) #define HDA_AMP_MUTE_NONE (0) #define HDA_AMP_MUTE_LEFT (1 << 0) @@ -317,16 +349,10 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_AMP_LEFT_MUTED(v) ((v) & (HDA_AMP_MUTE_LEFT)) #define HDA_AMP_RIGHT_MUTED(v) (((v) & HDA_AMP_MUTE_RIGHT) >> 1) -#define HDA_DAC_PATH (1 << 0) -#define HDA_ADC_PATH (1 << 1) -#define HDA_ADC_RECSEL (1 << 2) - -#define HDA_DAC_LOCKED (1 << 3) -#define HDA_ADC_LOCKED (1 << 4) - -#define HDA_CTL_OUT (1 << 0) -#define HDA_CTL_IN (1 << 1) -#define HDA_CTL_BOTH (HDA_CTL_IN | HDA_CTL_OUT) +#define HDA_ADC_MONITOR (1 << 0) + +#define HDA_CTL_OUT 1 +#define HDA_CTL_IN 2 #define HDA_GPIO_MAX 8 /* 0 - 7 = GPIO , 8 = Flush */ @@ -346,6 +372,7 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_QUIRK_FORCESTEREO (1 << 11) #define HDA_QUIRK_EAPDINV (1 << 12) #define HDA_QUIRK_DMAPOS (1 << 13) +#define HDA_QUIRK_SENSEINV (1 << 14) /* 26 - 31 = vrefs */ #define HDA_QUIRK_IVREF50 (1 << 26) @@ -361,9 +388,6 @@ SND_DECLARE_FILE("$FreeBSD$"); HDA_QUIRK_OVREF100) #define HDA_QUIRK_VREF (HDA_QUIRK_IVREF | HDA_QUIRK_OVREF) -#define SOUND_MASK_SKIP (1 << 30) -#define SOUND_MASK_DISABLE (1 << 31) - #if __FreeBSD_version < 600000 #define taskqueue_drain(...) #endif @@ -386,6 +410,7 @@ static const struct { { "forcestereo", HDA_QUIRK_FORCESTEREO }, { "eapdinv", HDA_QUIRK_EAPDINV }, { "dmapos", HDA_QUIRK_DMAPOS }, + { "senseinv", HDA_QUIRK_SENSEINV }, { "ivref50", HDA_QUIRK_IVREF50 }, { "ivref80", HDA_QUIRK_IVREF80 }, { "ivref100", HDA_QUIRK_IVREF100 }, @@ -413,14 +438,18 @@ static const struct { #define HDA_PARSE_MAXDEPTH 10 #define HDAC_UNSOLTAG_EVENT_HP 0x00 -#define HDAC_UNSOLTAG_EVENT_TEST 0x01 MALLOC_DEFINE(M_HDAC, "hdac", "High Definition Audio Controller"); -enum { - HDA_PARSE_MIXER, - HDA_PARSE_DIRECT -}; +const char *HDA_COLORS[16] = {"Unknown", "Black", "Grey", "Blue", "Green", "Red", + "Orange", "Yellow", "Purple", "Pink", "Res.A", "Res.B", "Res.C", "Res.D", + "White", "Other"}; + +const char *HDA_DEVS[16] = {"Line-out", "Speaker", "Headphones", "CD", + "SPDIF-out", "Digital-out", "Modem-line", "Modem-handset", "Line-in", + "AUX", "Mic", "Telephony", "SPDIF-in", "Digital-in", "Res.E", "Other"}; + +const char *HDA_CONNS[4] = {"Jack", "None", "Fixed", "Both"}; /* Default */ static uint32_t hdac_fmt[] = { @@ -439,6 +468,8 @@ static const struct { { HDA_INTEL_82801G, "Intel 82801G" }, { HDA_INTEL_82801H, "Intel 82801H" }, { HDA_INTEL_82801I, "Intel 82801I" }, + { HDA_INTEL_82801J, "Intel 82801J" }, + { HDA_INTEL_SCH, "Intel SCH" }, { HDA_NVIDIA_MCP51, "NVidia MCP51" }, { HDA_NVIDIA_MCP55, "NVidia MCP55" }, { HDA_NVIDIA_MCP61_1, "NVidia MCP61" }, @@ -447,16 +478,28 @@ static const struct { { HDA_NVIDIA_MCP65_2, "NVidia MCP65" }, { HDA_NVIDIA_MCP67_1, "NVidia MCP67" }, { HDA_NVIDIA_MCP67_2, "NVidia MCP67" }, + { HDA_NVIDIA_MCP73_1, "NVidia MCP73" }, + { HDA_NVIDIA_MCP73_2, "NVidia MCP73" }, + { HDA_NVIDIA_MCP78_1, "NVidia MCP78" }, + { HDA_NVIDIA_MCP78_2, "NVidia MCP78" }, + { HDA_NVIDIA_MCP78_3, "NVidia MCP78" }, + { HDA_NVIDIA_MCP78_4, "NVidia MCP78" }, + { HDA_NVIDIA_MCP79_1, "NVidia MCP79" }, + { HDA_NVIDIA_MCP79_2, "NVidia MCP79" }, + { HDA_NVIDIA_MCP79_3, "NVidia MCP79" }, + { HDA_NVIDIA_MCP79_4, "NVidia MCP79" }, { HDA_ATI_SB450, "ATI SB450" }, { HDA_ATI_SB600, "ATI SB600" }, { HDA_VIA_VT82XX, "VIA VT8251/8237A" }, { HDA_SIS_966, "SiS 966" }, + { HDA_ULI_M5461, "ULI M5461" }, /* Unknown */ { HDA_INTEL_ALL, "Intel (Unknown)" }, { HDA_NVIDIA_ALL, "NVidia (Unknown)" }, { HDA_ATI_ALL, "ATI (Unknown)" }, { HDA_VIA_ALL, "VIA (Unknown)" }, { HDA_SIS_ALL, "SiS (Unknown)" }, + { HDA_ULI_ALL, "ULI (Unknown)" }, }; #define HDAC_DEVICES_LEN (sizeof(hdac_devices) / sizeof(hdac_devices[0])) @@ -526,8 +569,13 @@ static const struct { #define REALTEK_VENDORID 0x10ec #define HDA_CODEC_ALC260 HDA_CODEC_CONSTRUCT(REALTEK, 0x0260) #define HDA_CODEC_ALC262 HDA_CODEC_CONSTRUCT(REALTEK, 0x0262) +#define HDA_CODEC_ALC267 HDA_CODEC_CONSTRUCT(REALTEK, 0x0267) #define HDA_CODEC_ALC268 HDA_CODEC_CONSTRUCT(REALTEK, 0x0268) +#define HDA_CODEC_ALC269 HDA_CODEC_CONSTRUCT(REALTEK, 0x0269) +#define HDA_CODEC_ALC272 HDA_CODEC_CONSTRUCT(REALTEK, 0x0272) #define HDA_CODEC_ALC660 HDA_CODEC_CONSTRUCT(REALTEK, 0x0660) +#define HDA_CODEC_ALC662 HDA_CODEC_CONSTRUCT(REALTEK, 0x0662) +#define HDA_CODEC_ALC663 HDA_CODEC_CONSTRUCT(REALTEK, 0x0663) #define HDA_CODEC_ALC861 HDA_CODEC_CONSTRUCT(REALTEK, 0x0861) #define HDA_CODEC_ALC861VD HDA_CODEC_CONSTRUCT(REALTEK, 0x0862) #define HDA_CODEC_ALC880 HDA_CODEC_CONSTRUCT(REALTEK, 0x0880) @@ -535,16 +583,26 @@ static const struct { #define HDA_CODEC_ALC883 HDA_CODEC_CONSTRUCT(REALTEK, 0x0883) #define HDA_CODEC_ALC885 HDA_CODEC_CONSTRUCT(REALTEK, 0x0885) #define HDA_CODEC_ALC888 HDA_CODEC_CONSTRUCT(REALTEK, 0x0888) +#define HDA_CODEC_ALC889 HDA_CODEC_CONSTRUCT(REALTEK, 0x0889) #define HDA_CODEC_ALCXXXX HDA_CODEC_CONSTRUCT(REALTEK, 0xffff) /* Analog Devices */ #define ANALOGDEVICES_VENDORID 0x11d4 +#define HDA_CODEC_AD1884A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x184a) +#define HDA_CODEC_AD1882 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1882) +#define HDA_CODEC_AD1883 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1883) +#define HDA_CODEC_AD1884 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1884) +#define HDA_CODEC_AD1984A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194a) +#define HDA_CODEC_AD1984B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194b) #define HDA_CODEC_AD1981HD HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1981) #define HDA_CODEC_AD1983 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1983) #define HDA_CODEC_AD1984 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1984) #define HDA_CODEC_AD1986A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1986) +#define HDA_CODEC_AD1987 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1987) #define HDA_CODEC_AD1988 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1988) #define HDA_CODEC_AD1988B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x198b) +#define HDA_CODEC_AD1882A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x882a) +#define HDA_CODEC_AD1989B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x989b) #define HDA_CODEC_ADXXXX HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0xffff) /* CMedia */ @@ -554,29 +612,77 @@ static const struct { /* Sigmatel */ #define SIGMATEL_VENDORID 0x8384 +#define HDA_CODEC_STAC9230X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7612) +#define HDA_CODEC_STAC9230D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7613) +#define HDA_CODEC_STAC9229X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7614) +#define HDA_CODEC_STAC9229D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7615) +#define HDA_CODEC_STAC9228X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7616) +#define HDA_CODEC_STAC9228D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7617) +#define HDA_CODEC_STAC9227X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7618) +#define HDA_CODEC_STAC9227D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7619) +#define HDA_CODEC_STAC9274 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7620) +#define HDA_CODEC_STAC9274D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7621) +#define HDA_CODEC_STAC9273X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7622) +#define HDA_CODEC_STAC9273D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7623) +#define HDA_CODEC_STAC9272X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7624) +#define HDA_CODEC_STAC9272D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7625) +#define HDA_CODEC_STAC9271X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7626) +#define HDA_CODEC_STAC9271D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7627) +#define HDA_CODEC_STAC9274X5NH HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7628) +#define HDA_CODEC_STAC9274D5NH HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7629) +#define HDA_CODEC_STAC9250 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7634) +#define HDA_CODEC_STAC9251 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7636) +#define HDA_CODEC_IDT92HD700X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7638) +#define HDA_CODEC_IDT92HD700D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7639) +#define HDA_CODEC_IDT92HD206X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7645) +#define HDA_CODEC_IDT92HD206D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7646) +#define HDA_CODEC_STAC9872AK HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7662) #define HDA_CODEC_STAC9221 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7680) +#define HDA_CODEC_STAC922XD HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7681) +#define HDA_CODEC_STAC9221_A2 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7682) #define HDA_CODEC_STAC9221D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7683) #define HDA_CODEC_STAC9220 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7690) -#define HDA_CODEC_STAC922XD HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7681) -#define HDA_CODEC_STAC9227 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7618) -#define HDA_CODEC_STAC9271D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7627) -#define HDA_CODEC_STAC9205 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a0) -#define HDA_CODEC_STAC9872AK HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7662) +#define HDA_CODEC_STAC9200D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7691) +#define HDA_CODEC_IDT92HD005 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7698) +#define HDA_CODEC_IDT92HD005D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7699) +#define HDA_CODEC_STAC9205X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a0) +#define HDA_CODEC_STAC9205D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a1) +#define HDA_CODEC_STAC9204X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a2) +#define HDA_CODEC_STAC9204D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a3) +#define HDA_CODEC_STAC9220_A2 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7880) +#define HDA_CODEC_STAC9220_A1 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7882) #define HDA_CODEC_STACXXXX HDA_CODEC_CONSTRUCT(SIGMATEL, 0xffff) -/* - * Conexant - * - * Ok, the truth is, I don't have any idea at all whether - * it is "Venice" or "Waikiki" or other unnamed CXyadayada. The only - * place that tell me it is "Venice" is from its Windows driver INF. - * - * Venice - CX????? - * Waikiki - CX20551-22 - */ +/* IDT */ +#define IDT_VENDORID 0x111d +#define HDA_CODEC_IDT92HD75BX HDA_CODEC_CONSTRUCT(IDT, 0x7603) +#define HDA_CODEC_IDT92HD83C1X HDA_CODEC_CONSTRUCT(IDT, 0x7604) +#define HDA_CODEC_IDT92HD81B1X HDA_CODEC_CONSTRUCT(IDT, 0x7605) +#define HDA_CODEC_IDT92HD75B3 HDA_CODEC_CONSTRUCT(IDT, 0x7608) +#define HDA_CODEC_IDT92HD73D1 HDA_CODEC_CONSTRUCT(IDT, 0x7674) +#define HDA_CODEC_IDT92HD73C1 HDA_CODEC_CONSTRUCT(IDT, 0x7675) +#define HDA_CODEC_IDT92HD73E1 HDA_CODEC_CONSTRUCT(IDT, 0x7676) +#define HDA_CODEC_IDT92HD71B8 HDA_CODEC_CONSTRUCT(IDT, 0x76b0) +#define HDA_CODEC_IDT92HD71B7 HDA_CODEC_CONSTRUCT(IDT, 0x76b2) +#define HDA_CODEC_IDT92HD71B5 HDA_CODEC_CONSTRUCT(IDT, 0x76b6) +#define HDA_CODEC_IDT92HD83C1C HDA_CODEC_CONSTRUCT(IDT, 0x76d4) +#define HDA_CODEC_IDT92HD81B1C HDA_CODEC_CONSTRUCT(IDT, 0x76d5) +#define HDA_CODEC_IDTXXXX HDA_CODEC_CONSTRUCT(IDT, 0xffff) + +/* Silicon Image */ +#define SII_VENDORID 0x1095 +#define HDA_CODEC_SII1392 HDA_CODEC_CONSTRUCT(SII, 0x1392) +#define HDA_CODEC_SIIXXXX HDA_CODEC_CONSTRUCT(SII, 0xffff) + +/* Lucent/Agere */ +#define AGERE_VENDORID 0x11c1 +#define HDA_CODEC_AGEREXXXX HDA_CODEC_CONSTRUCT(AGERE, 0xffff) + +/* Conexant */ #define CONEXANT_VENDORID 0x14f1 -#define HDA_CODEC_CXVENICE HDA_CODEC_CONSTRUCT(CONEXANT, 0x5045) -#define HDA_CODEC_CXWAIKIKI HDA_CODEC_CONSTRUCT(CONEXANT, 0x5047) +#define HDA_CODEC_CX20549 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5045) +#define HDA_CODEC_CX20551 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5047) +#define HDA_CODEC_CX20561 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5051) #define HDA_CODEC_CXXXXX HDA_CODEC_CONSTRUCT(CONEXANT, 0xffff) /* VIA */ @@ -592,8 +698,28 @@ static const struct { #define HDA_CODEC_VT1709_5 HDA_CODEC_CONSTRUCT(VIA, 0xe715) #define HDA_CODEC_VT1709_6 HDA_CODEC_CONSTRUCT(VIA, 0xe716) #define HDA_CODEC_VT1709_7 HDA_CODEC_CONSTRUCT(VIA, 0xe717) +#define HDA_CODEC_VT1708B_0 HDA_CODEC_CONSTRUCT(VIA, 0xe720) +#define HDA_CODEC_VT1708B_1 HDA_CODEC_CONSTRUCT(VIA, 0xe721) +#define HDA_CODEC_VT1708B_2 HDA_CODEC_CONSTRUCT(VIA, 0xe722) +#define HDA_CODEC_VT1708B_3 HDA_CODEC_CONSTRUCT(VIA, 0xe723) +#define HDA_CODEC_VT1708B_4 HDA_CODEC_CONSTRUCT(VIA, 0xe724) +#define HDA_CODEC_VT1708B_5 HDA_CODEC_CONSTRUCT(VIA, 0xe725) +#define HDA_CODEC_VT1708B_6 HDA_CODEC_CONSTRUCT(VIA, 0xe726) +#define HDA_CODEC_VT1708B_7 HDA_CODEC_CONSTRUCT(VIA, 0xe727) #define HDA_CODEC_VTXXXX HDA_CODEC_CONSTRUCT(VIA, 0xffff) +/* ATI */ +#define HDA_CODEC_ATIRS600_1 HDA_CODEC_CONSTRUCT(ATI, 0x793c) +#define HDA_CODEC_ATIRS600_2 HDA_CODEC_CONSTRUCT(ATI, 0x7919) +#define HDA_CODEC_ATIRS690 HDA_CODEC_CONSTRUCT(ATI, 0x791a) +#define HDA_CODEC_ATIR6XX HDA_CODEC_CONSTRUCT(ATI, 0xaa01) +#define HDA_CODEC_ATIXXXX HDA_CODEC_CONSTRUCT(ATI, 0xffff) + +/* NVIDIA */ +#define HDA_CODEC_NVIDIAXXXX HDA_CODEC_CONSTRUCT(NVIDIA, 0xffff) + +/* INTEL */ +#define HDA_CODEC_INTELXXXX HDA_CODEC_CONSTRUCT(INTEL, 0xffff) /* Codecs */ static const struct { @@ -602,8 +728,13 @@ static const struct { } hdac_codecs[] = { { HDA_CODEC_ALC260, "Realtek ALC260" }, { HDA_CODEC_ALC262, "Realtek ALC262" }, + { HDA_CODEC_ALC267, "Realtek ALC267" }, { HDA_CODEC_ALC268, "Realtek ALC268" }, + { HDA_CODEC_ALC269, "Realtek ALC269" }, + { HDA_CODEC_ALC272, "Realtek ALC272" }, { HDA_CODEC_ALC660, "Realtek ALC660" }, + { HDA_CODEC_ALC662, "Realtek ALC662" }, + { HDA_CODEC_ALC663, "Realtek ALC663" }, { HDA_CODEC_ALC861, "Realtek ALC861" }, { HDA_CODEC_ALC861VD, "Realtek ALC861-VD" }, { HDA_CODEC_ALC880, "Realtek ALC880" }, @@ -611,23 +742,77 @@ static const struct { { HDA_CODEC_ALC883, "Realtek ALC883" }, { HDA_CODEC_ALC885, "Realtek ALC885" }, { HDA_CODEC_ALC888, "Realtek ALC888" }, + { HDA_CODEC_ALC889, "Realtek ALC889" }, + { HDA_CODEC_AD1882, "Analog Devices AD1882" }, + { HDA_CODEC_AD1882A, "Analog Devices AD1882A" }, + { HDA_CODEC_AD1883, "Analog Devices AD1883" }, + { HDA_CODEC_AD1884, "Analog Devices AD1884" }, + { HDA_CODEC_AD1884A, "Analog Devices AD1884A" }, { HDA_CODEC_AD1981HD, "Analog Devices AD1981HD" }, { HDA_CODEC_AD1983, "Analog Devices AD1983" }, { HDA_CODEC_AD1984, "Analog Devices AD1984" }, + { HDA_CODEC_AD1984A, "Analog Devices AD1984A" }, + { HDA_CODEC_AD1984B, "Analog Devices AD1984B" }, { HDA_CODEC_AD1986A, "Analog Devices AD1986A" }, - { HDA_CODEC_AD1988, "Analog Devices AD1988" }, + { HDA_CODEC_AD1987, "Analog Devices AD1987" }, + { HDA_CODEC_AD1988, "Analog Devices AD1988A" }, { HDA_CODEC_AD1988B, "Analog Devices AD1988B" }, + { HDA_CODEC_AD1989B, "Analog Devices AD1989B" }, { HDA_CODEC_CMI9880, "CMedia CMI9880" }, + { HDA_CODEC_STAC9200D, "Sigmatel STAC9200D" }, + { HDA_CODEC_STAC9204X, "Sigmatel STAC9204X" }, + { HDA_CODEC_STAC9204D, "Sigmatel STAC9204D" }, + { HDA_CODEC_STAC9205X, "Sigmatel STAC9205X" }, + { HDA_CODEC_STAC9205D, "Sigmatel STAC9205D" }, + { HDA_CODEC_STAC9220, "Sigmatel STAC9220" }, + { HDA_CODEC_STAC9220_A1, "Sigmatel STAC9220_A1" }, + { HDA_CODEC_STAC9220_A2, "Sigmatel STAC9220_A2" }, { HDA_CODEC_STAC9221, "Sigmatel STAC9221" }, + { HDA_CODEC_STAC9221_A2, "Sigmatel STAC9221_A2" }, { HDA_CODEC_STAC9221D, "Sigmatel STAC9221D" }, - { HDA_CODEC_STAC9220, "Sigmatel STAC9220" }, { HDA_CODEC_STAC922XD, "Sigmatel STAC9220D/9223D" }, - { HDA_CODEC_STAC9227, "Sigmatel STAC9227" }, + { HDA_CODEC_STAC9227X, "Sigmatel STAC9227X" }, + { HDA_CODEC_STAC9227D, "Sigmatel STAC9227D" }, + { HDA_CODEC_STAC9228X, "Sigmatel STAC9228X" }, + { HDA_CODEC_STAC9228D, "Sigmatel STAC9228D" }, + { HDA_CODEC_STAC9229X, "Sigmatel STAC9229X" }, + { HDA_CODEC_STAC9229D, "Sigmatel STAC9229D" }, + { HDA_CODEC_STAC9230X, "Sigmatel STAC9230X" }, + { HDA_CODEC_STAC9230D, "Sigmatel STAC9230D" }, + { HDA_CODEC_STAC9250, "Sigmatel STAC9250" }, + { HDA_CODEC_STAC9251, "Sigmatel STAC9251" }, + { HDA_CODEC_STAC9271X, "Sigmatel STAC9271X" }, { HDA_CODEC_STAC9271D, "Sigmatel STAC9271D" }, - { HDA_CODEC_STAC9205, "Sigmatel STAC9205" }, - { HDA_CODEC_STAC9872AK,"Sigmatel STAC9872AK" }, - { HDA_CODEC_CXVENICE, "Conexant Venice" }, - { HDA_CODEC_CXWAIKIKI, "Conexant Waikiki" }, + { HDA_CODEC_STAC9272X, "Sigmatel STAC9272X" }, + { HDA_CODEC_STAC9272D, "Sigmatel STAC9272D" }, + { HDA_CODEC_STAC9273X, "Sigmatel STAC9273X" }, + { HDA_CODEC_STAC9273D, "Sigmatel STAC9273D" }, + { HDA_CODEC_STAC9274, "Sigmatel STAC9274" }, + { HDA_CODEC_STAC9274D, "Sigmatel STAC9274D" }, + { HDA_CODEC_STAC9274X5NH, "Sigmatel STAC9274X5NH" }, + { HDA_CODEC_STAC9274D5NH, "Sigmatel STAC9274D5NH" }, + { HDA_CODEC_STAC9872AK, "Sigmatel STAC9872AK" }, + { HDA_CODEC_IDT92HD005, "IDT 92HD005" }, + { HDA_CODEC_IDT92HD005D, "IDT 92HD005D" }, + { HDA_CODEC_IDT92HD206X, "IDT 92HD206X" }, + { HDA_CODEC_IDT92HD206D, "IDT 92HD206D" }, + { HDA_CODEC_IDT92HD700X, "IDT 92HD700X" }, + { HDA_CODEC_IDT92HD700D, "IDT 92HD700D" }, + { HDA_CODEC_IDT92HD71B5, "IDT 92HD71B5" }, + { HDA_CODEC_IDT92HD71B7, "IDT 92HD71B7" }, + { HDA_CODEC_IDT92HD71B8, "IDT 92HD71B8" }, + { HDA_CODEC_IDT92HD73C1, "IDT 92HD73C1" }, + { HDA_CODEC_IDT92HD73D1, "IDT 92HD73D1" }, + { HDA_CODEC_IDT92HD73E1, "IDT 92HD73E1" }, + { HDA_CODEC_IDT92HD75B3, "IDT 92HD75B3" }, + { HDA_CODEC_IDT92HD75BX, "IDT 92HD75BX" }, + { HDA_CODEC_IDT92HD81B1C, "IDT 92HD81B1C" }, + { HDA_CODEC_IDT92HD81B1X, "IDT 92HD81B1X" }, + { HDA_CODEC_IDT92HD83C1C, "IDT 92HD83C1C" }, + { HDA_CODEC_IDT92HD83C1X, "IDT 92HD83C1X" }, + { HDA_CODEC_CX20549, "Conexant CX20549 (Venice)" }, + { HDA_CODEC_CX20551, "Conexant CX20551 (Waikiki)" }, + { HDA_CODEC_CX20561, "Conexant CX20561 (Hermosa)" }, { HDA_CODEC_VT1708_8, "VIA VT1708_8" }, { HDA_CODEC_VT1708_9, "VIA VT1708_9" }, { HDA_CODEC_VT1708_A, "VIA VT1708_A" }, @@ -640,136 +825,41 @@ static const struct { { HDA_CODEC_VT1709_5, "VIA VT1709_5" }, { HDA_CODEC_VT1709_6, "VIA VT1709_6" }, { HDA_CODEC_VT1709_7, "VIA VT1709_7" }, + { HDA_CODEC_VT1708B_0, "VIA VT1708B_0" }, + { HDA_CODEC_VT1708B_1, "VIA VT1708B_1" }, + { HDA_CODEC_VT1708B_2, "VIA VT1708B_2" }, + { HDA_CODEC_VT1708B_3, "VIA VT1708B_3" }, + { HDA_CODEC_VT1708B_4, "VIA VT1708B_4" }, + { HDA_CODEC_VT1708B_5, "VIA VT1708B_5" }, + { HDA_CODEC_VT1708B_6, "VIA VT1708B_6" }, + { HDA_CODEC_VT1708B_7, "VIA VT1708B_7" }, + { HDA_CODEC_ATIRS600_1,"ATI RS600 HDMI" }, + { HDA_CODEC_ATIRS600_2,"ATI RS600 HDMI" }, + { HDA_CODEC_ATIRS690, "ATI RS690/780 HDMI" }, + { HDA_CODEC_ATIR6XX, "ATI R6xx HDMI" }, + { HDA_CODEC_SII1392, "Silicon Image SiI1392 HDMI" }, /* Unknown codec */ { HDA_CODEC_ALCXXXX, "Realtek (Unknown)" }, { HDA_CODEC_ADXXXX, "Analog Devices (Unknown)" }, { HDA_CODEC_CMIXXXX, "CMedia (Unknown)" }, { HDA_CODEC_STACXXXX, "Sigmatel (Unknown)" }, + { HDA_CODEC_SIIXXXX, "Silicon Image (Unknown)" }, + { HDA_CODEC_AGEREXXXX, "Lucent/Agere Systems (Unknown)" }, { HDA_CODEC_CXXXXX, "Conexant (Unknown)" }, { HDA_CODEC_VTXXXX, "VIA (Unknown)" }, + { HDA_CODEC_ATIXXXX, "ATI (Unknown)" }, + { HDA_CODEC_NVIDIAXXXX,"NVidia (Unknown)" }, + { HDA_CODEC_INTELXXXX, "Intel (Unknown)" }, + { HDA_CODEC_IDTXXXX, "IDT (Unknown)" }, }; #define HDAC_CODECS_LEN (sizeof(hdac_codecs) / sizeof(hdac_codecs[0])) -enum { - HDAC_HP_SWITCH_CTL, - HDAC_HP_SWITCH_CTRL, - HDAC_HP_SWITCH_DEBUG -}; - -static const struct { - uint32_t model; - uint32_t id; - int type; - int inverted; - int polling; - int execsense; - nid_t hpnid; - nid_t spkrnid[8]; - nid_t eapdnid; -} hdac_hp_switch[] = { - /* Specific OEM models */ - { HP_V3000_SUBVENDOR, HDA_CODEC_CXVENICE, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 17, { 16, -1 }, 16 }, - /* { HP_XW4300_SUBVENDOR, HDA_CODEC_ALC260, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 21, { 16, 17, -1 }, -1 } */ - /* { HP_3010_SUBVENDOR, HDA_CODEC_ALC260, HDAC_HP_SWITCH_DEBUG, - 0, 1, 0, 16, { 15, 18, 19, 20, 21, -1 }, -1 }, */ - { HP_NX7400_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, 5 }, - { HP_NX6310_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, 5 }, - { HP_NX6325_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, 5 }, - /* { HP_DC7700_SUBVENDOR, HDA_CODEC_ALC262, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 21, { 22, 27, -1 }, -1 }, */ - { TOSHIBA_U200_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, -1 }, - { TOSHIBA_A135_SUBVENDOR, HDA_CODEC_ALC861VD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 27, { 20, -1 }, -1 }, - { DELL_D820_SUBVENDOR, HDA_CODEC_STAC9220, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 13, { 14, -1 }, -1 }, - { DELL_I1300_SUBVENDOR, HDA_CODEC_STAC9220, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 13, { 14, -1 }, -1 }, - { DELL_OPLX745_SUBVENDOR, HDA_CODEC_AD1983, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, 7, -1 }, -1 }, - { DELL_D630_SUBVENDOR, HDA_CODEC_STAC9205, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 10, { 13, -1 }, -1 }, - { DELL_V1500_SUBVENDOR, HDA_CODEC_STAC9205, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 10, { 13, -1 }, -1 }, - { APPLE_MB3_SUBVENDOR, HDA_CODEC_ALC885, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 21, { 20, 22, -1 }, -1 }, - { APPLE_INTEL_MAC, HDA_CODEC_STAC9221, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 10, { 13, -1 }, -1 }, - { LENOVO_3KN100_SUBVENDOR, HDA_CODEC_AD1986A, HDAC_HP_SWITCH_CTL, - 1, 0, -1, 26, { 27, -1 }, -1 }, - { LENOVO_3KN200_SUBVENDOR, HDA_CODEC_ALC861VD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 27, { 20, -1 }, -1 }, - /* { LENOVO_TCA55_SUBVENDOR, HDA_CODEC_AD1986A, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 26, { 27, 28, 29, 30, -1 }, -1 }, */ - { LG_LW20_SUBVENDOR, HDA_CODEC_ALC880, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 27, { 20, -1 }, -1 }, - { ACER_A5050_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { ACER_3681WXM_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { ACER_A4520_SUBVENDOR, HDA_CODEC_ALC268, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { ACER_A4710_SUBVENDOR, HDA_CODEC_ALC268, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { ACER_A4715_SUBVENDOR, HDA_CODEC_ALC268, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { UNIWILL_9080_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { MSI_MS1034_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 27, -1 }, -1 }, - { MSI_MS034A_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 27, -1 }, -1 }, - { FS_SI1848_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { FL_S7020D_SUBVENDOR, HDA_CODEC_ALC260, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 16, -1 }, -1 }, - { FL_U1010_SUBVENDOR, HDA_CODEC_ALC262, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - /* - * All models that at least come from the same vendor with - * simmilar codec. - */ - { HP_ALL_SUBVENDOR, HDA_CODEC_CXVENICE, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 17, { 16, -1 }, 16 }, - { HP_ALL_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, 5 }, - { TOSHIBA_ALL_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, -1 }, - { DELL_ALL_SUBVENDOR, HDA_CODEC_STAC9220, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 13, { 14, -1 }, -1 }, -#if 0 - { LENOVO_ALL_SUBVENDOR, HDA_CODEC_AD1986A, HDAC_HP_SWITCH_CTL, - 1, 0, -1, 26, { 27, -1 }, -1 }, - { ACER_ALL_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, -#endif -}; -#define HDAC_HP_SWITCH_LEN \ - (sizeof(hdac_hp_switch) / sizeof(hdac_hp_switch[0])) - -static const struct { - uint32_t model; - uint32_t id; - nid_t eapdnid; - int hp_switch; -} hdac_eapd_switch[] = { - { HP_V3000_SUBVENDOR, HDA_CODEC_CXVENICE, 16, 1 }, - { HP_NX7400_SUBVENDOR, HDA_CODEC_AD1981HD, 5, 1 }, - { HP_NX6310_SUBVENDOR, HDA_CODEC_AD1981HD, 5, 1 }, -}; -#define HDAC_EAPD_SWITCH_LEN \ - (sizeof(hdac_eapd_switch) / sizeof(hdac_eapd_switch[0])) /**************************************************************************** * Function prototypes ****************************************************************************/ static void hdac_intr_handler(void *); -static int hdac_reset(struct hdac_softc *); +static int hdac_reset(struct hdac_softc *, int); static int hdac_get_capabilities(struct hdac_softc *); static void hdac_dma_cb(void *, bus_dma_segment_t *, int, int); static int hdac_dma_alloc(struct hdac_softc *, @@ -783,10 +873,10 @@ static void hdac_corb_init(struct hdac_s static void hdac_rirb_init(struct hdac_softc *); static void hdac_corb_start(struct hdac_softc *); static void hdac_rirb_start(struct hdac_softc *); -static void hdac_scan_codecs(struct hdac_softc *, int); -static int hdac_probe_codec(struct hdac_codec *); -static struct hdac_devinfo *hdac_probe_function(struct hdac_codec *, nid_t); -static void hdac_add_child(struct hdac_softc *, struct hdac_devinfo *); +static void hdac_scan_codecs(struct hdac_softc *); +static void hdac_probe_codec(struct hdac_codec *); +static void hdac_probe_function(struct hdac_codec *, nid_t); +static int hdac_pcmchannel_setup(struct hdac_chan *); static void hdac_attach2(void *); @@ -798,34 +888,37 @@ static void hdac_command_send_internal(s static int hdac_probe(device_t); static int hdac_attach(device_t); static int hdac_detach(device_t); +static int hdac_suspend(device_t); +static int hdac_resume(device_t); static void hdac_widget_connection_select(struct hdac_widget *, uint8_t); static void hdac_audio_ctl_amp_set(struct hdac_audio_ctl *, uint32_t, int, int); static struct hdac_audio_ctl *hdac_audio_ctl_amp_get(struct hdac_devinfo *, - nid_t, int, int); + nid_t, int, int, int); static void hdac_audio_ctl_amp_set_internal(struct hdac_softc *, nid_t, nid_t, int, int, int, int, int, int); -static int hdac_audio_ctl_ossmixer_getnextdev(struct hdac_devinfo *); static struct hdac_widget *hdac_widget_get(struct hdac_devinfo *, nid_t); static int hdac_rirb_flush(struct hdac_softc *sc); static int hdac_unsolq_flush(struct hdac_softc *sc); +static void hdac_dump_pin_config(struct hdac_widget *w, uint32_t conf); + #define hdac_command(a1, a2, a3) \ hdac_command_sendone_internal(a1, a2, a3) -#define hdac_codec_id(d) \ - ((uint32_t)((d == NULL) ? 0x00000000 : \ - ((((uint32_t)(d)->vendor_id & 0x0000ffff) << 16) | \ - ((uint32_t)(d)->device_id & 0x0000ffff)))) +#define hdac_codec_id(c) \ + ((uint32_t)((c == NULL) ? 0x00000000 : \ + ((((uint32_t)(c)->vendor_id & 0x0000ffff) << 16) | \ + ((uint32_t)(c)->device_id & 0x0000ffff)))) static char * -hdac_codec_name(struct hdac_devinfo *devinfo) +hdac_codec_name(struct hdac_codec *codec) { uint32_t id; int i; - id = hdac_codec_id(devinfo); + id = hdac_codec_id(codec); for (i = 0; i < HDAC_CODECS_LEN; i++) { if (HDA_DEV_MATCH(hdac_codecs[i].id, id)) @@ -836,20 +929,6 @@ hdac_codec_name(struct hdac_devinfo *dev } static char * -hdac_audio_ctl_ossmixer_mask2name(uint32_t devmask) -{ - static char *ossname[] = SOUND_DEVICE_NAMES; - static char *unknown = "???"; - int i; - - for (i = SOUND_MIXER_NRDEVICES - 1; i >= 0; i--) { - if (devmask & (1 << i)) - return (ossname[i]); - } - return (unknown); -} - -static void hdac_audio_ctl_ossmixer_mask2allname(uint32_t mask, char *buf, size_t len) { static char *ossname[] = SOUND_DEVICE_NAMES; @@ -864,6 +943,7 @@ hdac_audio_ctl_ossmixer_mask2allname(uin first = 0; } } + return (buf); } static struct hdac_audio_ctl * @@ -879,48 +959,46 @@ hdac_audio_ctl_each(struct hdac_devinfo } static struct hdac_audio_ctl * -hdac_audio_ctl_amp_get(struct hdac_devinfo *devinfo, nid_t nid, +hdac_audio_ctl_amp_get(struct hdac_devinfo *devinfo, nid_t nid, int dir, int index, int cnt) { - struct hdac_audio_ctl *ctl, *retctl = NULL; - int i, at, atindex, found = 0; + struct hdac_audio_ctl *ctl; + int i, found = 0; if (devinfo == NULL || devinfo->function.audio.ctl == NULL) return (NULL); - at = cnt; - if (at == 0) - at = 1; - else if (at < 0) - at = -1; - atindex = index; - if (atindex < 0) - atindex = -1; - i = 0; while ((ctl = hdac_audio_ctl_each(devinfo, &i)) != NULL) { - if (ctl->enable == 0 || ctl->widget == NULL) + if (ctl->enable == 0) continue; - if (!(ctl->widget->nid == nid && (atindex == -1 || - ctl->index == atindex))) + if (ctl->widget->nid != nid) + continue; + if (dir && ctl->ndir != dir) + continue; + if (index >= 0 && ctl->ndir == HDA_CTL_IN && + ctl->dir == ctl->ndir && ctl->index != index) continue; found++; - if (found == cnt) + if (found == cnt || cnt <= 0) return (ctl); - retctl = ctl; } - return ((at == -1) ? retctl : NULL); + return (NULL); } +/* + * Jack detection (Speaker/HP redirection) event handler. + */ static void hdac_hp_switch_handler(struct hdac_devinfo *devinfo) { + struct hdac_audio_as *as; struct hdac_softc *sc; struct hdac_widget *w; struct hdac_audio_ctl *ctl; - uint32_t val, id, res; - int i = 0, j, timeout, forcemute; + uint32_t val, res; + int i, j; nid_t cad; if (devinfo == NULL || devinfo->codec == NULL || @@ -929,84 +1007,47 @@ hdac_hp_switch_handler(struct hdac_devin sc = devinfo->codec->sc; cad = devinfo->codec->cad; - id = hdac_codec_id(devinfo); - for (i = 0; i < HDAC_HP_SWITCH_LEN; i++) { - if (HDA_DEV_MATCH(hdac_hp_switch[i].model, - sc->pci_subvendor) && - hdac_hp_switch[i].id == id) - break; - } - - if (i >= HDAC_HP_SWITCH_LEN) - return; - - forcemute = 0; - if (hdac_hp_switch[i].eapdnid != -1) { - w = hdac_widget_get(devinfo, hdac_hp_switch[i].eapdnid); - if (w != NULL && w->param.eapdbtl != HDAC_INVALID) - forcemute = (w->param.eapdbtl & - HDA_CMD_SET_EAPD_BTL_ENABLE_EAPD) ? 0 : 1; - } - - if (hdac_hp_switch[i].execsense != -1) - hdac_command(sc, - HDA_CMD_SET_PIN_SENSE(cad, hdac_hp_switch[i].hpnid, - hdac_hp_switch[i].execsense), cad); + as = devinfo->function.audio.as; + for (i = 0; i < devinfo->function.audio.ascnt; i++) { + if (as[i].hpredir < 0) + continue; + + w = hdac_widget_get(devinfo, as[i].pins[15]); + if (w == NULL || w->enable == 0 || w->type != + HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_PIN_COMPLEX) + continue; - timeout = 10000; - do { res = hdac_command(sc, - HDA_CMD_GET_PIN_SENSE(cad, hdac_hp_switch[i].hpnid), - cad); - if (hdac_hp_switch[i].execsense == -1 || res != 0x7fffffff) - break; - DELAY(10); - } while (--timeout != 0); + HDA_CMD_GET_PIN_SENSE(cad, as[i].pins[15]), cad); - HDA_BOOTVERBOSE( - device_printf(sc->dev, - "HDA_DEBUG: Pin sense: nid=%d timeout=%d res=0x%08x\n", - hdac_hp_switch[i].hpnid, timeout, res); - ); + HDA_BOOTVERBOSE( + device_printf(sc->dev, + "Pin sense: nid=%d res=0x%08x\n", + as[i].pins[15], res); + ); - res = HDA_CMD_GET_PIN_SENSE_PRESENCE_DETECT(res); - res ^= hdac_hp_switch[i].inverted; + res = HDA_CMD_GET_PIN_SENSE_PRESENCE_DETECT(res); + if (devinfo->function.audio.quirks & HDA_QUIRK_SENSEINV) + res ^= 1; - switch (hdac_hp_switch[i].type) { - case HDAC_HP_SWITCH_CTL: + /* (Un)Mute headphone pin. */ ctl = hdac_audio_ctl_amp_get(devinfo, - hdac_hp_switch[i].hpnid, 0, 1); - if (ctl != NULL) { - val = (res != 0 && forcemute == 0) ? - HDA_AMP_MUTE_NONE : HDA_AMP_MUTE_ALL; - if (val != ctl->muted) { - ctl->muted = val; + as[i].pins[15], HDA_CTL_IN, -1, 1); + if (ctl != NULL && ctl->mute) { + /* If pin has muter - use it. */ + val = (res != 0) ? 0 : 1; + if (val != ctl->forcemute) { + ctl->forcemute = val; hdac_audio_ctl_amp_set(ctl, - HDA_AMP_MUTE_DEFAULT, ctl->left, - ctl->right); + HDA_AMP_MUTE_DEFAULT, + HDA_AMP_VOL_DEFAULT, HDA_AMP_VOL_DEFAULT); } - } - for (j = 0; hdac_hp_switch[i].spkrnid[j] != -1; j++) { - ctl = hdac_audio_ctl_amp_get(devinfo, - hdac_hp_switch[i].spkrnid[j], 0, 1); - if (ctl == NULL) - continue; - val = (res != 0 || forcemute == 1) ? - HDA_AMP_MUTE_ALL : HDA_AMP_MUTE_NONE; - if (val == ctl->muted) - continue; - ctl->muted = val; - hdac_audio_ctl_amp_set(ctl, HDA_AMP_MUTE_DEFAULT, - ctl->left, ctl->right); - } - break; - case HDAC_HP_SWITCH_CTRL: - if (res != 0) { - /* HP in */ - w = hdac_widget_get(devinfo, hdac_hp_switch[i].hpnid); + } else { + /* If there is no muter - disable pin output. */ + w = hdac_widget_get(devinfo, as[i].pins[15]); if (w != NULL && w->type == HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_PIN_COMPLEX) { - if (forcemute == 0) + if (res != 0) val = w->wclass.pin.ctrl | *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-freebsd-multimedia@FreeBSD.ORG Wed Jan 7 15:30:09 2009 Return-Path: Delivered-To: freebsd-multimedia@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 167DC1065672 for ; Wed, 7 Jan 2009 15:30:09 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 038E88FC1D for ; Wed, 7 Jan 2009 15:30:09 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n07FU8Bk068341 for ; Wed, 7 Jan 2009 15:30:08 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n07FU8de068331; Wed, 7 Jan 2009 15:30:08 GMT (envelope-from gnats) Date: Wed, 7 Jan 2009 15:30:08 GMT Message-Id: <200901071530.n07FU8de068331@freefall.freebsd.org> To: freebsd-multimedia@FreeBSD.org From: dfilter@FreeBSD.ORG (dfilter service) Cc: Subject: Re: kern/117599: commit references a PR X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: dfilter service List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jan 2009 15:30:09 -0000 The following reply was made to PR kern/117599; it has been noted by GNATS. From: dfilter@FreeBSD.ORG (dfilter service) To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/117599: commit references a PR Date: Wed, 7 Jan 2009 15:29:06 +0000 (UTC) Author: mav Date: Wed Jan 7 15:28:47 2009 New Revision: 186862 URL: http://svn.freebsd.org/changeset/base/186862 Log: Merge updated snd_hda driver version 20081226_0122 from CURRENT. This update gives: - multiple codec per HDA bus support; - multiple functional groups per codec support; - multiple audio devices per functional group support; - digital (SPDIF/HDMI) audio input/output support; - better UAA specification compliance with wide configureability; - headphones redirection controlled by UAA configuration instead of quirks; - improved codec parser, that gives working playback and recording with all of the long list of tested codecs and systems; - suspend/resume support; - part of multichannel audio support (requires OSS improvement to be used); Note, that due to added HDMI audio and logical audio devices support, updated driver often provides several PCM devices. In some cases it can make system default audio device no longer corresponding to the users's habbitual audio connectors. In such cases wanted device can be specified in audio application setup or defined globally via hw.snd.default_unit sysctl according to sound(4) man page. Additional information information about driver operation can be obtained from the updated man page and verbose boot messages. PR: kern/119181, kern/120144, kern/117599, kern/117729, kern/119671, kern/124645, kern/125822, kern/126217, kern/127105 Modified: stable/7/sys/dev/sound/pci/hda/hda_reg.h stable/7/sys/dev/sound/pci/hda/hdac.c stable/7/sys/dev/sound/pci/hda/hdac_private.h Modified: stable/7/sys/dev/sound/pci/hda/hda_reg.h ============================================================================== --- stable/7/sys/dev/sound/pci/hda/hda_reg.h Wed Jan 7 14:00:44 2009 (r186861) +++ stable/7/sys/dev/sound/pci/hda/hda_reg.h Wed Jan 7 15:28:47 2009 (r186862) @@ -180,13 +180,14 @@ HDA_CMD_VERB_SET_CONV_FMT, (payload))) /* Digital Converter Control */ -#define HDA_CMD_VERB_GET_DIGITAL_CONV_FMT 0xf0d +#define HDA_CMD_VERB_GET_DIGITAL_CONV_FMT1 0xf0d +#define HDA_CMD_VERB_GET_DIGITAL_CONV_FMT2 0xf0e #define HDA_CMD_VERB_SET_DIGITAL_CONV_FMT1 0x70d #define HDA_CMD_VERB_SET_DIGITAL_CONV_FMT2 0x70e #define HDA_CMD_GET_DIGITAL_CONV_FMT(cad, nid) \ (HDA_CMD_12BIT((cad), (nid), \ - HDA_CMD_VERB_GET_DIGITAL_CONV_FMTT, 0x0)) + HDA_CMD_VERB_GET_DIGITAL_CONV_FMT1, 0x0)) #define HDA_CMD_SET_DIGITAL_CONV_FMT1(cad, nid, payload) \ (HDA_CMD_12BIT((cad), (nid), \ HDA_CMD_VERB_SET_DIGITAL_CONV_FMT1, (payload))) @@ -1034,7 +1035,7 @@ HDA_PARAM_PIN_CAP_HEADPHONE_CAP_SHIFT) #define HDA_PARAM_PIN_CAP_PRESENCE_DETECT_CAP(param) \ (((param) & HDA_PARAM_PIN_CAP_PRESENCE_DETECT_CAP_MASK) >> \ - HDA_PARAM_PIN_CAP_PRESENCE_DETECT_CAP_MASK) + HDA_PARAM_PIN_CAP_PRESENCE_DETECT_CAP_SHIFT) #define HDA_PARAM_PIN_CAP_TRIGGER_REQD(param) \ (((param) & HDA_PARAM_PIN_CAP_TRIGGER_REQD_MASK) >> \ HDA_PARAM_PIN_CAP_TRIGGER_REQD_SHIFT) @@ -1193,14 +1194,47 @@ HDA_PARAM_VOLUME_KNOB_CAP_NUM_STEPS_SHIFT) -#define HDA_CONFIG_DEFAULTCONF_SEQUENCE_MASK 0x00000000f -#define HDA_CONFIG_DEFAULTCONF_ASSOCIATION_MASK 0x0000000f0 -#define HDA_CONFIG_DEFAULTCONF_MISC_MASK 0x000000f00 -#define HDA_CONFIG_DEFAULTCONF_COLOR_MASK 0x00000f000 -#define HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_MASK 0x000f00000 -#define HDA_CONFIG_DEFAULTCONF_DEVICE_MASK 0x000f00000 -#define HDA_CONFIG_DEFAULTCONF_LOCATION_MASK 0x03f000000 -#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK 0x0c0000000 +#define HDA_CONFIG_DEFAULTCONF_SEQUENCE_MASK 0x0000000f +#define HDA_CONFIG_DEFAULTCONF_SEQUENCE_SHIFT 0 +#define HDA_CONFIG_DEFAULTCONF_ASSOCIATION_MASK 0x000000f0 +#define HDA_CONFIG_DEFAULTCONF_ASSOCIATION_SHIFT 4 +#define HDA_CONFIG_DEFAULTCONF_MISC_MASK 0x00000f00 +#define HDA_CONFIG_DEFAULTCONF_MISC_SHIFT 8 +#define HDA_CONFIG_DEFAULTCONF_COLOR_MASK 0x0000f000 +#define HDA_CONFIG_DEFAULTCONF_COLOR_SHIFT 12 +#define HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_MASK 0x000f0000 +#define HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_SHIFT 16 +#define HDA_CONFIG_DEFAULTCONF_DEVICE_MASK 0x00f00000 +#define HDA_CONFIG_DEFAULTCONF_DEVICE_SHIFT 20 +#define HDA_CONFIG_DEFAULTCONF_LOCATION_MASK 0x3f000000 +#define HDA_CONFIG_DEFAULTCONF_LOCATION_SHIFT 24 +#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK 0xc0000000 +#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_SHIFT 30 + +#define HDA_CONFIG_DEFAULTCONF_SEQUENCE(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_SEQUENCE_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_SEQUENCE_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_ASSOCIATION(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_ASSOCIATION_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_ASSOCIATION_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_MISC(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_MISC_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_MISC_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_COLOR(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_COLOR_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_COLOR_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_DEVICE(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_DEVICE_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_DEVICE_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_LOCATION(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_LOCATION_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_LOCATION_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_SHIFT) #define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_JACK (0<<30) #define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_NONE (1<<30) Modified: stable/7/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- stable/7/sys/dev/sound/pci/hda/hdac.c Wed Jan 7 14:00:44 2009 (r186861) +++ stable/7/sys/dev/sound/pci/hda/hdac.c Wed Jan 7 15:28:47 2009 (r186862) @@ -1,6 +1,7 @@ /*- * Copyright (c) 2006 Stephane E. Potvin * Copyright (c) 2006 Ariff Abdullah + * Copyright (c) 2008 Alexander Motin * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -61,6 +62,7 @@ * * Daniel Eischen * * * Maxime Guillaud * * * Ariff Abdullah * + * * Alexander Motin * * * * * * ....and various people from freebsd-multimedia@FreeBSD.org * * * * @@ -81,8 +83,7 @@ #include "mixer_if.h" -#define HDA_DRV_TEST_REV "20080420_0052" -#define HDA_WIDGET_PARSER_REV 1 +#define HDA_DRV_TEST_REV "20081226_0122" SND_DECLARE_FILE("$FreeBSD$"); @@ -92,6 +93,12 @@ SND_DECLARE_FILE("$FreeBSD$"); } \ } while(0) +#define HDA_BOOTHVERBOSE(stmt) do { \ + if (snd_verbose > 3) { \ + stmt \ + } \ +} while(0) + #if 1 #undef HDAC_INTR_EXTRA #define HDAC_INTR_EXTRA 1 @@ -141,6 +148,8 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_INTEL_82801G HDA_MODEL_CONSTRUCT(INTEL, 0x27d8) #define HDA_INTEL_82801H HDA_MODEL_CONSTRUCT(INTEL, 0x284b) #define HDA_INTEL_82801I HDA_MODEL_CONSTRUCT(INTEL, 0x293e) +#define HDA_INTEL_82801J HDA_MODEL_CONSTRUCT(INTEL, 0x3a3e) +#define HDA_INTEL_SCH HDA_MODEL_CONSTRUCT(INTEL, 0x811b) #define HDA_INTEL_ALL HDA_MODEL_CONSTRUCT(INTEL, 0xffff) /* Nvidia */ @@ -153,6 +162,16 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_NVIDIA_MCP65_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x044b) #define HDA_NVIDIA_MCP67_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x055c) #define HDA_NVIDIA_MCP67_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x055d) +#define HDA_NVIDIA_MCP78_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0774) +#define HDA_NVIDIA_MCP78_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0775) +#define HDA_NVIDIA_MCP78_3 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0776) +#define HDA_NVIDIA_MCP78_4 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0777) +#define HDA_NVIDIA_MCP73_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x07fc) +#define HDA_NVIDIA_MCP73_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x07fd) +#define HDA_NVIDIA_MCP79_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac0) +#define HDA_NVIDIA_MCP79_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac1) +#define HDA_NVIDIA_MCP79_3 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac2) +#define HDA_NVIDIA_MCP79_4 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac3) #define HDA_NVIDIA_ALL HDA_MODEL_CONSTRUCT(NVIDIA, 0xffff) /* ATI */ @@ -171,6 +190,11 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_SIS_966 HDA_MODEL_CONSTRUCT(SIS, 0x7502) #define HDA_SIS_ALL HDA_MODEL_CONSTRUCT(SIS, 0xffff) +/* ULI */ +#define ULI_VENDORID 0x10b9 +#define HDA_ULI_M5461 HDA_MODEL_CONSTRUCT(ULI, 0x5461) +#define HDA_ULI_ALL HDA_MODEL_CONSTRUCT(ULI, 0xffff) + /* OEM/subvendors */ /* Intel */ @@ -195,6 +219,7 @@ SND_DECLARE_FILE("$FreeBSD$"); #define DELL_VENDORID 0x1028 #define DELL_D630_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01f9) #define DELL_D820_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01cc) +#define DELL_V1400_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0227) #define DELL_V1500_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0228) #define DELL_I1300_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01c9) #define DELL_XPSM1210_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01d7) @@ -213,6 +238,7 @@ SND_DECLARE_FILE("$FreeBSD$"); #define ACER_A4710_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x012f) #define ACER_A4715_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0133) #define ACER_3681WXM_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0110) +#define ACER_T6292_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x011b) #define ACER_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0xffff) /* Asus */ @@ -260,6 +286,11 @@ SND_DECLARE_FILE("$FreeBSD$"); #define APPLE_VENDORID 0x106b #define APPLE_MB3_SUBVENDOR HDA_MODEL_CONSTRUCT(APPLE, 0x00a1) +/* Sony */ +#define SONY_VENDORID 0x104d +#define SONY_S5_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0x81cc) +#define SONY_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0xffff) + /* * Apple Intel MacXXXX seems using Sigmatel codec/vendor id * instead of their own, which is beyond my comprehension @@ -308,6 +339,7 @@ SND_DECLARE_FILE("$FreeBSD$"); /* Misc constants.. */ +#define HDA_AMP_VOL_DEFAULT (-1) #define HDA_AMP_MUTE_DEFAULT (0xffffffff) #define HDA_AMP_MUTE_NONE (0) #define HDA_AMP_MUTE_LEFT (1 << 0) @@ -317,16 +349,10 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_AMP_LEFT_MUTED(v) ((v) & (HDA_AMP_MUTE_LEFT)) #define HDA_AMP_RIGHT_MUTED(v) (((v) & HDA_AMP_MUTE_RIGHT) >> 1) -#define HDA_DAC_PATH (1 << 0) -#define HDA_ADC_PATH (1 << 1) -#define HDA_ADC_RECSEL (1 << 2) - -#define HDA_DAC_LOCKED (1 << 3) -#define HDA_ADC_LOCKED (1 << 4) - -#define HDA_CTL_OUT (1 << 0) -#define HDA_CTL_IN (1 << 1) -#define HDA_CTL_BOTH (HDA_CTL_IN | HDA_CTL_OUT) +#define HDA_ADC_MONITOR (1 << 0) + +#define HDA_CTL_OUT 1 +#define HDA_CTL_IN 2 #define HDA_GPIO_MAX 8 /* 0 - 7 = GPIO , 8 = Flush */ @@ -346,6 +372,7 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_QUIRK_FORCESTEREO (1 << 11) #define HDA_QUIRK_EAPDINV (1 << 12) #define HDA_QUIRK_DMAPOS (1 << 13) +#define HDA_QUIRK_SENSEINV (1 << 14) /* 26 - 31 = vrefs */ #define HDA_QUIRK_IVREF50 (1 << 26) @@ -361,9 +388,6 @@ SND_DECLARE_FILE("$FreeBSD$"); HDA_QUIRK_OVREF100) #define HDA_QUIRK_VREF (HDA_QUIRK_IVREF | HDA_QUIRK_OVREF) -#define SOUND_MASK_SKIP (1 << 30) -#define SOUND_MASK_DISABLE (1 << 31) - #if __FreeBSD_version < 600000 #define taskqueue_drain(...) #endif @@ -386,6 +410,7 @@ static const struct { { "forcestereo", HDA_QUIRK_FORCESTEREO }, { "eapdinv", HDA_QUIRK_EAPDINV }, { "dmapos", HDA_QUIRK_DMAPOS }, + { "senseinv", HDA_QUIRK_SENSEINV }, { "ivref50", HDA_QUIRK_IVREF50 }, { "ivref80", HDA_QUIRK_IVREF80 }, { "ivref100", HDA_QUIRK_IVREF100 }, @@ -413,14 +438,18 @@ static const struct { #define HDA_PARSE_MAXDEPTH 10 #define HDAC_UNSOLTAG_EVENT_HP 0x00 -#define HDAC_UNSOLTAG_EVENT_TEST 0x01 MALLOC_DEFINE(M_HDAC, "hdac", "High Definition Audio Controller"); -enum { - HDA_PARSE_MIXER, - HDA_PARSE_DIRECT -}; +const char *HDA_COLORS[16] = {"Unknown", "Black", "Grey", "Blue", "Green", "Red", + "Orange", "Yellow", "Purple", "Pink", "Res.A", "Res.B", "Res.C", "Res.D", + "White", "Other"}; + +const char *HDA_DEVS[16] = {"Line-out", "Speaker", "Headphones", "CD", + "SPDIF-out", "Digital-out", "Modem-line", "Modem-handset", "Line-in", + "AUX", "Mic", "Telephony", "SPDIF-in", "Digital-in", "Res.E", "Other"}; + +const char *HDA_CONNS[4] = {"Jack", "None", "Fixed", "Both"}; /* Default */ static uint32_t hdac_fmt[] = { @@ -439,6 +468,8 @@ static const struct { { HDA_INTEL_82801G, "Intel 82801G" }, { HDA_INTEL_82801H, "Intel 82801H" }, { HDA_INTEL_82801I, "Intel 82801I" }, + { HDA_INTEL_82801J, "Intel 82801J" }, + { HDA_INTEL_SCH, "Intel SCH" }, { HDA_NVIDIA_MCP51, "NVidia MCP51" }, { HDA_NVIDIA_MCP55, "NVidia MCP55" }, { HDA_NVIDIA_MCP61_1, "NVidia MCP61" }, @@ -447,16 +478,28 @@ static const struct { { HDA_NVIDIA_MCP65_2, "NVidia MCP65" }, { HDA_NVIDIA_MCP67_1, "NVidia MCP67" }, { HDA_NVIDIA_MCP67_2, "NVidia MCP67" }, + { HDA_NVIDIA_MCP73_1, "NVidia MCP73" }, + { HDA_NVIDIA_MCP73_2, "NVidia MCP73" }, + { HDA_NVIDIA_MCP78_1, "NVidia MCP78" }, + { HDA_NVIDIA_MCP78_2, "NVidia MCP78" }, + { HDA_NVIDIA_MCP78_3, "NVidia MCP78" }, + { HDA_NVIDIA_MCP78_4, "NVidia MCP78" }, + { HDA_NVIDIA_MCP79_1, "NVidia MCP79" }, + { HDA_NVIDIA_MCP79_2, "NVidia MCP79" }, + { HDA_NVIDIA_MCP79_3, "NVidia MCP79" }, + { HDA_NVIDIA_MCP79_4, "NVidia MCP79" }, { HDA_ATI_SB450, "ATI SB450" }, { HDA_ATI_SB600, "ATI SB600" }, { HDA_VIA_VT82XX, "VIA VT8251/8237A" }, { HDA_SIS_966, "SiS 966" }, + { HDA_ULI_M5461, "ULI M5461" }, /* Unknown */ { HDA_INTEL_ALL, "Intel (Unknown)" }, { HDA_NVIDIA_ALL, "NVidia (Unknown)" }, { HDA_ATI_ALL, "ATI (Unknown)" }, { HDA_VIA_ALL, "VIA (Unknown)" }, { HDA_SIS_ALL, "SiS (Unknown)" }, + { HDA_ULI_ALL, "ULI (Unknown)" }, }; #define HDAC_DEVICES_LEN (sizeof(hdac_devices) / sizeof(hdac_devices[0])) @@ -526,8 +569,13 @@ static const struct { #define REALTEK_VENDORID 0x10ec #define HDA_CODEC_ALC260 HDA_CODEC_CONSTRUCT(REALTEK, 0x0260) #define HDA_CODEC_ALC262 HDA_CODEC_CONSTRUCT(REALTEK, 0x0262) +#define HDA_CODEC_ALC267 HDA_CODEC_CONSTRUCT(REALTEK, 0x0267) #define HDA_CODEC_ALC268 HDA_CODEC_CONSTRUCT(REALTEK, 0x0268) +#define HDA_CODEC_ALC269 HDA_CODEC_CONSTRUCT(REALTEK, 0x0269) +#define HDA_CODEC_ALC272 HDA_CODEC_CONSTRUCT(REALTEK, 0x0272) #define HDA_CODEC_ALC660 HDA_CODEC_CONSTRUCT(REALTEK, 0x0660) +#define HDA_CODEC_ALC662 HDA_CODEC_CONSTRUCT(REALTEK, 0x0662) +#define HDA_CODEC_ALC663 HDA_CODEC_CONSTRUCT(REALTEK, 0x0663) #define HDA_CODEC_ALC861 HDA_CODEC_CONSTRUCT(REALTEK, 0x0861) #define HDA_CODEC_ALC861VD HDA_CODEC_CONSTRUCT(REALTEK, 0x0862) #define HDA_CODEC_ALC880 HDA_CODEC_CONSTRUCT(REALTEK, 0x0880) @@ -535,16 +583,26 @@ static const struct { #define HDA_CODEC_ALC883 HDA_CODEC_CONSTRUCT(REALTEK, 0x0883) #define HDA_CODEC_ALC885 HDA_CODEC_CONSTRUCT(REALTEK, 0x0885) #define HDA_CODEC_ALC888 HDA_CODEC_CONSTRUCT(REALTEK, 0x0888) +#define HDA_CODEC_ALC889 HDA_CODEC_CONSTRUCT(REALTEK, 0x0889) #define HDA_CODEC_ALCXXXX HDA_CODEC_CONSTRUCT(REALTEK, 0xffff) /* Analog Devices */ #define ANALOGDEVICES_VENDORID 0x11d4 +#define HDA_CODEC_AD1884A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x184a) +#define HDA_CODEC_AD1882 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1882) +#define HDA_CODEC_AD1883 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1883) +#define HDA_CODEC_AD1884 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1884) +#define HDA_CODEC_AD1984A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194a) +#define HDA_CODEC_AD1984B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194b) #define HDA_CODEC_AD1981HD HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1981) #define HDA_CODEC_AD1983 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1983) #define HDA_CODEC_AD1984 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1984) #define HDA_CODEC_AD1986A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1986) +#define HDA_CODEC_AD1987 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1987) #define HDA_CODEC_AD1988 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1988) #define HDA_CODEC_AD1988B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x198b) +#define HDA_CODEC_AD1882A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x882a) +#define HDA_CODEC_AD1989B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x989b) #define HDA_CODEC_ADXXXX HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0xffff) /* CMedia */ @@ -554,29 +612,77 @@ static const struct { /* Sigmatel */ #define SIGMATEL_VENDORID 0x8384 +#define HDA_CODEC_STAC9230X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7612) +#define HDA_CODEC_STAC9230D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7613) +#define HDA_CODEC_STAC9229X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7614) +#define HDA_CODEC_STAC9229D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7615) +#define HDA_CODEC_STAC9228X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7616) +#define HDA_CODEC_STAC9228D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7617) +#define HDA_CODEC_STAC9227X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7618) +#define HDA_CODEC_STAC9227D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7619) +#define HDA_CODEC_STAC9274 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7620) +#define HDA_CODEC_STAC9274D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7621) +#define HDA_CODEC_STAC9273X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7622) +#define HDA_CODEC_STAC9273D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7623) +#define HDA_CODEC_STAC9272X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7624) +#define HDA_CODEC_STAC9272D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7625) +#define HDA_CODEC_STAC9271X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7626) +#define HDA_CODEC_STAC9271D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7627) +#define HDA_CODEC_STAC9274X5NH HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7628) +#define HDA_CODEC_STAC9274D5NH HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7629) +#define HDA_CODEC_STAC9250 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7634) +#define HDA_CODEC_STAC9251 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7636) +#define HDA_CODEC_IDT92HD700X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7638) +#define HDA_CODEC_IDT92HD700D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7639) +#define HDA_CODEC_IDT92HD206X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7645) +#define HDA_CODEC_IDT92HD206D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7646) +#define HDA_CODEC_STAC9872AK HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7662) #define HDA_CODEC_STAC9221 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7680) +#define HDA_CODEC_STAC922XD HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7681) +#define HDA_CODEC_STAC9221_A2 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7682) #define HDA_CODEC_STAC9221D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7683) #define HDA_CODEC_STAC9220 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7690) -#define HDA_CODEC_STAC922XD HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7681) -#define HDA_CODEC_STAC9227 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7618) -#define HDA_CODEC_STAC9271D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7627) -#define HDA_CODEC_STAC9205 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a0) -#define HDA_CODEC_STAC9872AK HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7662) +#define HDA_CODEC_STAC9200D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7691) +#define HDA_CODEC_IDT92HD005 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7698) +#define HDA_CODEC_IDT92HD005D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7699) +#define HDA_CODEC_STAC9205X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a0) +#define HDA_CODEC_STAC9205D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a1) +#define HDA_CODEC_STAC9204X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a2) +#define HDA_CODEC_STAC9204D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a3) +#define HDA_CODEC_STAC9220_A2 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7880) +#define HDA_CODEC_STAC9220_A1 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7882) #define HDA_CODEC_STACXXXX HDA_CODEC_CONSTRUCT(SIGMATEL, 0xffff) -/* - * Conexant - * - * Ok, the truth is, I don't have any idea at all whether - * it is "Venice" or "Waikiki" or other unnamed CXyadayada. The only - * place that tell me it is "Venice" is from its Windows driver INF. - * - * Venice - CX????? - * Waikiki - CX20551-22 - */ +/* IDT */ +#define IDT_VENDORID 0x111d +#define HDA_CODEC_IDT92HD75BX HDA_CODEC_CONSTRUCT(IDT, 0x7603) +#define HDA_CODEC_IDT92HD83C1X HDA_CODEC_CONSTRUCT(IDT, 0x7604) +#define HDA_CODEC_IDT92HD81B1X HDA_CODEC_CONSTRUCT(IDT, 0x7605) +#define HDA_CODEC_IDT92HD75B3 HDA_CODEC_CONSTRUCT(IDT, 0x7608) +#define HDA_CODEC_IDT92HD73D1 HDA_CODEC_CONSTRUCT(IDT, 0x7674) +#define HDA_CODEC_IDT92HD73C1 HDA_CODEC_CONSTRUCT(IDT, 0x7675) +#define HDA_CODEC_IDT92HD73E1 HDA_CODEC_CONSTRUCT(IDT, 0x7676) +#define HDA_CODEC_IDT92HD71B8 HDA_CODEC_CONSTRUCT(IDT, 0x76b0) +#define HDA_CODEC_IDT92HD71B7 HDA_CODEC_CONSTRUCT(IDT, 0x76b2) +#define HDA_CODEC_IDT92HD71B5 HDA_CODEC_CONSTRUCT(IDT, 0x76b6) +#define HDA_CODEC_IDT92HD83C1C HDA_CODEC_CONSTRUCT(IDT, 0x76d4) +#define HDA_CODEC_IDT92HD81B1C HDA_CODEC_CONSTRUCT(IDT, 0x76d5) +#define HDA_CODEC_IDTXXXX HDA_CODEC_CONSTRUCT(IDT, 0xffff) + +/* Silicon Image */ +#define SII_VENDORID 0x1095 +#define HDA_CODEC_SII1392 HDA_CODEC_CONSTRUCT(SII, 0x1392) +#define HDA_CODEC_SIIXXXX HDA_CODEC_CONSTRUCT(SII, 0xffff) + +/* Lucent/Agere */ +#define AGERE_VENDORID 0x11c1 +#define HDA_CODEC_AGEREXXXX HDA_CODEC_CONSTRUCT(AGERE, 0xffff) + +/* Conexant */ #define CONEXANT_VENDORID 0x14f1 -#define HDA_CODEC_CXVENICE HDA_CODEC_CONSTRUCT(CONEXANT, 0x5045) -#define HDA_CODEC_CXWAIKIKI HDA_CODEC_CONSTRUCT(CONEXANT, 0x5047) +#define HDA_CODEC_CX20549 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5045) +#define HDA_CODEC_CX20551 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5047) +#define HDA_CODEC_CX20561 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5051) #define HDA_CODEC_CXXXXX HDA_CODEC_CONSTRUCT(CONEXANT, 0xffff) /* VIA */ @@ -592,8 +698,28 @@ static const struct { #define HDA_CODEC_VT1709_5 HDA_CODEC_CONSTRUCT(VIA, 0xe715) #define HDA_CODEC_VT1709_6 HDA_CODEC_CONSTRUCT(VIA, 0xe716) #define HDA_CODEC_VT1709_7 HDA_CODEC_CONSTRUCT(VIA, 0xe717) +#define HDA_CODEC_VT1708B_0 HDA_CODEC_CONSTRUCT(VIA, 0xe720) +#define HDA_CODEC_VT1708B_1 HDA_CODEC_CONSTRUCT(VIA, 0xe721) +#define HDA_CODEC_VT1708B_2 HDA_CODEC_CONSTRUCT(VIA, 0xe722) +#define HDA_CODEC_VT1708B_3 HDA_CODEC_CONSTRUCT(VIA, 0xe723) +#define HDA_CODEC_VT1708B_4 HDA_CODEC_CONSTRUCT(VIA, 0xe724) +#define HDA_CODEC_VT1708B_5 HDA_CODEC_CONSTRUCT(VIA, 0xe725) +#define HDA_CODEC_VT1708B_6 HDA_CODEC_CONSTRUCT(VIA, 0xe726) +#define HDA_CODEC_VT1708B_7 HDA_CODEC_CONSTRUCT(VIA, 0xe727) #define HDA_CODEC_VTXXXX HDA_CODEC_CONSTRUCT(VIA, 0xffff) +/* ATI */ +#define HDA_CODEC_ATIRS600_1 HDA_CODEC_CONSTRUCT(ATI, 0x793c) +#define HDA_CODEC_ATIRS600_2 HDA_CODEC_CONSTRUCT(ATI, 0x7919) +#define HDA_CODEC_ATIRS690 HDA_CODEC_CONSTRUCT(ATI, 0x791a) +#define HDA_CODEC_ATIR6XX HDA_CODEC_CONSTRUCT(ATI, 0xaa01) +#define HDA_CODEC_ATIXXXX HDA_CODEC_CONSTRUCT(ATI, 0xffff) + +/* NVIDIA */ +#define HDA_CODEC_NVIDIAXXXX HDA_CODEC_CONSTRUCT(NVIDIA, 0xffff) + +/* INTEL */ +#define HDA_CODEC_INTELXXXX HDA_CODEC_CONSTRUCT(INTEL, 0xffff) /* Codecs */ static const struct { @@ -602,8 +728,13 @@ static const struct { } hdac_codecs[] = { { HDA_CODEC_ALC260, "Realtek ALC260" }, { HDA_CODEC_ALC262, "Realtek ALC262" }, + { HDA_CODEC_ALC267, "Realtek ALC267" }, { HDA_CODEC_ALC268, "Realtek ALC268" }, + { HDA_CODEC_ALC269, "Realtek ALC269" }, + { HDA_CODEC_ALC272, "Realtek ALC272" }, { HDA_CODEC_ALC660, "Realtek ALC660" }, + { HDA_CODEC_ALC662, "Realtek ALC662" }, + { HDA_CODEC_ALC663, "Realtek ALC663" }, { HDA_CODEC_ALC861, "Realtek ALC861" }, { HDA_CODEC_ALC861VD, "Realtek ALC861-VD" }, { HDA_CODEC_ALC880, "Realtek ALC880" }, @@ -611,23 +742,77 @@ static const struct { { HDA_CODEC_ALC883, "Realtek ALC883" }, { HDA_CODEC_ALC885, "Realtek ALC885" }, { HDA_CODEC_ALC888, "Realtek ALC888" }, + { HDA_CODEC_ALC889, "Realtek ALC889" }, + { HDA_CODEC_AD1882, "Analog Devices AD1882" }, + { HDA_CODEC_AD1882A, "Analog Devices AD1882A" }, + { HDA_CODEC_AD1883, "Analog Devices AD1883" }, + { HDA_CODEC_AD1884, "Analog Devices AD1884" }, + { HDA_CODEC_AD1884A, "Analog Devices AD1884A" }, { HDA_CODEC_AD1981HD, "Analog Devices AD1981HD" }, { HDA_CODEC_AD1983, "Analog Devices AD1983" }, { HDA_CODEC_AD1984, "Analog Devices AD1984" }, + { HDA_CODEC_AD1984A, "Analog Devices AD1984A" }, + { HDA_CODEC_AD1984B, "Analog Devices AD1984B" }, { HDA_CODEC_AD1986A, "Analog Devices AD1986A" }, - { HDA_CODEC_AD1988, "Analog Devices AD1988" }, + { HDA_CODEC_AD1987, "Analog Devices AD1987" }, + { HDA_CODEC_AD1988, "Analog Devices AD1988A" }, { HDA_CODEC_AD1988B, "Analog Devices AD1988B" }, + { HDA_CODEC_AD1989B, "Analog Devices AD1989B" }, { HDA_CODEC_CMI9880, "CMedia CMI9880" }, + { HDA_CODEC_STAC9200D, "Sigmatel STAC9200D" }, + { HDA_CODEC_STAC9204X, "Sigmatel STAC9204X" }, + { HDA_CODEC_STAC9204D, "Sigmatel STAC9204D" }, + { HDA_CODEC_STAC9205X, "Sigmatel STAC9205X" }, + { HDA_CODEC_STAC9205D, "Sigmatel STAC9205D" }, + { HDA_CODEC_STAC9220, "Sigmatel STAC9220" }, + { HDA_CODEC_STAC9220_A1, "Sigmatel STAC9220_A1" }, + { HDA_CODEC_STAC9220_A2, "Sigmatel STAC9220_A2" }, { HDA_CODEC_STAC9221, "Sigmatel STAC9221" }, + { HDA_CODEC_STAC9221_A2, "Sigmatel STAC9221_A2" }, { HDA_CODEC_STAC9221D, "Sigmatel STAC9221D" }, - { HDA_CODEC_STAC9220, "Sigmatel STAC9220" }, { HDA_CODEC_STAC922XD, "Sigmatel STAC9220D/9223D" }, - { HDA_CODEC_STAC9227, "Sigmatel STAC9227" }, + { HDA_CODEC_STAC9227X, "Sigmatel STAC9227X" }, + { HDA_CODEC_STAC9227D, "Sigmatel STAC9227D" }, + { HDA_CODEC_STAC9228X, "Sigmatel STAC9228X" }, + { HDA_CODEC_STAC9228D, "Sigmatel STAC9228D" }, + { HDA_CODEC_STAC9229X, "Sigmatel STAC9229X" }, + { HDA_CODEC_STAC9229D, "Sigmatel STAC9229D" }, + { HDA_CODEC_STAC9230X, "Sigmatel STAC9230X" }, + { HDA_CODEC_STAC9230D, "Sigmatel STAC9230D" }, + { HDA_CODEC_STAC9250, "Sigmatel STAC9250" }, + { HDA_CODEC_STAC9251, "Sigmatel STAC9251" }, + { HDA_CODEC_STAC9271X, "Sigmatel STAC9271X" }, { HDA_CODEC_STAC9271D, "Sigmatel STAC9271D" }, - { HDA_CODEC_STAC9205, "Sigmatel STAC9205" }, - { HDA_CODEC_STAC9872AK,"Sigmatel STAC9872AK" }, - { HDA_CODEC_CXVENICE, "Conexant Venice" }, - { HDA_CODEC_CXWAIKIKI, "Conexant Waikiki" }, + { HDA_CODEC_STAC9272X, "Sigmatel STAC9272X" }, + { HDA_CODEC_STAC9272D, "Sigmatel STAC9272D" }, + { HDA_CODEC_STAC9273X, "Sigmatel STAC9273X" }, + { HDA_CODEC_STAC9273D, "Sigmatel STAC9273D" }, + { HDA_CODEC_STAC9274, "Sigmatel STAC9274" }, + { HDA_CODEC_STAC9274D, "Sigmatel STAC9274D" }, + { HDA_CODEC_STAC9274X5NH, "Sigmatel STAC9274X5NH" }, + { HDA_CODEC_STAC9274D5NH, "Sigmatel STAC9274D5NH" }, + { HDA_CODEC_STAC9872AK, "Sigmatel STAC9872AK" }, + { HDA_CODEC_IDT92HD005, "IDT 92HD005" }, + { HDA_CODEC_IDT92HD005D, "IDT 92HD005D" }, + { HDA_CODEC_IDT92HD206X, "IDT 92HD206X" }, + { HDA_CODEC_IDT92HD206D, "IDT 92HD206D" }, + { HDA_CODEC_IDT92HD700X, "IDT 92HD700X" }, + { HDA_CODEC_IDT92HD700D, "IDT 92HD700D" }, + { HDA_CODEC_IDT92HD71B5, "IDT 92HD71B5" }, + { HDA_CODEC_IDT92HD71B7, "IDT 92HD71B7" }, + { HDA_CODEC_IDT92HD71B8, "IDT 92HD71B8" }, + { HDA_CODEC_IDT92HD73C1, "IDT 92HD73C1" }, + { HDA_CODEC_IDT92HD73D1, "IDT 92HD73D1" }, + { HDA_CODEC_IDT92HD73E1, "IDT 92HD73E1" }, + { HDA_CODEC_IDT92HD75B3, "IDT 92HD75B3" }, + { HDA_CODEC_IDT92HD75BX, "IDT 92HD75BX" }, + { HDA_CODEC_IDT92HD81B1C, "IDT 92HD81B1C" }, + { HDA_CODEC_IDT92HD81B1X, "IDT 92HD81B1X" }, + { HDA_CODEC_IDT92HD83C1C, "IDT 92HD83C1C" }, + { HDA_CODEC_IDT92HD83C1X, "IDT 92HD83C1X" }, + { HDA_CODEC_CX20549, "Conexant CX20549 (Venice)" }, + { HDA_CODEC_CX20551, "Conexant CX20551 (Waikiki)" }, + { HDA_CODEC_CX20561, "Conexant CX20561 (Hermosa)" }, { HDA_CODEC_VT1708_8, "VIA VT1708_8" }, { HDA_CODEC_VT1708_9, "VIA VT1708_9" }, { HDA_CODEC_VT1708_A, "VIA VT1708_A" }, @@ -640,136 +825,41 @@ static const struct { { HDA_CODEC_VT1709_5, "VIA VT1709_5" }, { HDA_CODEC_VT1709_6, "VIA VT1709_6" }, { HDA_CODEC_VT1709_7, "VIA VT1709_7" }, + { HDA_CODEC_VT1708B_0, "VIA VT1708B_0" }, + { HDA_CODEC_VT1708B_1, "VIA VT1708B_1" }, + { HDA_CODEC_VT1708B_2, "VIA VT1708B_2" }, + { HDA_CODEC_VT1708B_3, "VIA VT1708B_3" }, + { HDA_CODEC_VT1708B_4, "VIA VT1708B_4" }, + { HDA_CODEC_VT1708B_5, "VIA VT1708B_5" }, + { HDA_CODEC_VT1708B_6, "VIA VT1708B_6" }, + { HDA_CODEC_VT1708B_7, "VIA VT1708B_7" }, + { HDA_CODEC_ATIRS600_1,"ATI RS600 HDMI" }, + { HDA_CODEC_ATIRS600_2,"ATI RS600 HDMI" }, + { HDA_CODEC_ATIRS690, "ATI RS690/780 HDMI" }, + { HDA_CODEC_ATIR6XX, "ATI R6xx HDMI" }, + { HDA_CODEC_SII1392, "Silicon Image SiI1392 HDMI" }, /* Unknown codec */ { HDA_CODEC_ALCXXXX, "Realtek (Unknown)" }, { HDA_CODEC_ADXXXX, "Analog Devices (Unknown)" }, { HDA_CODEC_CMIXXXX, "CMedia (Unknown)" }, { HDA_CODEC_STACXXXX, "Sigmatel (Unknown)" }, + { HDA_CODEC_SIIXXXX, "Silicon Image (Unknown)" }, + { HDA_CODEC_AGEREXXXX, "Lucent/Agere Systems (Unknown)" }, { HDA_CODEC_CXXXXX, "Conexant (Unknown)" }, { HDA_CODEC_VTXXXX, "VIA (Unknown)" }, + { HDA_CODEC_ATIXXXX, "ATI (Unknown)" }, + { HDA_CODEC_NVIDIAXXXX,"NVidia (Unknown)" }, + { HDA_CODEC_INTELXXXX, "Intel (Unknown)" }, + { HDA_CODEC_IDTXXXX, "IDT (Unknown)" }, }; #define HDAC_CODECS_LEN (sizeof(hdac_codecs) / sizeof(hdac_codecs[0])) -enum { - HDAC_HP_SWITCH_CTL, - HDAC_HP_SWITCH_CTRL, - HDAC_HP_SWITCH_DEBUG -}; - -static const struct { - uint32_t model; - uint32_t id; - int type; - int inverted; - int polling; - int execsense; - nid_t hpnid; - nid_t spkrnid[8]; - nid_t eapdnid; -} hdac_hp_switch[] = { - /* Specific OEM models */ - { HP_V3000_SUBVENDOR, HDA_CODEC_CXVENICE, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 17, { 16, -1 }, 16 }, - /* { HP_XW4300_SUBVENDOR, HDA_CODEC_ALC260, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 21, { 16, 17, -1 }, -1 } */ - /* { HP_3010_SUBVENDOR, HDA_CODEC_ALC260, HDAC_HP_SWITCH_DEBUG, - 0, 1, 0, 16, { 15, 18, 19, 20, 21, -1 }, -1 }, */ - { HP_NX7400_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, 5 }, - { HP_NX6310_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, 5 }, - { HP_NX6325_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, 5 }, - /* { HP_DC7700_SUBVENDOR, HDA_CODEC_ALC262, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 21, { 22, 27, -1 }, -1 }, */ - { TOSHIBA_U200_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, -1 }, - { TOSHIBA_A135_SUBVENDOR, HDA_CODEC_ALC861VD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 27, { 20, -1 }, -1 }, - { DELL_D820_SUBVENDOR, HDA_CODEC_STAC9220, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 13, { 14, -1 }, -1 }, - { DELL_I1300_SUBVENDOR, HDA_CODEC_STAC9220, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 13, { 14, -1 }, -1 }, - { DELL_OPLX745_SUBVENDOR, HDA_CODEC_AD1983, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, 7, -1 }, -1 }, - { DELL_D630_SUBVENDOR, HDA_CODEC_STAC9205, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 10, { 13, -1 }, -1 }, - { DELL_V1500_SUBVENDOR, HDA_CODEC_STAC9205, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 10, { 13, -1 }, -1 }, - { APPLE_MB3_SUBVENDOR, HDA_CODEC_ALC885, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 21, { 20, 22, -1 }, -1 }, - { APPLE_INTEL_MAC, HDA_CODEC_STAC9221, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 10, { 13, -1 }, -1 }, - { LENOVO_3KN100_SUBVENDOR, HDA_CODEC_AD1986A, HDAC_HP_SWITCH_CTL, - 1, 0, -1, 26, { 27, -1 }, -1 }, - { LENOVO_3KN200_SUBVENDOR, HDA_CODEC_ALC861VD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 27, { 20, -1 }, -1 }, - /* { LENOVO_TCA55_SUBVENDOR, HDA_CODEC_AD1986A, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 26, { 27, 28, 29, 30, -1 }, -1 }, */ - { LG_LW20_SUBVENDOR, HDA_CODEC_ALC880, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 27, { 20, -1 }, -1 }, - { ACER_A5050_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { ACER_3681WXM_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { ACER_A4520_SUBVENDOR, HDA_CODEC_ALC268, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { ACER_A4710_SUBVENDOR, HDA_CODEC_ALC268, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { ACER_A4715_SUBVENDOR, HDA_CODEC_ALC268, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { UNIWILL_9080_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { MSI_MS1034_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 27, -1 }, -1 }, - { MSI_MS034A_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 27, -1 }, -1 }, - { FS_SI1848_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { FL_S7020D_SUBVENDOR, HDA_CODEC_ALC260, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 16, -1 }, -1 }, - { FL_U1010_SUBVENDOR, HDA_CODEC_ALC262, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - /* - * All models that at least come from the same vendor with - * simmilar codec. - */ - { HP_ALL_SUBVENDOR, HDA_CODEC_CXVENICE, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 17, { 16, -1 }, 16 }, - { HP_ALL_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, 5 }, - { TOSHIBA_ALL_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, -1 }, - { DELL_ALL_SUBVENDOR, HDA_CODEC_STAC9220, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 13, { 14, -1 }, -1 }, -#if 0 - { LENOVO_ALL_SUBVENDOR, HDA_CODEC_AD1986A, HDAC_HP_SWITCH_CTL, - 1, 0, -1, 26, { 27, -1 }, -1 }, - { ACER_ALL_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, -#endif -}; -#define HDAC_HP_SWITCH_LEN \ - (sizeof(hdac_hp_switch) / sizeof(hdac_hp_switch[0])) - -static const struct { - uint32_t model; - uint32_t id; - nid_t eapdnid; - int hp_switch; -} hdac_eapd_switch[] = { - { HP_V3000_SUBVENDOR, HDA_CODEC_CXVENICE, 16, 1 }, - { HP_NX7400_SUBVENDOR, HDA_CODEC_AD1981HD, 5, 1 }, - { HP_NX6310_SUBVENDOR, HDA_CODEC_AD1981HD, 5, 1 }, -}; -#define HDAC_EAPD_SWITCH_LEN \ - (sizeof(hdac_eapd_switch) / sizeof(hdac_eapd_switch[0])) /**************************************************************************** * Function prototypes ****************************************************************************/ static void hdac_intr_handler(void *); -static int hdac_reset(struct hdac_softc *); +static int hdac_reset(struct hdac_softc *, int); static int hdac_get_capabilities(struct hdac_softc *); static void hdac_dma_cb(void *, bus_dma_segment_t *, int, int); static int hdac_dma_alloc(struct hdac_softc *, @@ -783,10 +873,10 @@ static void hdac_corb_init(struct hdac_s static void hdac_rirb_init(struct hdac_softc *); static void hdac_corb_start(struct hdac_softc *); static void hdac_rirb_start(struct hdac_softc *); -static void hdac_scan_codecs(struct hdac_softc *, int); -static int hdac_probe_codec(struct hdac_codec *); -static struct hdac_devinfo *hdac_probe_function(struct hdac_codec *, nid_t); -static void hdac_add_child(struct hdac_softc *, struct hdac_devinfo *); +static void hdac_scan_codecs(struct hdac_softc *); +static void hdac_probe_codec(struct hdac_codec *); +static void hdac_probe_function(struct hdac_codec *, nid_t); +static int hdac_pcmchannel_setup(struct hdac_chan *); static void hdac_attach2(void *); @@ -798,34 +888,37 @@ static void hdac_command_send_internal(s static int hdac_probe(device_t); static int hdac_attach(device_t); static int hdac_detach(device_t); +static int hdac_suspend(device_t); +static int hdac_resume(device_t); static void hdac_widget_connection_select(struct hdac_widget *, uint8_t); static void hdac_audio_ctl_amp_set(struct hdac_audio_ctl *, uint32_t, int, int); static struct hdac_audio_ctl *hdac_audio_ctl_amp_get(struct hdac_devinfo *, - nid_t, int, int); + nid_t, int, int, int); static void hdac_audio_ctl_amp_set_internal(struct hdac_softc *, nid_t, nid_t, int, int, int, int, int, int); -static int hdac_audio_ctl_ossmixer_getnextdev(struct hdac_devinfo *); static struct hdac_widget *hdac_widget_get(struct hdac_devinfo *, nid_t); static int hdac_rirb_flush(struct hdac_softc *sc); static int hdac_unsolq_flush(struct hdac_softc *sc); +static void hdac_dump_pin_config(struct hdac_widget *w, uint32_t conf); + #define hdac_command(a1, a2, a3) \ hdac_command_sendone_internal(a1, a2, a3) -#define hdac_codec_id(d) \ - ((uint32_t)((d == NULL) ? 0x00000000 : \ - ((((uint32_t)(d)->vendor_id & 0x0000ffff) << 16) | \ - ((uint32_t)(d)->device_id & 0x0000ffff)))) +#define hdac_codec_id(c) \ + ((uint32_t)((c == NULL) ? 0x00000000 : \ + ((((uint32_t)(c)->vendor_id & 0x0000ffff) << 16) | \ + ((uint32_t)(c)->device_id & 0x0000ffff)))) static char * -hdac_codec_name(struct hdac_devinfo *devinfo) +hdac_codec_name(struct hdac_codec *codec) { uint32_t id; int i; - id = hdac_codec_id(devinfo); + id = hdac_codec_id(codec); for (i = 0; i < HDAC_CODECS_LEN; i++) { if (HDA_DEV_MATCH(hdac_codecs[i].id, id)) @@ -836,20 +929,6 @@ hdac_codec_name(struct hdac_devinfo *dev } static char * -hdac_audio_ctl_ossmixer_mask2name(uint32_t devmask) -{ - static char *ossname[] = SOUND_DEVICE_NAMES; - static char *unknown = "???"; - int i; - - for (i = SOUND_MIXER_NRDEVICES - 1; i >= 0; i--) { - if (devmask & (1 << i)) - return (ossname[i]); - } - return (unknown); -} - -static void hdac_audio_ctl_ossmixer_mask2allname(uint32_t mask, char *buf, size_t len) { static char *ossname[] = SOUND_DEVICE_NAMES; @@ -864,6 +943,7 @@ hdac_audio_ctl_ossmixer_mask2allname(uin first = 0; } } + return (buf); } static struct hdac_audio_ctl * @@ -879,48 +959,46 @@ hdac_audio_ctl_each(struct hdac_devinfo } static struct hdac_audio_ctl * -hdac_audio_ctl_amp_get(struct hdac_devinfo *devinfo, nid_t nid, +hdac_audio_ctl_amp_get(struct hdac_devinfo *devinfo, nid_t nid, int dir, int index, int cnt) { - struct hdac_audio_ctl *ctl, *retctl = NULL; - int i, at, atindex, found = 0; + struct hdac_audio_ctl *ctl; + int i, found = 0; if (devinfo == NULL || devinfo->function.audio.ctl == NULL) return (NULL); - at = cnt; - if (at == 0) - at = 1; - else if (at < 0) - at = -1; - atindex = index; - if (atindex < 0) - atindex = -1; - i = 0; while ((ctl = hdac_audio_ctl_each(devinfo, &i)) != NULL) { - if (ctl->enable == 0 || ctl->widget == NULL) + if (ctl->enable == 0) continue; - if (!(ctl->widget->nid == nid && (atindex == -1 || - ctl->index == atindex))) + if (ctl->widget->nid != nid) + continue; + if (dir && ctl->ndir != dir) + continue; + if (index >= 0 && ctl->ndir == HDA_CTL_IN && + ctl->dir == ctl->ndir && ctl->index != index) continue; found++; - if (found == cnt) + if (found == cnt || cnt <= 0) return (ctl); - retctl = ctl; } - return ((at == -1) ? retctl : NULL); + return (NULL); } +/* + * Jack detection (Speaker/HP redirection) event handler. + */ static void hdac_hp_switch_handler(struct hdac_devinfo *devinfo) { + struct hdac_audio_as *as; struct hdac_softc *sc; struct hdac_widget *w; struct hdac_audio_ctl *ctl; - uint32_t val, id, res; - int i = 0, j, timeout, forcemute; + uint32_t val, res; + int i, j; nid_t cad; if (devinfo == NULL || devinfo->codec == NULL || @@ -929,84 +1007,47 @@ hdac_hp_switch_handler(struct hdac_devin sc = devinfo->codec->sc; cad = devinfo->codec->cad; - id = hdac_codec_id(devinfo); - for (i = 0; i < HDAC_HP_SWITCH_LEN; i++) { - if (HDA_DEV_MATCH(hdac_hp_switch[i].model, - sc->pci_subvendor) && - hdac_hp_switch[i].id == id) - break; - } - - if (i >= HDAC_HP_SWITCH_LEN) - return; - - forcemute = 0; - if (hdac_hp_switch[i].eapdnid != -1) { - w = hdac_widget_get(devinfo, hdac_hp_switch[i].eapdnid); - if (w != NULL && w->param.eapdbtl != HDAC_INVALID) - forcemute = (w->param.eapdbtl & - HDA_CMD_SET_EAPD_BTL_ENABLE_EAPD) ? 0 : 1; - } - - if (hdac_hp_switch[i].execsense != -1) - hdac_command(sc, - HDA_CMD_SET_PIN_SENSE(cad, hdac_hp_switch[i].hpnid, - hdac_hp_switch[i].execsense), cad); + as = devinfo->function.audio.as; + for (i = 0; i < devinfo->function.audio.ascnt; i++) { + if (as[i].hpredir < 0) + continue; + + w = hdac_widget_get(devinfo, as[i].pins[15]); + if (w == NULL || w->enable == 0 || w->type != + HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_PIN_COMPLEX) + continue; - timeout = 10000; - do { res = hdac_command(sc, - HDA_CMD_GET_PIN_SENSE(cad, hdac_hp_switch[i].hpnid), - cad); - if (hdac_hp_switch[i].execsense == -1 || res != 0x7fffffff) - break; - DELAY(10); - } while (--timeout != 0); + HDA_CMD_GET_PIN_SENSE(cad, as[i].pins[15]), cad); - HDA_BOOTVERBOSE( - device_printf(sc->dev, - "HDA_DEBUG: Pin sense: nid=%d timeout=%d res=0x%08x\n", - hdac_hp_switch[i].hpnid, timeout, res); - ); + HDA_BOOTVERBOSE( + device_printf(sc->dev, + "Pin sense: nid=%d res=0x%08x\n", + as[i].pins[15], res); + ); - res = HDA_CMD_GET_PIN_SENSE_PRESENCE_DETECT(res); - res ^= hdac_hp_switch[i].inverted; + res = HDA_CMD_GET_PIN_SENSE_PRESENCE_DETECT(res); + if (devinfo->function.audio.quirks & HDA_QUIRK_SENSEINV) + res ^= 1; - switch (hdac_hp_switch[i].type) { - case HDAC_HP_SWITCH_CTL: + /* (Un)Mute headphone pin. */ ctl = hdac_audio_ctl_amp_get(devinfo, - hdac_hp_switch[i].hpnid, 0, 1); - if (ctl != NULL) { - val = (res != 0 && forcemute == 0) ? - HDA_AMP_MUTE_NONE : HDA_AMP_MUTE_ALL; - if (val != ctl->muted) { - ctl->muted = val; + as[i].pins[15], HDA_CTL_IN, -1, 1); + if (ctl != NULL && ctl->mute) { + /* If pin has muter - use it. */ + val = (res != 0) ? 0 : 1; + if (val != ctl->forcemute) { + ctl->forcemute = val; hdac_audio_ctl_amp_set(ctl, - HDA_AMP_MUTE_DEFAULT, ctl->left, - ctl->right); + HDA_AMP_MUTE_DEFAULT, + HDA_AMP_VOL_DEFAULT, HDA_AMP_VOL_DEFAULT); } - } - for (j = 0; hdac_hp_switch[i].spkrnid[j] != -1; j++) { - ctl = hdac_audio_ctl_amp_get(devinfo, - hdac_hp_switch[i].spkrnid[j], 0, 1); - if (ctl == NULL) - continue; - val = (res != 0 || forcemute == 1) ? - HDA_AMP_MUTE_ALL : HDA_AMP_MUTE_NONE; - if (val == ctl->muted) - continue; - ctl->muted = val; - hdac_audio_ctl_amp_set(ctl, HDA_AMP_MUTE_DEFAULT, - ctl->left, ctl->right); - } - break; - case HDAC_HP_SWITCH_CTRL: - if (res != 0) { - /* HP in */ - w = hdac_widget_get(devinfo, hdac_hp_switch[i].hpnid); + } else { + /* If there is no muter - disable pin output. */ + w = hdac_widget_get(devinfo, as[i].pins[15]); if (w != NULL && w->type == HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_PIN_COMPLEX) { - if (forcemute == 0) + if (res != 0) val = w->wclass.pin.ctrl | *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-freebsd-multimedia@FreeBSD.ORG Wed Jan 7 15:30:11 2009 Return-Path: Delivered-To: freebsd-multimedia@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B1C6B106566B for ; Wed, 7 Jan 2009 15:30:11 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 9E64A8FC1F for ; Wed, 7 Jan 2009 15:30:11 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n07FUBuw068674 for ; Wed, 7 Jan 2009 15:30:11 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n07FUBmt068666; Wed, 7 Jan 2009 15:30:11 GMT (envelope-from gnats) Date: Wed, 7 Jan 2009 15:30:11 GMT Message-Id: <200901071530.n07FUBmt068666@freefall.freebsd.org> To: freebsd-multimedia@FreeBSD.org From: dfilter@FreeBSD.ORG (dfilter service) Cc: Subject: Re: kern/117729: commit references a PR X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: dfilter service List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jan 2009 15:30:12 -0000 The following reply was made to PR kern/117729; it has been noted by GNATS. From: dfilter@FreeBSD.ORG (dfilter service) To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/117729: commit references a PR Date: Wed, 7 Jan 2009 15:29:06 +0000 (UTC) Author: mav Date: Wed Jan 7 15:28:47 2009 New Revision: 186862 URL: http://svn.freebsd.org/changeset/base/186862 Log: Merge updated snd_hda driver version 20081226_0122 from CURRENT. This update gives: - multiple codec per HDA bus support; - multiple functional groups per codec support; - multiple audio devices per functional group support; - digital (SPDIF/HDMI) audio input/output support; - better UAA specification compliance with wide configureability; - headphones redirection controlled by UAA configuration instead of quirks; - improved codec parser, that gives working playback and recording with all of the long list of tested codecs and systems; - suspend/resume support; - part of multichannel audio support (requires OSS improvement to be used); Note, that due to added HDMI audio and logical audio devices support, updated driver often provides several PCM devices. In some cases it can make system default audio device no longer corresponding to the users's habbitual audio connectors. In such cases wanted device can be specified in audio application setup or defined globally via hw.snd.default_unit sysctl according to sound(4) man page. Additional information information about driver operation can be obtained from the updated man page and verbose boot messages. PR: kern/119181, kern/120144, kern/117599, kern/117729, kern/119671, kern/124645, kern/125822, kern/126217, kern/127105 Modified: stable/7/sys/dev/sound/pci/hda/hda_reg.h stable/7/sys/dev/sound/pci/hda/hdac.c stable/7/sys/dev/sound/pci/hda/hdac_private.h Modified: stable/7/sys/dev/sound/pci/hda/hda_reg.h ============================================================================== --- stable/7/sys/dev/sound/pci/hda/hda_reg.h Wed Jan 7 14:00:44 2009 (r186861) +++ stable/7/sys/dev/sound/pci/hda/hda_reg.h Wed Jan 7 15:28:47 2009 (r186862) @@ -180,13 +180,14 @@ HDA_CMD_VERB_SET_CONV_FMT, (payload))) /* Digital Converter Control */ -#define HDA_CMD_VERB_GET_DIGITAL_CONV_FMT 0xf0d +#define HDA_CMD_VERB_GET_DIGITAL_CONV_FMT1 0xf0d +#define HDA_CMD_VERB_GET_DIGITAL_CONV_FMT2 0xf0e #define HDA_CMD_VERB_SET_DIGITAL_CONV_FMT1 0x70d #define HDA_CMD_VERB_SET_DIGITAL_CONV_FMT2 0x70e #define HDA_CMD_GET_DIGITAL_CONV_FMT(cad, nid) \ (HDA_CMD_12BIT((cad), (nid), \ - HDA_CMD_VERB_GET_DIGITAL_CONV_FMTT, 0x0)) + HDA_CMD_VERB_GET_DIGITAL_CONV_FMT1, 0x0)) #define HDA_CMD_SET_DIGITAL_CONV_FMT1(cad, nid, payload) \ (HDA_CMD_12BIT((cad), (nid), \ HDA_CMD_VERB_SET_DIGITAL_CONV_FMT1, (payload))) @@ -1034,7 +1035,7 @@ HDA_PARAM_PIN_CAP_HEADPHONE_CAP_SHIFT) #define HDA_PARAM_PIN_CAP_PRESENCE_DETECT_CAP(param) \ (((param) & HDA_PARAM_PIN_CAP_PRESENCE_DETECT_CAP_MASK) >> \ - HDA_PARAM_PIN_CAP_PRESENCE_DETECT_CAP_MASK) + HDA_PARAM_PIN_CAP_PRESENCE_DETECT_CAP_SHIFT) #define HDA_PARAM_PIN_CAP_TRIGGER_REQD(param) \ (((param) & HDA_PARAM_PIN_CAP_TRIGGER_REQD_MASK) >> \ HDA_PARAM_PIN_CAP_TRIGGER_REQD_SHIFT) @@ -1193,14 +1194,47 @@ HDA_PARAM_VOLUME_KNOB_CAP_NUM_STEPS_SHIFT) -#define HDA_CONFIG_DEFAULTCONF_SEQUENCE_MASK 0x00000000f -#define HDA_CONFIG_DEFAULTCONF_ASSOCIATION_MASK 0x0000000f0 -#define HDA_CONFIG_DEFAULTCONF_MISC_MASK 0x000000f00 -#define HDA_CONFIG_DEFAULTCONF_COLOR_MASK 0x00000f000 -#define HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_MASK 0x000f00000 -#define HDA_CONFIG_DEFAULTCONF_DEVICE_MASK 0x000f00000 -#define HDA_CONFIG_DEFAULTCONF_LOCATION_MASK 0x03f000000 -#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK 0x0c0000000 +#define HDA_CONFIG_DEFAULTCONF_SEQUENCE_MASK 0x0000000f +#define HDA_CONFIG_DEFAULTCONF_SEQUENCE_SHIFT 0 +#define HDA_CONFIG_DEFAULTCONF_ASSOCIATION_MASK 0x000000f0 +#define HDA_CONFIG_DEFAULTCONF_ASSOCIATION_SHIFT 4 +#define HDA_CONFIG_DEFAULTCONF_MISC_MASK 0x00000f00 +#define HDA_CONFIG_DEFAULTCONF_MISC_SHIFT 8 +#define HDA_CONFIG_DEFAULTCONF_COLOR_MASK 0x0000f000 +#define HDA_CONFIG_DEFAULTCONF_COLOR_SHIFT 12 +#define HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_MASK 0x000f0000 +#define HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_SHIFT 16 +#define HDA_CONFIG_DEFAULTCONF_DEVICE_MASK 0x00f00000 +#define HDA_CONFIG_DEFAULTCONF_DEVICE_SHIFT 20 +#define HDA_CONFIG_DEFAULTCONF_LOCATION_MASK 0x3f000000 +#define HDA_CONFIG_DEFAULTCONF_LOCATION_SHIFT 24 +#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK 0xc0000000 +#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_SHIFT 30 + +#define HDA_CONFIG_DEFAULTCONF_SEQUENCE(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_SEQUENCE_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_SEQUENCE_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_ASSOCIATION(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_ASSOCIATION_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_ASSOCIATION_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_MISC(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_MISC_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_MISC_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_COLOR(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_COLOR_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_COLOR_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_CONNECTION_TYPE_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_DEVICE(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_DEVICE_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_DEVICE_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_LOCATION(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_LOCATION_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_LOCATION_SHIFT) +#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY(conf) \ + (((conf) & HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK) >> \ + HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_SHIFT) #define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_JACK (0<<30) #define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_NONE (1<<30) Modified: stable/7/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- stable/7/sys/dev/sound/pci/hda/hdac.c Wed Jan 7 14:00:44 2009 (r186861) +++ stable/7/sys/dev/sound/pci/hda/hdac.c Wed Jan 7 15:28:47 2009 (r186862) @@ -1,6 +1,7 @@ /*- * Copyright (c) 2006 Stephane E. Potvin * Copyright (c) 2006 Ariff Abdullah + * Copyright (c) 2008 Alexander Motin * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -61,6 +62,7 @@ * * Daniel Eischen * * * Maxime Guillaud * * * Ariff Abdullah * + * * Alexander Motin * * * * * * ....and various people from freebsd-multimedia@FreeBSD.org * * * * @@ -81,8 +83,7 @@ #include "mixer_if.h" -#define HDA_DRV_TEST_REV "20080420_0052" -#define HDA_WIDGET_PARSER_REV 1 +#define HDA_DRV_TEST_REV "20081226_0122" SND_DECLARE_FILE("$FreeBSD$"); @@ -92,6 +93,12 @@ SND_DECLARE_FILE("$FreeBSD$"); } \ } while(0) +#define HDA_BOOTHVERBOSE(stmt) do { \ + if (snd_verbose > 3) { \ + stmt \ + } \ +} while(0) + #if 1 #undef HDAC_INTR_EXTRA #define HDAC_INTR_EXTRA 1 @@ -141,6 +148,8 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_INTEL_82801G HDA_MODEL_CONSTRUCT(INTEL, 0x27d8) #define HDA_INTEL_82801H HDA_MODEL_CONSTRUCT(INTEL, 0x284b) #define HDA_INTEL_82801I HDA_MODEL_CONSTRUCT(INTEL, 0x293e) +#define HDA_INTEL_82801J HDA_MODEL_CONSTRUCT(INTEL, 0x3a3e) +#define HDA_INTEL_SCH HDA_MODEL_CONSTRUCT(INTEL, 0x811b) #define HDA_INTEL_ALL HDA_MODEL_CONSTRUCT(INTEL, 0xffff) /* Nvidia */ @@ -153,6 +162,16 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_NVIDIA_MCP65_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x044b) #define HDA_NVIDIA_MCP67_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x055c) #define HDA_NVIDIA_MCP67_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x055d) +#define HDA_NVIDIA_MCP78_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0774) +#define HDA_NVIDIA_MCP78_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0775) +#define HDA_NVIDIA_MCP78_3 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0776) +#define HDA_NVIDIA_MCP78_4 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0777) +#define HDA_NVIDIA_MCP73_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x07fc) +#define HDA_NVIDIA_MCP73_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x07fd) +#define HDA_NVIDIA_MCP79_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac0) +#define HDA_NVIDIA_MCP79_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac1) +#define HDA_NVIDIA_MCP79_3 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac2) +#define HDA_NVIDIA_MCP79_4 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac3) #define HDA_NVIDIA_ALL HDA_MODEL_CONSTRUCT(NVIDIA, 0xffff) /* ATI */ @@ -171,6 +190,11 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_SIS_966 HDA_MODEL_CONSTRUCT(SIS, 0x7502) #define HDA_SIS_ALL HDA_MODEL_CONSTRUCT(SIS, 0xffff) +/* ULI */ +#define ULI_VENDORID 0x10b9 +#define HDA_ULI_M5461 HDA_MODEL_CONSTRUCT(ULI, 0x5461) +#define HDA_ULI_ALL HDA_MODEL_CONSTRUCT(ULI, 0xffff) + /* OEM/subvendors */ /* Intel */ @@ -195,6 +219,7 @@ SND_DECLARE_FILE("$FreeBSD$"); #define DELL_VENDORID 0x1028 #define DELL_D630_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01f9) #define DELL_D820_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01cc) +#define DELL_V1400_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0227) #define DELL_V1500_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0228) #define DELL_I1300_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01c9) #define DELL_XPSM1210_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01d7) @@ -213,6 +238,7 @@ SND_DECLARE_FILE("$FreeBSD$"); #define ACER_A4710_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x012f) #define ACER_A4715_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0133) #define ACER_3681WXM_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0110) +#define ACER_T6292_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x011b) #define ACER_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0xffff) /* Asus */ @@ -260,6 +286,11 @@ SND_DECLARE_FILE("$FreeBSD$"); #define APPLE_VENDORID 0x106b #define APPLE_MB3_SUBVENDOR HDA_MODEL_CONSTRUCT(APPLE, 0x00a1) +/* Sony */ +#define SONY_VENDORID 0x104d +#define SONY_S5_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0x81cc) +#define SONY_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0xffff) + /* * Apple Intel MacXXXX seems using Sigmatel codec/vendor id * instead of their own, which is beyond my comprehension @@ -308,6 +339,7 @@ SND_DECLARE_FILE("$FreeBSD$"); /* Misc constants.. */ +#define HDA_AMP_VOL_DEFAULT (-1) #define HDA_AMP_MUTE_DEFAULT (0xffffffff) #define HDA_AMP_MUTE_NONE (0) #define HDA_AMP_MUTE_LEFT (1 << 0) @@ -317,16 +349,10 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_AMP_LEFT_MUTED(v) ((v) & (HDA_AMP_MUTE_LEFT)) #define HDA_AMP_RIGHT_MUTED(v) (((v) & HDA_AMP_MUTE_RIGHT) >> 1) -#define HDA_DAC_PATH (1 << 0) -#define HDA_ADC_PATH (1 << 1) -#define HDA_ADC_RECSEL (1 << 2) - -#define HDA_DAC_LOCKED (1 << 3) -#define HDA_ADC_LOCKED (1 << 4) - -#define HDA_CTL_OUT (1 << 0) -#define HDA_CTL_IN (1 << 1) -#define HDA_CTL_BOTH (HDA_CTL_IN | HDA_CTL_OUT) +#define HDA_ADC_MONITOR (1 << 0) + +#define HDA_CTL_OUT 1 +#define HDA_CTL_IN 2 #define HDA_GPIO_MAX 8 /* 0 - 7 = GPIO , 8 = Flush */ @@ -346,6 +372,7 @@ SND_DECLARE_FILE("$FreeBSD$"); #define HDA_QUIRK_FORCESTEREO (1 << 11) #define HDA_QUIRK_EAPDINV (1 << 12) #define HDA_QUIRK_DMAPOS (1 << 13) +#define HDA_QUIRK_SENSEINV (1 << 14) /* 26 - 31 = vrefs */ #define HDA_QUIRK_IVREF50 (1 << 26) @@ -361,9 +388,6 @@ SND_DECLARE_FILE("$FreeBSD$"); HDA_QUIRK_OVREF100) #define HDA_QUIRK_VREF (HDA_QUIRK_IVREF | HDA_QUIRK_OVREF) -#define SOUND_MASK_SKIP (1 << 30) -#define SOUND_MASK_DISABLE (1 << 31) - #if __FreeBSD_version < 600000 #define taskqueue_drain(...) #endif @@ -386,6 +410,7 @@ static const struct { { "forcestereo", HDA_QUIRK_FORCESTEREO }, { "eapdinv", HDA_QUIRK_EAPDINV }, { "dmapos", HDA_QUIRK_DMAPOS }, + { "senseinv", HDA_QUIRK_SENSEINV }, { "ivref50", HDA_QUIRK_IVREF50 }, { "ivref80", HDA_QUIRK_IVREF80 }, { "ivref100", HDA_QUIRK_IVREF100 }, @@ -413,14 +438,18 @@ static const struct { #define HDA_PARSE_MAXDEPTH 10 #define HDAC_UNSOLTAG_EVENT_HP 0x00 -#define HDAC_UNSOLTAG_EVENT_TEST 0x01 MALLOC_DEFINE(M_HDAC, "hdac", "High Definition Audio Controller"); -enum { - HDA_PARSE_MIXER, - HDA_PARSE_DIRECT -}; +const char *HDA_COLORS[16] = {"Unknown", "Black", "Grey", "Blue", "Green", "Red", + "Orange", "Yellow", "Purple", "Pink", "Res.A", "Res.B", "Res.C", "Res.D", + "White", "Other"}; + +const char *HDA_DEVS[16] = {"Line-out", "Speaker", "Headphones", "CD", + "SPDIF-out", "Digital-out", "Modem-line", "Modem-handset", "Line-in", + "AUX", "Mic", "Telephony", "SPDIF-in", "Digital-in", "Res.E", "Other"}; + +const char *HDA_CONNS[4] = {"Jack", "None", "Fixed", "Both"}; /* Default */ static uint32_t hdac_fmt[] = { @@ -439,6 +468,8 @@ static const struct { { HDA_INTEL_82801G, "Intel 82801G" }, { HDA_INTEL_82801H, "Intel 82801H" }, { HDA_INTEL_82801I, "Intel 82801I" }, + { HDA_INTEL_82801J, "Intel 82801J" }, + { HDA_INTEL_SCH, "Intel SCH" }, { HDA_NVIDIA_MCP51, "NVidia MCP51" }, { HDA_NVIDIA_MCP55, "NVidia MCP55" }, { HDA_NVIDIA_MCP61_1, "NVidia MCP61" }, @@ -447,16 +478,28 @@ static const struct { { HDA_NVIDIA_MCP65_2, "NVidia MCP65" }, { HDA_NVIDIA_MCP67_1, "NVidia MCP67" }, { HDA_NVIDIA_MCP67_2, "NVidia MCP67" }, + { HDA_NVIDIA_MCP73_1, "NVidia MCP73" }, + { HDA_NVIDIA_MCP73_2, "NVidia MCP73" }, + { HDA_NVIDIA_MCP78_1, "NVidia MCP78" }, + { HDA_NVIDIA_MCP78_2, "NVidia MCP78" }, + { HDA_NVIDIA_MCP78_3, "NVidia MCP78" }, + { HDA_NVIDIA_MCP78_4, "NVidia MCP78" }, + { HDA_NVIDIA_MCP79_1, "NVidia MCP79" }, + { HDA_NVIDIA_MCP79_2, "NVidia MCP79" }, + { HDA_NVIDIA_MCP79_3, "NVidia MCP79" }, + { HDA_NVIDIA_MCP79_4, "NVidia MCP79" }, { HDA_ATI_SB450, "ATI SB450" }, { HDA_ATI_SB600, "ATI SB600" }, { HDA_VIA_VT82XX, "VIA VT8251/8237A" }, { HDA_SIS_966, "SiS 966" }, + { HDA_ULI_M5461, "ULI M5461" }, /* Unknown */ { HDA_INTEL_ALL, "Intel (Unknown)" }, { HDA_NVIDIA_ALL, "NVidia (Unknown)" }, { HDA_ATI_ALL, "ATI (Unknown)" }, { HDA_VIA_ALL, "VIA (Unknown)" }, { HDA_SIS_ALL, "SiS (Unknown)" }, + { HDA_ULI_ALL, "ULI (Unknown)" }, }; #define HDAC_DEVICES_LEN (sizeof(hdac_devices) / sizeof(hdac_devices[0])) @@ -526,8 +569,13 @@ static const struct { #define REALTEK_VENDORID 0x10ec #define HDA_CODEC_ALC260 HDA_CODEC_CONSTRUCT(REALTEK, 0x0260) #define HDA_CODEC_ALC262 HDA_CODEC_CONSTRUCT(REALTEK, 0x0262) +#define HDA_CODEC_ALC267 HDA_CODEC_CONSTRUCT(REALTEK, 0x0267) #define HDA_CODEC_ALC268 HDA_CODEC_CONSTRUCT(REALTEK, 0x0268) +#define HDA_CODEC_ALC269 HDA_CODEC_CONSTRUCT(REALTEK, 0x0269) +#define HDA_CODEC_ALC272 HDA_CODEC_CONSTRUCT(REALTEK, 0x0272) #define HDA_CODEC_ALC660 HDA_CODEC_CONSTRUCT(REALTEK, 0x0660) +#define HDA_CODEC_ALC662 HDA_CODEC_CONSTRUCT(REALTEK, 0x0662) +#define HDA_CODEC_ALC663 HDA_CODEC_CONSTRUCT(REALTEK, 0x0663) #define HDA_CODEC_ALC861 HDA_CODEC_CONSTRUCT(REALTEK, 0x0861) #define HDA_CODEC_ALC861VD HDA_CODEC_CONSTRUCT(REALTEK, 0x0862) #define HDA_CODEC_ALC880 HDA_CODEC_CONSTRUCT(REALTEK, 0x0880) @@ -535,16 +583,26 @@ static const struct { #define HDA_CODEC_ALC883 HDA_CODEC_CONSTRUCT(REALTEK, 0x0883) #define HDA_CODEC_ALC885 HDA_CODEC_CONSTRUCT(REALTEK, 0x0885) #define HDA_CODEC_ALC888 HDA_CODEC_CONSTRUCT(REALTEK, 0x0888) +#define HDA_CODEC_ALC889 HDA_CODEC_CONSTRUCT(REALTEK, 0x0889) #define HDA_CODEC_ALCXXXX HDA_CODEC_CONSTRUCT(REALTEK, 0xffff) /* Analog Devices */ #define ANALOGDEVICES_VENDORID 0x11d4 +#define HDA_CODEC_AD1884A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x184a) +#define HDA_CODEC_AD1882 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1882) +#define HDA_CODEC_AD1883 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1883) +#define HDA_CODEC_AD1884 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1884) +#define HDA_CODEC_AD1984A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194a) +#define HDA_CODEC_AD1984B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194b) #define HDA_CODEC_AD1981HD HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1981) #define HDA_CODEC_AD1983 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1983) #define HDA_CODEC_AD1984 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1984) #define HDA_CODEC_AD1986A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1986) +#define HDA_CODEC_AD1987 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1987) #define HDA_CODEC_AD1988 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1988) #define HDA_CODEC_AD1988B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x198b) +#define HDA_CODEC_AD1882A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x882a) +#define HDA_CODEC_AD1989B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x989b) #define HDA_CODEC_ADXXXX HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0xffff) /* CMedia */ @@ -554,29 +612,77 @@ static const struct { /* Sigmatel */ #define SIGMATEL_VENDORID 0x8384 +#define HDA_CODEC_STAC9230X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7612) +#define HDA_CODEC_STAC9230D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7613) +#define HDA_CODEC_STAC9229X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7614) +#define HDA_CODEC_STAC9229D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7615) +#define HDA_CODEC_STAC9228X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7616) +#define HDA_CODEC_STAC9228D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7617) +#define HDA_CODEC_STAC9227X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7618) +#define HDA_CODEC_STAC9227D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7619) +#define HDA_CODEC_STAC9274 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7620) +#define HDA_CODEC_STAC9274D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7621) +#define HDA_CODEC_STAC9273X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7622) +#define HDA_CODEC_STAC9273D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7623) +#define HDA_CODEC_STAC9272X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7624) +#define HDA_CODEC_STAC9272D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7625) +#define HDA_CODEC_STAC9271X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7626) +#define HDA_CODEC_STAC9271D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7627) +#define HDA_CODEC_STAC9274X5NH HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7628) +#define HDA_CODEC_STAC9274D5NH HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7629) +#define HDA_CODEC_STAC9250 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7634) +#define HDA_CODEC_STAC9251 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7636) +#define HDA_CODEC_IDT92HD700X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7638) +#define HDA_CODEC_IDT92HD700D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7639) +#define HDA_CODEC_IDT92HD206X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7645) +#define HDA_CODEC_IDT92HD206D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7646) +#define HDA_CODEC_STAC9872AK HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7662) #define HDA_CODEC_STAC9221 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7680) +#define HDA_CODEC_STAC922XD HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7681) +#define HDA_CODEC_STAC9221_A2 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7682) #define HDA_CODEC_STAC9221D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7683) #define HDA_CODEC_STAC9220 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7690) -#define HDA_CODEC_STAC922XD HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7681) -#define HDA_CODEC_STAC9227 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7618) -#define HDA_CODEC_STAC9271D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7627) -#define HDA_CODEC_STAC9205 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a0) -#define HDA_CODEC_STAC9872AK HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7662) +#define HDA_CODEC_STAC9200D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7691) +#define HDA_CODEC_IDT92HD005 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7698) +#define HDA_CODEC_IDT92HD005D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7699) +#define HDA_CODEC_STAC9205X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a0) +#define HDA_CODEC_STAC9205D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a1) +#define HDA_CODEC_STAC9204X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a2) +#define HDA_CODEC_STAC9204D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a3) +#define HDA_CODEC_STAC9220_A2 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7880) +#define HDA_CODEC_STAC9220_A1 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7882) #define HDA_CODEC_STACXXXX HDA_CODEC_CONSTRUCT(SIGMATEL, 0xffff) -/* - * Conexant - * - * Ok, the truth is, I don't have any idea at all whether - * it is "Venice" or "Waikiki" or other unnamed CXyadayada. The only - * place that tell me it is "Venice" is from its Windows driver INF. - * - * Venice - CX????? - * Waikiki - CX20551-22 - */ +/* IDT */ +#define IDT_VENDORID 0x111d +#define HDA_CODEC_IDT92HD75BX HDA_CODEC_CONSTRUCT(IDT, 0x7603) +#define HDA_CODEC_IDT92HD83C1X HDA_CODEC_CONSTRUCT(IDT, 0x7604) +#define HDA_CODEC_IDT92HD81B1X HDA_CODEC_CONSTRUCT(IDT, 0x7605) +#define HDA_CODEC_IDT92HD75B3 HDA_CODEC_CONSTRUCT(IDT, 0x7608) +#define HDA_CODEC_IDT92HD73D1 HDA_CODEC_CONSTRUCT(IDT, 0x7674) +#define HDA_CODEC_IDT92HD73C1 HDA_CODEC_CONSTRUCT(IDT, 0x7675) +#define HDA_CODEC_IDT92HD73E1 HDA_CODEC_CONSTRUCT(IDT, 0x7676) +#define HDA_CODEC_IDT92HD71B8 HDA_CODEC_CONSTRUCT(IDT, 0x76b0) +#define HDA_CODEC_IDT92HD71B7 HDA_CODEC_CONSTRUCT(IDT, 0x76b2) +#define HDA_CODEC_IDT92HD71B5 HDA_CODEC_CONSTRUCT(IDT, 0x76b6) +#define HDA_CODEC_IDT92HD83C1C HDA_CODEC_CONSTRUCT(IDT, 0x76d4) +#define HDA_CODEC_IDT92HD81B1C HDA_CODEC_CONSTRUCT(IDT, 0x76d5) +#define HDA_CODEC_IDTXXXX HDA_CODEC_CONSTRUCT(IDT, 0xffff) + +/* Silicon Image */ +#define SII_VENDORID 0x1095 +#define HDA_CODEC_SII1392 HDA_CODEC_CONSTRUCT(SII, 0x1392) +#define HDA_CODEC_SIIXXXX HDA_CODEC_CONSTRUCT(SII, 0xffff) + +/* Lucent/Agere */ +#define AGERE_VENDORID 0x11c1 +#define HDA_CODEC_AGEREXXXX HDA_CODEC_CONSTRUCT(AGERE, 0xffff) + +/* Conexant */ #define CONEXANT_VENDORID 0x14f1 -#define HDA_CODEC_CXVENICE HDA_CODEC_CONSTRUCT(CONEXANT, 0x5045) -#define HDA_CODEC_CXWAIKIKI HDA_CODEC_CONSTRUCT(CONEXANT, 0x5047) +#define HDA_CODEC_CX20549 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5045) +#define HDA_CODEC_CX20551 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5047) +#define HDA_CODEC_CX20561 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5051) #define HDA_CODEC_CXXXXX HDA_CODEC_CONSTRUCT(CONEXANT, 0xffff) /* VIA */ @@ -592,8 +698,28 @@ static const struct { #define HDA_CODEC_VT1709_5 HDA_CODEC_CONSTRUCT(VIA, 0xe715) #define HDA_CODEC_VT1709_6 HDA_CODEC_CONSTRUCT(VIA, 0xe716) #define HDA_CODEC_VT1709_7 HDA_CODEC_CONSTRUCT(VIA, 0xe717) +#define HDA_CODEC_VT1708B_0 HDA_CODEC_CONSTRUCT(VIA, 0xe720) +#define HDA_CODEC_VT1708B_1 HDA_CODEC_CONSTRUCT(VIA, 0xe721) +#define HDA_CODEC_VT1708B_2 HDA_CODEC_CONSTRUCT(VIA, 0xe722) +#define HDA_CODEC_VT1708B_3 HDA_CODEC_CONSTRUCT(VIA, 0xe723) +#define HDA_CODEC_VT1708B_4 HDA_CODEC_CONSTRUCT(VIA, 0xe724) +#define HDA_CODEC_VT1708B_5 HDA_CODEC_CONSTRUCT(VIA, 0xe725) +#define HDA_CODEC_VT1708B_6 HDA_CODEC_CONSTRUCT(VIA, 0xe726) +#define HDA_CODEC_VT1708B_7 HDA_CODEC_CONSTRUCT(VIA, 0xe727) #define HDA_CODEC_VTXXXX HDA_CODEC_CONSTRUCT(VIA, 0xffff) +/* ATI */ +#define HDA_CODEC_ATIRS600_1 HDA_CODEC_CONSTRUCT(ATI, 0x793c) +#define HDA_CODEC_ATIRS600_2 HDA_CODEC_CONSTRUCT(ATI, 0x7919) +#define HDA_CODEC_ATIRS690 HDA_CODEC_CONSTRUCT(ATI, 0x791a) +#define HDA_CODEC_ATIR6XX HDA_CODEC_CONSTRUCT(ATI, 0xaa01) +#define HDA_CODEC_ATIXXXX HDA_CODEC_CONSTRUCT(ATI, 0xffff) + +/* NVIDIA */ +#define HDA_CODEC_NVIDIAXXXX HDA_CODEC_CONSTRUCT(NVIDIA, 0xffff) + +/* INTEL */ +#define HDA_CODEC_INTELXXXX HDA_CODEC_CONSTRUCT(INTEL, 0xffff) /* Codecs */ static const struct { @@ -602,8 +728,13 @@ static const struct { } hdac_codecs[] = { { HDA_CODEC_ALC260, "Realtek ALC260" }, { HDA_CODEC_ALC262, "Realtek ALC262" }, + { HDA_CODEC_ALC267, "Realtek ALC267" }, { HDA_CODEC_ALC268, "Realtek ALC268" }, + { HDA_CODEC_ALC269, "Realtek ALC269" }, + { HDA_CODEC_ALC272, "Realtek ALC272" }, { HDA_CODEC_ALC660, "Realtek ALC660" }, + { HDA_CODEC_ALC662, "Realtek ALC662" }, + { HDA_CODEC_ALC663, "Realtek ALC663" }, { HDA_CODEC_ALC861, "Realtek ALC861" }, { HDA_CODEC_ALC861VD, "Realtek ALC861-VD" }, { HDA_CODEC_ALC880, "Realtek ALC880" }, @@ -611,23 +742,77 @@ static const struct { { HDA_CODEC_ALC883, "Realtek ALC883" }, { HDA_CODEC_ALC885, "Realtek ALC885" }, { HDA_CODEC_ALC888, "Realtek ALC888" }, + { HDA_CODEC_ALC889, "Realtek ALC889" }, + { HDA_CODEC_AD1882, "Analog Devices AD1882" }, + { HDA_CODEC_AD1882A, "Analog Devices AD1882A" }, + { HDA_CODEC_AD1883, "Analog Devices AD1883" }, + { HDA_CODEC_AD1884, "Analog Devices AD1884" }, + { HDA_CODEC_AD1884A, "Analog Devices AD1884A" }, { HDA_CODEC_AD1981HD, "Analog Devices AD1981HD" }, { HDA_CODEC_AD1983, "Analog Devices AD1983" }, { HDA_CODEC_AD1984, "Analog Devices AD1984" }, + { HDA_CODEC_AD1984A, "Analog Devices AD1984A" }, + { HDA_CODEC_AD1984B, "Analog Devices AD1984B" }, { HDA_CODEC_AD1986A, "Analog Devices AD1986A" }, - { HDA_CODEC_AD1988, "Analog Devices AD1988" }, + { HDA_CODEC_AD1987, "Analog Devices AD1987" }, + { HDA_CODEC_AD1988, "Analog Devices AD1988A" }, { HDA_CODEC_AD1988B, "Analog Devices AD1988B" }, + { HDA_CODEC_AD1989B, "Analog Devices AD1989B" }, { HDA_CODEC_CMI9880, "CMedia CMI9880" }, + { HDA_CODEC_STAC9200D, "Sigmatel STAC9200D" }, + { HDA_CODEC_STAC9204X, "Sigmatel STAC9204X" }, + { HDA_CODEC_STAC9204D, "Sigmatel STAC9204D" }, + { HDA_CODEC_STAC9205X, "Sigmatel STAC9205X" }, + { HDA_CODEC_STAC9205D, "Sigmatel STAC9205D" }, + { HDA_CODEC_STAC9220, "Sigmatel STAC9220" }, + { HDA_CODEC_STAC9220_A1, "Sigmatel STAC9220_A1" }, + { HDA_CODEC_STAC9220_A2, "Sigmatel STAC9220_A2" }, { HDA_CODEC_STAC9221, "Sigmatel STAC9221" }, + { HDA_CODEC_STAC9221_A2, "Sigmatel STAC9221_A2" }, { HDA_CODEC_STAC9221D, "Sigmatel STAC9221D" }, - { HDA_CODEC_STAC9220, "Sigmatel STAC9220" }, { HDA_CODEC_STAC922XD, "Sigmatel STAC9220D/9223D" }, - { HDA_CODEC_STAC9227, "Sigmatel STAC9227" }, + { HDA_CODEC_STAC9227X, "Sigmatel STAC9227X" }, + { HDA_CODEC_STAC9227D, "Sigmatel STAC9227D" }, + { HDA_CODEC_STAC9228X, "Sigmatel STAC9228X" }, + { HDA_CODEC_STAC9228D, "Sigmatel STAC9228D" }, + { HDA_CODEC_STAC9229X, "Sigmatel STAC9229X" }, + { HDA_CODEC_STAC9229D, "Sigmatel STAC9229D" }, + { HDA_CODEC_STAC9230X, "Sigmatel STAC9230X" }, + { HDA_CODEC_STAC9230D, "Sigmatel STAC9230D" }, + { HDA_CODEC_STAC9250, "Sigmatel STAC9250" }, + { HDA_CODEC_STAC9251, "Sigmatel STAC9251" }, + { HDA_CODEC_STAC9271X, "Sigmatel STAC9271X" }, { HDA_CODEC_STAC9271D, "Sigmatel STAC9271D" }, - { HDA_CODEC_STAC9205, "Sigmatel STAC9205" }, - { HDA_CODEC_STAC9872AK,"Sigmatel STAC9872AK" }, - { HDA_CODEC_CXVENICE, "Conexant Venice" }, - { HDA_CODEC_CXWAIKIKI, "Conexant Waikiki" }, + { HDA_CODEC_STAC9272X, "Sigmatel STAC9272X" }, + { HDA_CODEC_STAC9272D, "Sigmatel STAC9272D" }, + { HDA_CODEC_STAC9273X, "Sigmatel STAC9273X" }, + { HDA_CODEC_STAC9273D, "Sigmatel STAC9273D" }, + { HDA_CODEC_STAC9274, "Sigmatel STAC9274" }, + { HDA_CODEC_STAC9274D, "Sigmatel STAC9274D" }, + { HDA_CODEC_STAC9274X5NH, "Sigmatel STAC9274X5NH" }, + { HDA_CODEC_STAC9274D5NH, "Sigmatel STAC9274D5NH" }, + { HDA_CODEC_STAC9872AK, "Sigmatel STAC9872AK" }, + { HDA_CODEC_IDT92HD005, "IDT 92HD005" }, + { HDA_CODEC_IDT92HD005D, "IDT 92HD005D" }, + { HDA_CODEC_IDT92HD206X, "IDT 92HD206X" }, + { HDA_CODEC_IDT92HD206D, "IDT 92HD206D" }, + { HDA_CODEC_IDT92HD700X, "IDT 92HD700X" }, + { HDA_CODEC_IDT92HD700D, "IDT 92HD700D" }, + { HDA_CODEC_IDT92HD71B5, "IDT 92HD71B5" }, + { HDA_CODEC_IDT92HD71B7, "IDT 92HD71B7" }, + { HDA_CODEC_IDT92HD71B8, "IDT 92HD71B8" }, + { HDA_CODEC_IDT92HD73C1, "IDT 92HD73C1" }, + { HDA_CODEC_IDT92HD73D1, "IDT 92HD73D1" }, + { HDA_CODEC_IDT92HD73E1, "IDT 92HD73E1" }, + { HDA_CODEC_IDT92HD75B3, "IDT 92HD75B3" }, + { HDA_CODEC_IDT92HD75BX, "IDT 92HD75BX" }, + { HDA_CODEC_IDT92HD81B1C, "IDT 92HD81B1C" }, + { HDA_CODEC_IDT92HD81B1X, "IDT 92HD81B1X" }, + { HDA_CODEC_IDT92HD83C1C, "IDT 92HD83C1C" }, + { HDA_CODEC_IDT92HD83C1X, "IDT 92HD83C1X" }, + { HDA_CODEC_CX20549, "Conexant CX20549 (Venice)" }, + { HDA_CODEC_CX20551, "Conexant CX20551 (Waikiki)" }, + { HDA_CODEC_CX20561, "Conexant CX20561 (Hermosa)" }, { HDA_CODEC_VT1708_8, "VIA VT1708_8" }, { HDA_CODEC_VT1708_9, "VIA VT1708_9" }, { HDA_CODEC_VT1708_A, "VIA VT1708_A" }, @@ -640,136 +825,41 @@ static const struct { { HDA_CODEC_VT1709_5, "VIA VT1709_5" }, { HDA_CODEC_VT1709_6, "VIA VT1709_6" }, { HDA_CODEC_VT1709_7, "VIA VT1709_7" }, + { HDA_CODEC_VT1708B_0, "VIA VT1708B_0" }, + { HDA_CODEC_VT1708B_1, "VIA VT1708B_1" }, + { HDA_CODEC_VT1708B_2, "VIA VT1708B_2" }, + { HDA_CODEC_VT1708B_3, "VIA VT1708B_3" }, + { HDA_CODEC_VT1708B_4, "VIA VT1708B_4" }, + { HDA_CODEC_VT1708B_5, "VIA VT1708B_5" }, + { HDA_CODEC_VT1708B_6, "VIA VT1708B_6" }, + { HDA_CODEC_VT1708B_7, "VIA VT1708B_7" }, + { HDA_CODEC_ATIRS600_1,"ATI RS600 HDMI" }, + { HDA_CODEC_ATIRS600_2,"ATI RS600 HDMI" }, + { HDA_CODEC_ATIRS690, "ATI RS690/780 HDMI" }, + { HDA_CODEC_ATIR6XX, "ATI R6xx HDMI" }, + { HDA_CODEC_SII1392, "Silicon Image SiI1392 HDMI" }, /* Unknown codec */ { HDA_CODEC_ALCXXXX, "Realtek (Unknown)" }, { HDA_CODEC_ADXXXX, "Analog Devices (Unknown)" }, { HDA_CODEC_CMIXXXX, "CMedia (Unknown)" }, { HDA_CODEC_STACXXXX, "Sigmatel (Unknown)" }, + { HDA_CODEC_SIIXXXX, "Silicon Image (Unknown)" }, + { HDA_CODEC_AGEREXXXX, "Lucent/Agere Systems (Unknown)" }, { HDA_CODEC_CXXXXX, "Conexant (Unknown)" }, { HDA_CODEC_VTXXXX, "VIA (Unknown)" }, + { HDA_CODEC_ATIXXXX, "ATI (Unknown)" }, + { HDA_CODEC_NVIDIAXXXX,"NVidia (Unknown)" }, + { HDA_CODEC_INTELXXXX, "Intel (Unknown)" }, + { HDA_CODEC_IDTXXXX, "IDT (Unknown)" }, }; #define HDAC_CODECS_LEN (sizeof(hdac_codecs) / sizeof(hdac_codecs[0])) -enum { - HDAC_HP_SWITCH_CTL, - HDAC_HP_SWITCH_CTRL, - HDAC_HP_SWITCH_DEBUG -}; - -static const struct { - uint32_t model; - uint32_t id; - int type; - int inverted; - int polling; - int execsense; - nid_t hpnid; - nid_t spkrnid[8]; - nid_t eapdnid; -} hdac_hp_switch[] = { - /* Specific OEM models */ - { HP_V3000_SUBVENDOR, HDA_CODEC_CXVENICE, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 17, { 16, -1 }, 16 }, - /* { HP_XW4300_SUBVENDOR, HDA_CODEC_ALC260, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 21, { 16, 17, -1 }, -1 } */ - /* { HP_3010_SUBVENDOR, HDA_CODEC_ALC260, HDAC_HP_SWITCH_DEBUG, - 0, 1, 0, 16, { 15, 18, 19, 20, 21, -1 }, -1 }, */ - { HP_NX7400_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, 5 }, - { HP_NX6310_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, 5 }, - { HP_NX6325_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, 5 }, - /* { HP_DC7700_SUBVENDOR, HDA_CODEC_ALC262, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 21, { 22, 27, -1 }, -1 }, */ - { TOSHIBA_U200_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, -1 }, - { TOSHIBA_A135_SUBVENDOR, HDA_CODEC_ALC861VD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 27, { 20, -1 }, -1 }, - { DELL_D820_SUBVENDOR, HDA_CODEC_STAC9220, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 13, { 14, -1 }, -1 }, - { DELL_I1300_SUBVENDOR, HDA_CODEC_STAC9220, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 13, { 14, -1 }, -1 }, - { DELL_OPLX745_SUBVENDOR, HDA_CODEC_AD1983, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, 7, -1 }, -1 }, - { DELL_D630_SUBVENDOR, HDA_CODEC_STAC9205, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 10, { 13, -1 }, -1 }, - { DELL_V1500_SUBVENDOR, HDA_CODEC_STAC9205, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 10, { 13, -1 }, -1 }, - { APPLE_MB3_SUBVENDOR, HDA_CODEC_ALC885, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 21, { 20, 22, -1 }, -1 }, - { APPLE_INTEL_MAC, HDA_CODEC_STAC9221, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 10, { 13, -1 }, -1 }, - { LENOVO_3KN100_SUBVENDOR, HDA_CODEC_AD1986A, HDAC_HP_SWITCH_CTL, - 1, 0, -1, 26, { 27, -1 }, -1 }, - { LENOVO_3KN200_SUBVENDOR, HDA_CODEC_ALC861VD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 27, { 20, -1 }, -1 }, - /* { LENOVO_TCA55_SUBVENDOR, HDA_CODEC_AD1986A, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 26, { 27, 28, 29, 30, -1 }, -1 }, */ - { LG_LW20_SUBVENDOR, HDA_CODEC_ALC880, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 27, { 20, -1 }, -1 }, - { ACER_A5050_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { ACER_3681WXM_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { ACER_A4520_SUBVENDOR, HDA_CODEC_ALC268, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { ACER_A4710_SUBVENDOR, HDA_CODEC_ALC268, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { ACER_A4715_SUBVENDOR, HDA_CODEC_ALC268, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { UNIWILL_9080_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { MSI_MS1034_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 27, -1 }, -1 }, - { MSI_MS034A_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 27, -1 }, -1 }, - { FS_SI1848_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - { FL_S7020D_SUBVENDOR, HDA_CODEC_ALC260, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 16, -1 }, -1 }, - { FL_U1010_SUBVENDOR, HDA_CODEC_ALC262, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, - /* - * All models that at least come from the same vendor with - * simmilar codec. - */ - { HP_ALL_SUBVENDOR, HDA_CODEC_CXVENICE, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 17, { 16, -1 }, 16 }, - { HP_ALL_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, 5 }, - { TOSHIBA_ALL_SUBVENDOR, HDA_CODEC_AD1981HD, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 6, { 5, -1 }, -1 }, - { DELL_ALL_SUBVENDOR, HDA_CODEC_STAC9220, HDAC_HP_SWITCH_CTRL, - 0, 0, -1, 13, { 14, -1 }, -1 }, -#if 0 - { LENOVO_ALL_SUBVENDOR, HDA_CODEC_AD1986A, HDAC_HP_SWITCH_CTL, - 1, 0, -1, 26, { 27, -1 }, -1 }, - { ACER_ALL_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL, - 0, 0, -1, 20, { 21, -1 }, -1 }, -#endif -}; -#define HDAC_HP_SWITCH_LEN \ - (sizeof(hdac_hp_switch) / sizeof(hdac_hp_switch[0])) - -static const struct { - uint32_t model; - uint32_t id; - nid_t eapdnid; - int hp_switch; -} hdac_eapd_switch[] = { - { HP_V3000_SUBVENDOR, HDA_CODEC_CXVENICE, 16, 1 }, - { HP_NX7400_SUBVENDOR, HDA_CODEC_AD1981HD, 5, 1 }, - { HP_NX6310_SUBVENDOR, HDA_CODEC_AD1981HD, 5, 1 }, -}; -#define HDAC_EAPD_SWITCH_LEN \ - (sizeof(hdac_eapd_switch) / sizeof(hdac_eapd_switch[0])) /**************************************************************************** * Function prototypes ****************************************************************************/ static void hdac_intr_handler(void *); -static int hdac_reset(struct hdac_softc *); +static int hdac_reset(struct hdac_softc *, int); static int hdac_get_capabilities(struct hdac_softc *); static void hdac_dma_cb(void *, bus_dma_segment_t *, int, int); static int hdac_dma_alloc(struct hdac_softc *, @@ -783,10 +873,10 @@ static void hdac_corb_init(struct hdac_s static void hdac_rirb_init(struct hdac_softc *); static void hdac_corb_start(struct hdac_softc *); static void hdac_rirb_start(struct hdac_softc *); -static void hdac_scan_codecs(struct hdac_softc *, int); -static int hdac_probe_codec(struct hdac_codec *); -static struct hdac_devinfo *hdac_probe_function(struct hdac_codec *, nid_t); -static void hdac_add_child(struct hdac_softc *, struct hdac_devinfo *); +static void hdac_scan_codecs(struct hdac_softc *); +static void hdac_probe_codec(struct hdac_codec *); +static void hdac_probe_function(struct hdac_codec *, nid_t); +static int hdac_pcmchannel_setup(struct hdac_chan *); static void hdac_attach2(void *); @@ -798,34 +888,37 @@ static void hdac_command_send_internal(s static int hdac_probe(device_t); static int hdac_attach(device_t); static int hdac_detach(device_t); +static int hdac_suspend(device_t); +static int hdac_resume(device_t); static void hdac_widget_connection_select(struct hdac_widget *, uint8_t); static void hdac_audio_ctl_amp_set(struct hdac_audio_ctl *, uint32_t, int, int); static struct hdac_audio_ctl *hdac_audio_ctl_amp_get(struct hdac_devinfo *, - nid_t, int, int); + nid_t, int, int, int); static void hdac_audio_ctl_amp_set_internal(struct hdac_softc *, nid_t, nid_t, int, int, int, int, int, int); -static int hdac_audio_ctl_ossmixer_getnextdev(struct hdac_devinfo *); static struct hdac_widget *hdac_widget_get(struct hdac_devinfo *, nid_t); static int hdac_rirb_flush(struct hdac_softc *sc); static int hdac_unsolq_flush(struct hdac_softc *sc); +static void hdac_dump_pin_config(struct hdac_widget *w, uint32_t conf); + #define hdac_command(a1, a2, a3) \ hdac_command_sendone_internal(a1, a2, a3) -#define hdac_codec_id(d) \ - ((uint32_t)((d == NULL) ? 0x00000000 : \ - ((((uint32_t)(d)->vendor_id & 0x0000ffff) << 16) | \ - ((uint32_t)(d)->device_id & 0x0000ffff)))) +#define hdac_codec_id(c) \ + ((uint32_t)((c == NULL) ? 0x00000000 : \ + ((((uint32_t)(c)->vendor_id & 0x0000ffff) << 16) | \ + ((uint32_t)(c)->device_id & 0x0000ffff)))) static char * -hdac_codec_name(struct hdac_devinfo *devinfo) +hdac_codec_name(struct hdac_codec *codec) { uint32_t id; int i; - id = hdac_codec_id(devinfo); + id = hdac_codec_id(codec); for (i = 0; i < HDAC_CODECS_LEN; i++) { if (HDA_DEV_MATCH(hdac_codecs[i].id, id)) @@ -836,20 +929,6 @@ hdac_codec_name(struct hdac_devinfo *dev } static char * -hdac_audio_ctl_ossmixer_mask2name(uint32_t devmask) -{ - static char *ossname[] = SOUND_DEVICE_NAMES; - static char *unknown = "???"; - int i; - - for (i = SOUND_MIXER_NRDEVICES - 1; i >= 0; i--) { - if (devmask & (1 << i)) - return (ossname[i]); - } - return (unknown); -} - -static void hdac_audio_ctl_ossmixer_mask2allname(uint32_t mask, char *buf, size_t len) { static char *ossname[] = SOUND_DEVICE_NAMES; @@ -864,6 +943,7 @@ hdac_audio_ctl_ossmixer_mask2allname(uin first = 0; } } + return (buf); } static struct hdac_audio_ctl * @@ -879,48 +959,46 @@ hdac_audio_ctl_each(struct hdac_devinfo } static struct hdac_audio_ctl * -hdac_audio_ctl_amp_get(struct hdac_devinfo *devinfo, nid_t nid, +hdac_audio_ctl_amp_get(struct hdac_devinfo *devinfo, nid_t nid, int dir, int index, int cnt) { - struct hdac_audio_ctl *ctl, *retctl = NULL; - int i, at, atindex, found = 0; + struct hdac_audio_ctl *ctl; + int i, found = 0; if (devinfo == NULL || devinfo->function.audio.ctl == NULL) return (NULL); - at = cnt; - if (at == 0) - at = 1; - else if (at < 0) - at = -1; - atindex = index; - if (atindex < 0) - atindex = -1; - i = 0; while ((ctl = hdac_audio_ctl_each(devinfo, &i)) != NULL) { - if (ctl->enable == 0 || ctl->widget == NULL) + if (ctl->enable == 0) continue; - if (!(ctl->widget->nid == nid && (atindex == -1 || - ctl->index == atindex))) + if (ctl->widget->nid != nid) + continue; + if (dir && ctl->ndir != dir) + continue; + if (index >= 0 && ctl->ndir == HDA_CTL_IN && + ctl->dir == ctl->ndir && ctl->index != index) continue; found++; - if (found == cnt) + if (found == cnt || cnt <= 0) return (ctl); - retctl = ctl; } - return ((at == -1) ? retctl : NULL); + return (NULL); } +/* + * Jack detection (Speaker/HP redirection) event handler. + */ static void hdac_hp_switch_handler(struct hdac_devinfo *devinfo) { + struct hdac_audio_as *as; struct hdac_softc *sc; struct hdac_widget *w; struct hdac_audio_ctl *ctl; - uint32_t val, id, res; - int i = 0, j, timeout, forcemute; + uint32_t val, res; + int i, j; nid_t cad; if (devinfo == NULL || devinfo->codec == NULL || @@ -929,84 +1007,47 @@ hdac_hp_switch_handler(struct hdac_devin sc = devinfo->codec->sc; cad = devinfo->codec->cad; - id = hdac_codec_id(devinfo); - for (i = 0; i < HDAC_HP_SWITCH_LEN; i++) { - if (HDA_DEV_MATCH(hdac_hp_switch[i].model, - sc->pci_subvendor) && - hdac_hp_switch[i].id == id) - break; - } - - if (i >= HDAC_HP_SWITCH_LEN) - return; - - forcemute = 0; - if (hdac_hp_switch[i].eapdnid != -1) { - w = hdac_widget_get(devinfo, hdac_hp_switch[i].eapdnid); - if (w != NULL && w->param.eapdbtl != HDAC_INVALID) - forcemute = (w->param.eapdbtl & - HDA_CMD_SET_EAPD_BTL_ENABLE_EAPD) ? 0 : 1; - } - - if (hdac_hp_switch[i].execsense != -1) - hdac_command(sc, - HDA_CMD_SET_PIN_SENSE(cad, hdac_hp_switch[i].hpnid, - hdac_hp_switch[i].execsense), cad); + as = devinfo->function.audio.as; + for (i = 0; i < devinfo->function.audio.ascnt; i++) { + if (as[i].hpredir < 0) + continue; + + w = hdac_widget_get(devinfo, as[i].pins[15]); + if (w == NULL || w->enable == 0 || w->type != + HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_PIN_COMPLEX) + continue; - timeout = 10000; - do { res = hdac_command(sc, - HDA_CMD_GET_PIN_SENSE(cad, hdac_hp_switch[i].hpnid), - cad); - if (hdac_hp_switch[i].execsense == -1 || res != 0x7fffffff) - break; - DELAY(10); - } while (--timeout != 0); + HDA_CMD_GET_PIN_SENSE(cad, as[i].pins[15]), cad); - HDA_BOOTVERBOSE( - device_printf(sc->dev, - "HDA_DEBUG: Pin sense: nid=%d timeout=%d res=0x%08x\n", - hdac_hp_switch[i].hpnid, timeout, res); - ); + HDA_BOOTVERBOSE( + device_printf(sc->dev, + "Pin sense: nid=%d res=0x%08x\n", + as[i].pins[15], res); + ); - res = HDA_CMD_GET_PIN_SENSE_PRESENCE_DETECT(res); - res ^= hdac_hp_switch[i].inverted; + res = HDA_CMD_GET_PIN_SENSE_PRESENCE_DETECT(res); + if (devinfo->function.audio.quirks & HDA_QUIRK_SENSEINV) + res ^= 1; - switch (hdac_hp_switch[i].type) { - case HDAC_HP_SWITCH_CTL: + /* (Un)Mute headphone pin. */ ctl = hdac_audio_ctl_amp_get(devinfo, - hdac_hp_switch[i].hpnid, 0, 1); - if (ctl != NULL) { - val = (res != 0 && forcemute == 0) ? - HDA_AMP_MUTE_NONE : HDA_AMP_MUTE_ALL; - if (val != ctl->muted) { - ctl->muted = val; + as[i].pins[15], HDA_CTL_IN, -1, 1); + if (ctl != NULL && ctl->mute) { + /* If pin has muter - use it. */ + val = (res != 0) ? 0 : 1; + if (val != ctl->forcemute) { + ctl->forcemute = val; hdac_audio_ctl_amp_set(ctl, - HDA_AMP_MUTE_DEFAULT, ctl->left, - ctl->right); + HDA_AMP_MUTE_DEFAULT, + HDA_AMP_VOL_DEFAULT, HDA_AMP_VOL_DEFAULT); } - } - for (j = 0; hdac_hp_switch[i].spkrnid[j] != -1; j++) { - ctl = hdac_audio_ctl_amp_get(devinfo, - hdac_hp_switch[i].spkrnid[j], 0, 1); - if (ctl == NULL) - continue; - val = (res != 0 || forcemute == 1) ? - HDA_AMP_MUTE_ALL : HDA_AMP_MUTE_NONE; - if (val == ctl->muted) - continue; - ctl->muted = val; - hdac_audio_ctl_amp_set(ctl, HDA_AMP_MUTE_DEFAULT, - ctl->left, ctl->right); - } - break; - case HDAC_HP_SWITCH_CTRL: - if (res != 0) { - /* HP in */ - w = hdac_widget_get(devinfo, hdac_hp_switch[i].hpnid); + } else { + /* If there is no muter - disable pin output. */ + w = hdac_widget_get(devinfo, as[i].pins[15]); if (w != NULL && w->type == HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_PIN_COMPLEX) { - if (forcemute == 0) + if (res != 0) val = w->wclass.pin.ctrl | *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-freebsd-multimedia@FreeBSD.ORG Wed Jan 7 17:10:21 2009 Return-Path: Delivered-To: freebsd-multimedia@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5DB09106566C; Wed, 7 Jan 2009 17:10:21 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 31D728FC37; Wed, 7 Jan 2009 17:10:21 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from freefall.freebsd.org (mav@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n07HALBH045900; Wed, 7 Jan 2009 17:10:21 GMT (envelope-from mav@freefall.freebsd.org) Received: (from mav@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n07HAKNu045872; Wed, 7 Jan 2009 17:10:20 GMT (envelope-from mav) Date: Wed, 7 Jan 2009 17:10:20 GMT Message-Id: <200901071710.n07HAKNu045872@freefall.freebsd.org> To: dgilbert@daveg.ca, mav@FreeBSD.org, freebsd-multimedia@FreeBSD.org From: mav@FreeBSD.org Cc: Subject: Re: kern/119181: [snd_hda] snd_hda needs doesn't recognise headphones on Dell XPS-1730 X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jan 2009 17:10:23 -0000 Synopsis: [snd_hda] snd_hda needs doesn't recognise headphones on Dell XPS-1730 State-Changed-From-To: patched->closed State-Changed-By: mav State-Changed-When: Wed Jan 7 17:09:48 UTC 2009 State-Changed-Why: Merged to 7-STABLE. http://www.freebsd.org/cgi/query-pr.cgi?pr=119181 From owner-freebsd-multimedia@FreeBSD.ORG Wed Jan 7 17:10:52 2009 Return-Path: Delivered-To: freebsd-multimedia@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B1CC5106567B; Wed, 7 Jan 2009 17:10:52 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 86B1D8FC3F; Wed, 7 Jan 2009 17:10:52 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from freefall.freebsd.org (mav@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n07HAq2p050561; Wed, 7 Jan 2009 17:10:52 GMT (envelope-from mav@freefall.freebsd.org) Received: (from mav@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n07HApTv050557; Wed, 7 Jan 2009 17:10:51 GMT (envelope-from mav) Date: Wed, 7 Jan 2009 17:10:51 GMT Message-Id: <200901071710.n07HApTv050557@freefall.freebsd.org> To: os@rsu.ru, mav@FreeBSD.org, freebsd-multimedia@FreeBSD.org From: mav@FreeBSD.org Cc: Subject: Re: kern/120144: [snd_hda] snd_hda plays sound on all outputs X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jan 2009 17:10:53 -0000 Synopsis: [snd_hda] snd_hda plays sound on all outputs State-Changed-From-To: patched->closed State-Changed-By: mav State-Changed-When: Wed Jan 7 17:10:35 UTC 2009 State-Changed-Why: Merged to 7-STABLE. http://www.freebsd.org/cgi/query-pr.cgi?pr=120144 From owner-freebsd-multimedia@FreeBSD.ORG Wed Jan 7 17:13:40 2009 Return-Path: Delivered-To: freebsd-multimedia@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F3D7D106566C; Wed, 7 Jan 2009 17:13:39 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id C9F368FC13; Wed, 7 Jan 2009 17:13:39 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from freefall.freebsd.org (mav@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n07HDdq4051382; Wed, 7 Jan 2009 17:13:39 GMT (envelope-from mav@freefall.freebsd.org) Received: (from mav@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n07HDdY0051378; Wed, 7 Jan 2009 17:13:39 GMT (envelope-from mav) Date: Wed, 7 Jan 2009 17:13:39 GMT Message-Id: <200901071713.n07HDdY0051378@freefall.freebsd.org> To: drgeorgiev@mail.ru, mav@FreeBSD.org, freebsd-multimedia@FreeBSD.org From: mav@FreeBSD.org Cc: Subject: Re: kern/117729: [snd_hda] microphone is not working with snd_hda on FreeBSD AMD64 X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jan 2009 17:13:40 -0000 Synopsis: [snd_hda] microphone is not working with snd_hda on FreeBSD AMD64 State-Changed-From-To: patched->closed State-Changed-By: mav State-Changed-When: Wed Jan 7 17:13:20 UTC 2009 State-Changed-Why: Merged to 7-STABLE. http://www.freebsd.org/cgi/query-pr.cgi?pr=117729 From owner-freebsd-multimedia@FreeBSD.ORG Wed Jan 7 17:14:15 2009 Return-Path: Delivered-To: freebsd-multimedia@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CAACF1065673; Wed, 7 Jan 2009 17:14:15 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 9F8478FC35; Wed, 7 Jan 2009 17:13:09 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from freefall.freebsd.org (mav@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n07HD9FQ050804; Wed, 7 Jan 2009 17:13:09 GMT (envelope-from mav@freefall.freebsd.org) Received: (from mav@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n07HC3pB050638; Wed, 7 Jan 2009 17:12:03 GMT (envelope-from mav) Date: Wed, 7 Jan 2009 17:12:03 GMT Message-Id: <200901071712.n07HC3pB050638@freefall.freebsd.org> To: miguel@anjos.strangled.net, mav@FreeBSD.org, freebsd-multimedia@FreeBSD.org From: mav@FreeBSD.org Cc: Subject: Re: kern/117599: [snd_hda] Audio routing problem NVIDIA MCP51 HDA X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jan 2009 17:14:16 -0000 Synopsis: [snd_hda] Audio routing problem NVIDIA MCP51 HDA State-Changed-From-To: patched->closed State-Changed-By: mav State-Changed-When: Wed Jan 7 17:11:02 UTC 2009 State-Changed-Why: Merged to 7-STABLE. http://www.freebsd.org/cgi/query-pr.cgi?pr=117599 From owner-freebsd-multimedia@FreeBSD.ORG Wed Jan 7 17:14:19 2009 Return-Path: Delivered-To: freebsd-multimedia@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B71C4106566C; Wed, 7 Jan 2009 17:14:19 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 8CBFD8FC22; Wed, 7 Jan 2009 17:14:19 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from freefall.freebsd.org (mav@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n07HEJKm051873; Wed, 7 Jan 2009 17:14:19 GMT (envelope-from mav@freefall.freebsd.org) Received: (from mav@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n07HEJlW051869; Wed, 7 Jan 2009 17:14:19 GMT (envelope-from mav) Date: Wed, 7 Jan 2009 17:14:19 GMT Message-Id: <200901071714.n07HEJlW051869@freefall.freebsd.org> To: nexther0@gmail.com, mav@FreeBSD.org, freebsd-multimedia@FreeBSD.org From: mav@FreeBSD.org Cc: Subject: Re: kern/119671: [snd_hda] line is mic and mic is line on Fujitsu Siemens Lifebook P7120 FreeBSD-Current X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jan 2009 17:14:20 -0000 Synopsis: [snd_hda] line is mic and mic is line on Fujitsu Siemens Lifebook P7120 FreeBSD-Current State-Changed-From-To: patched->closed State-Changed-By: mav State-Changed-When: Wed Jan 7 17:14:02 UTC 2009 State-Changed-Why: Merged to 7-STABLE. http://www.freebsd.org/cgi/query-pr.cgi?pr=119671 From owner-freebsd-multimedia@FreeBSD.ORG Wed Jan 7 17:14:47 2009 Return-Path: Delivered-To: freebsd-multimedia@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EDF651065686; Wed, 7 Jan 2009 17:14:47 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id C46708FC23; Wed, 7 Jan 2009 17:14:47 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from freefall.freebsd.org (mav@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n07HElB5051923; Wed, 7 Jan 2009 17:14:47 GMT (envelope-from mav@freefall.freebsd.org) Received: (from mav@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n07HElJw051919; Wed, 7 Jan 2009 17:14:47 GMT (envelope-from mav) Date: Wed, 7 Jan 2009 17:14:47 GMT Message-Id: <200901071714.n07HElJw051919@freefall.freebsd.org> To: c-h@mail.ru, mav@FreeBSD.org, freebsd-multimedia@FreeBSD.org From: mav@FreeBSD.org Cc: Subject: Re: kern/124645: [snd_hda] snd_hda and SB600, speakers not deactivated after headphones connecting X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jan 2009 17:14:48 -0000 Synopsis: [snd_hda] snd_hda and SB600, speakers not deactivated after headphones connecting State-Changed-From-To: patched->closed State-Changed-By: mav State-Changed-When: Wed Jan 7 17:14:30 UTC 2009 State-Changed-Why: Merged to 7-STABLE. http://www.freebsd.org/cgi/query-pr.cgi?pr=124645 From owner-freebsd-multimedia@FreeBSD.ORG Wed Jan 7 17:15:21 2009 Return-Path: Delivered-To: freebsd-multimedia@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F3E271065690; Wed, 7 Jan 2009 17:15:20 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id C8EE38FC2C; Wed, 7 Jan 2009 17:15:20 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from freefall.freebsd.org (mav@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n07HFKpL051975; Wed, 7 Jan 2009 17:15:20 GMT (envelope-from mav@freefall.freebsd.org) Received: (from mav@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n07HFKdC051971; Wed, 7 Jan 2009 17:15:20 GMT (envelope-from mav) Date: Wed, 7 Jan 2009 17:15:20 GMT Message-Id: <200901071715.n07HFKdC051971@freefall.freebsd.org> To: fidaj@ukr.net, mav@FreeBSD.org, freebsd-multimedia@FreeBSD.org From: mav@FreeBSD.org Cc: Subject: Re: kern/125822: [snd_hda] [patch] Does not define the device: pcm0: X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jan 2009 17:15:21 -0000 Synopsis: [snd_hda] [patch] Does not define the device: pcm0: State-Changed-From-To: patched->closed State-Changed-By: mav State-Changed-When: Wed Jan 7 17:15:05 UTC 2009 State-Changed-Why: Merged to 7-STABLE. http://www.freebsd.org/cgi/query-pr.cgi?pr=125822 From owner-freebsd-multimedia@FreeBSD.ORG Wed Jan 7 17:15:48 2009 Return-Path: Delivered-To: freebsd-multimedia@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 66EC6106568A; Wed, 7 Jan 2009 17:15:48 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 3CEE38FC26; Wed, 7 Jan 2009 17:15:48 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from freefall.freebsd.org (mav@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n07HFmUG052023; Wed, 7 Jan 2009 17:15:48 GMT (envelope-from mav@freefall.freebsd.org) Received: (from mav@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n07HFljt052019; Wed, 7 Jan 2009 17:15:47 GMT (envelope-from mav) Date: Wed, 7 Jan 2009 17:15:47 GMT Message-Id: <200901071715.n07HFljt052019@freefall.freebsd.org> To: amokk@mirahost.ru, mav@FreeBSD.org, freebsd-multimedia@FreeBSD.org From: mav@FreeBSD.org Cc: Subject: Re: kern/126217: [snd_hda] no snd_hda support for internal microphone for ACER Aspire 4715z laptop X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jan 2009 17:15:48 -0000 Synopsis: [snd_hda] no snd_hda support for internal microphone for ACER Aspire 4715z laptop State-Changed-From-To: patched->closed State-Changed-By: mav State-Changed-When: Wed Jan 7 17:15:32 UTC 2009 State-Changed-Why: Merged to 7-STABLE. http://www.freebsd.org/cgi/query-pr.cgi?pr=126217 From owner-freebsd-multimedia@FreeBSD.ORG Thu Jan 8 05:41:47 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 973C1106564A for ; Thu, 8 Jan 2009 05:41:47 +0000 (UTC) (envelope-from zhulizhongum@yahoo.com.cn) Received: from web15203.mail.cnb.yahoo.com (web15203.mail.cnb.yahoo.com [202.165.105.133]) by mx1.freebsd.org (Postfix) with SMTP id CECEC8FC08 for ; Thu, 8 Jan 2009 05:41:46 +0000 (UTC) (envelope-from zhulizhongum@yahoo.com.cn) Received: (qmail 3763 invoked by uid 60001); 8 Jan 2009 05:15:04 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com.cn; h=X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=ugnW8KhqFOfnCYjDFdlgnZuVnp0mK8XQt/O2KDK4CbxcNAcEVjYt8WkVsURLGnn5yVjoxI2L/hBQ633DOE4uySXaXhnI8Sm/68Kii5e6lWT8TF63zUpigsIzeYzlA8W2kFR5JTJM4bUW4qvANJLO3h14Zb9z6Hsx2x4jx+eim9Y=; X-YMail-OSG: lvsJ.3gVM1lLNHJdTZVqUnq5YC5TRaOAO_lPwTvjDp4Ipn6Sd1l1Eu3JPPIYezNJYpmK7qp6MhN8NmVVPNCTS32uvmsntjqO96PIdTqASfP4_5Y1FLVfkSwenmlBV9D0MwN6g4utLDv2OnlHMFd_MwZc.ydnhZz90Wja88Y7r5xZ.W6Z.KkEgEJiFlR3Ww-- Received: from [58.251.228.194] by web15203.mail.cnb.yahoo.com via HTTP; Thu, 08 Jan 2009 13:15:04 CST X-Mailer: YahooMailWebService/0.7.260.1 Date: Thu, 8 Jan 2009 13:15:04 +0800 (CST) From: lizhong zhu To: freebsd-multimedia@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Message-ID: <754616.3380.qm@web15203.mail.cnb.yahoo.com> Subject: error compiling with mpeg4ip-1.6 X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jan 2009 05:41:47 -0000 hello, all of users: when i compile mpeg4ip-1.6, i got the error: -------------------------------------------------------------- -compare -fno-strict-aliasing -g -O2 -DMPEG4IP -I/usr/include/SDL -D_GNU_SO= URCE=3D1 -D_REENTRANT -MT video_ffmpeg.lo -MD -MP -MF .deps/video_ffmpeg.Tp= o -c video_ffmpeg.cpp=A0 -fPIC -DPIC -o .libs/video_ffmpeg.o video_ffmpeg.cpp: In member function 'virtual bool CFfmpegVideoEncoder::Ini= t()': video_ffmpeg.cpp:124: error: 'struct AVCodecContext' has no member named 'f= rame_rate' video_ffmpeg.cpp:125: error: 'struct AVCodecContext' has no member named 'f= rame_rate_base' video_ffmpeg.cpp:136: error: 'struct AVCodecContext' has no member named 'a= spect_ratio' make[4]: *** [video_ffmpeg.lo] Error 1 make[4]: Leaving directory `/usr/src/mpeg4ip-1.6/server/mp4live' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/usr/src/mpeg4ip-1.6/server/mp4live' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/usr/src/mpeg4ip-1.6/server' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/src/mpeg4ip-1.6' make: *** [all] Error 2 ----------------------------------------------------- my os is centos-5.0. anyone knows that problem?=20 please give me a hint! thanks! james.zhu =0A=0A=0A From owner-freebsd-multimedia@FreeBSD.ORG Fri Jan 9 09:26:59 2009 Return-Path: Delivered-To: multimedia@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6A3E41065672 for ; Fri, 9 Jan 2009 09:26:59 +0000 (UTC) (envelope-from peter@vereshagin.org) Received: from mx1.skyriver.ru (ns1.skyriver.ru [89.108.82.27]) by mx1.freebsd.org (Postfix) with ESMTP id 835428FC08 for ; Fri, 9 Jan 2009 09:26:58 +0000 (UTC) (envelope-from peter@vereshagin.org) Received: from localhost (unknown [81.23.190.117]) by mx1.skyriver.ru (Postfix) with ESMTP id EA6D55A8B; Fri, 9 Jan 2009 11:59:53 +0300 (MSK) Date: Fri, 9 Jan 2009 13:10:10 +0400 From: Peter Vereshagin To: multimedia@FreeBSD.org Message-ID: <20090109091010.GK87660@screwed.box> References: <200901081301.n08D1Mnv088857@freefall.freebsd.org> <20090108132735.GA87660@screwed.box> <1231423533.51790.178.camel@pav.hide.vol.cz> <20090109073511.GB87660@screwed.box> <1231488904.51790.213.camel@pav.hide.vol.cz> <20090109084535.GG87660@screwed.box> <1231490914.51790.220.camel@pav.hide.vol.cz> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="qDbXVdCdHGoSgWSk" Content-Disposition: inline In-Reply-To: <1231490914.51790.220.camel@pav.hide.vol.cz> Organization: ' X-Face: 8T>{1owI$Byj]]a; ^G]kRf*dkq>E-3':F>4ODP[#X4s"dr?^b&2G@'3lukno]A1wvJ_L (~u 6>I2ra/<,j1%@C[LN=>p#_}RIV+#:KTszp-X$bQOj,K Cc: Pav Lucistnik Subject: audio/faac does not compile without devel/libgnugetopt Re: ports/130292: security/pinentry lacks on no_argument type X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jan 2009 09:26:59 -0000 --qDbXVdCdHGoSgWSk Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Hello, Not sure if I should file a PR for this or put on mailing list: === configure.in:17: warning: AC_CACHE_VAL(lt_prog_compiler_pic_works_GCJ, ...): suspicious cache-id, must contain _cv_ to be cached aclocal.m4:3860: _LT_AC_LANG_GCJ_CONFIG is expanded from... aclocal.m4:3859: AC_LIBTOOL_LANG_GCJ_CONFIG is expanded from... checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel checking whether build environment is sane... yes checking for gawk... gawk checking whether gmake sets $(MAKE)... yes checking for gcc... cc checking for C compiler default output file name... a.out checking whether the C compiler works... configure: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details. ===> Script "configure" failed unexpectedly. Please report the problem to multimedia@FreeBSD.org [maintainer] and attach the "/spacy/volume/ports/audio/faac/work/faac/config.log" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. an `ls /var/db/pkg`). *** Error code 1 Stop in /spacy/volume/ports/audio/faac. === Attached is the config.log. Could not read it out for clear. More details are: many .m4 warnings before ./configure. Intended to put libgnugetopt in presence for this to compile and run. 2009/01/09 09:48:34 +0100 Pav Lucistnik => To Peter Vereshagin : PL> They surely do compile without libgnugetopt present on many other PL> machines. You need to see, what's different on your machine. PL> PL> Copy of the error message would be helpful. PL> PL> Peter Vereshagin p??e v p? 09. 01. 2009 v 12:45 +0400: PL> > I'm very sorry to bother you again but have noticed that it is the audio/faac ( and ffmpeg and mplayer therefore ) to require the devel/libgnugetopt to be present... it just does neither work nor even compile without libgnugetopt. Should I file a new PR for this? PL> > PL> > 2009/01/09 09:15:04 +0100 Pav Lucistnik => To Peter Vereshagin : PL> > PL> No, I just closed the PR. PL> > PL> PL> > PL> Peter Vereshagin p??e v p? 09. 01. 2009 v 11:35 +0400: PL> > PL> > It does now but I'm frustrated much to see the #define operators are the same on those headers. Looks like some unfamiliar C magic to me. PL> > PL> > Need to do something to close PR? PL> > PL> > PL> > PL> > 2009/01/08 15:05:33 +0100 Pav Lucistnik => To Peter Vereshagin : PL> > PL> > PL> You have libgnugetopt package on 7.1 system? Whee, impressive. This port PL> > PL> > PL> was only relevant on FreeBSD 4.x and older. Delete it and try again with PL> > PL> > PL> pinentry. PL> > PL> > PL> PL> > PL> > PL> PL> > PL> > PL> Peter Vereshagin p??e v ?t 08. 01. 2009 v 17:27 +0400: PL> > PL> > PL> > Every getopt.h I looked contained no such a typedefs but only the constants. Those are in: /usr/src/include /usr/include and /usr/local/include ( by libgnugetopt-1.2_1 package ). PL> > PL> > PL> > I googled on such a message but nothing helpful. Is it well known which header should contain such a type definitions? PL> > PL> > PL> > PL> > PL> > PL> > 2009/01/08 13:01:22 +0000 pav@FreeBSD.org => To peter@vereshagin.org : PL> > PL> > PL> > > Synopsis: security/pinentry lacks on no_argument type PL> > PL> > PL> > > PL> > PL> > PL> > > State-Changed-From-To: open->feedback PL> > PL> > PL> > > State-Changed-By: pav PL> > PL> > PL> > > State-Changed-When: Thu Jan 8 13:01:08 UTC 2009 PL> > PL> > PL> > > State-Changed-Why: PL> > PL> > PL> > > Cannot reproduce. PL> > PL> > PL> > > PL> > PL> > PL> > > Are you sure where aren't multiple getopt.h headers on your machine? PL> > PL> > PL> > > PL> > PL> > PL> > > http://www.freebsd.org/cgi/query-pr.cgi?pr=130292 PL> > PL> > PL> > PL> > PL> > PL> > 73! Peter PL> > PL> > PL> -- PL> > PL> > PL> Pav Lucistnik PL> > PL> > PL> PL> > PL> > PL> PL> > PL> > PL> It's now using GIFs instead of JPEGs. This is similar to replacing PL> > PL> > PL> triangular wheels with round ones. PL> > PL> > PL> > PL> > PL> > PL> > 73! Peter PL> > PL> -- PL> > PL> Pav Lucistnik PL> > PL> PL> > PL> PL> > PL> The Linimon's Rule: The More You Close, The More Will Come PL> > PL> > PL> > 73! Peter PL> -- PL> Pav Lucistnik PL> PL> PL> Why did the stoplight turn red? PL> You would too, if you had to change in front of all those people. 73! Peter -- http://vereshagin.org --qDbXVdCdHGoSgWSk Content-Type: text/plain; charset=koi8-r Content-Disposition: attachment; filename="config.log" This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by FAAC configure 1.25, which was generated by GNU Autoconf 2.62. Invocation command line was $ ./configure --prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/ --build=i386-portbld-freebsd7.1 ## --------- ## ## Platform. ## ## --------- ## hostname = screwed.box uname -m = i386 uname -r = 7.1-PRERELEASE uname -s = FreeBSD uname -v = FreeBSD 7.1-PRERELEASE #2: Fri Jan 2 15:03:09 SAMT 2009 toor@screwed.box:/usr/local/src/sys/i386/compile/OPER /usr/bin/uname -p = i386 /bin/uname -X = unknown /bin/arch = unknown /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown /usr/bin/hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown PATH: /sbin PATH: /bin PATH: /usr/sbin PATH: /usr/bin PATH: /usr/games PATH: /usr/local/sbin PATH: /usr/local/bin PATH: /root/bin ## ----------- ## ## Core tests. ## ## ----------- ## configure:2085: checking for a BSD-compatible install configure:2153: result: /usr/bin/install -c -o root -g wheel configure:2164: checking whether build environment is sane configure:2207: result: yes configure:2269: checking for gawk configure:2285: found /usr/local/bin/gawk configure:2296: result: gawk configure:2307: checking whether gmake sets $(MAKE) configure:2329: result: yes configure:2585: checking for gcc configure:2612: result: cc configure:2850: checking for C compiler version configure:2858: cc --version >&5 cc (GCC) 4.2.1 20070719 [FreeBSD] Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:2862: $? = 0 configure:2869: cc -v >&5 Using built-in specs. Target: i386-undermydesk-freebsd Configured with: FreeBSD/i386 system compiler Thread model: posix gcc version 4.2.1 20070719 [FreeBSD] configure:2873: $? = 0 configure:2880: cc -V >&5 cc: '-V' option must have argument configure:2884: $? = 1 configure:2907: checking for C compiler default output file name configure:2929: cc -O2 -fno-strict-aliasing -pipe -I/usr/local/include -L/usr/local/lib conftest.c -lmp4v2 >&5 /usr/bin/ld: warning: libgnugetopt.so.1, needed by /usr/local/lib/libmp4v2.so, not found (try using -rpath or -rpath-link) configure:2933: $? = 0 configure:2971: result: a.out configure:2988: checking whether the C compiler works configure:2998: ./a.out /libexec/ld-elf.so.1: Shared object "libgnugetopt.so.1" not found, required by "libmp4v2.so.0" configure:3002: $? = 1 configure:3009: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details. ## ---------------- ## ## Cache variables. ## ## ---------------- ## ac_cv_env_CCC_set='' ac_cv_env_CCC_value='' ac_cv_env_CC_set=set ac_cv_env_CC_value=cc ac_cv_env_CFLAGS_set=set ac_cv_env_CFLAGS_value='-O2 -fno-strict-aliasing -pipe' ac_cv_env_CPPFLAGS_set=set ac_cv_env_CPPFLAGS_value=-I/usr/local/include ac_cv_env_CPP_set='' ac_cv_env_CPP_value='' ac_cv_env_CXXCPP_set='' ac_cv_env_CXXCPP_value='' ac_cv_env_CXXFLAGS_set=set ac_cv_env_CXXFLAGS_value='-O2 -fno-strict-aliasing -pipe' ac_cv_env_CXX_set=set ac_cv_env_CXX_value=c++ ac_cv_env_F77_set='' ac_cv_env_F77_value='' ac_cv_env_FFLAGS_set='' ac_cv_env_FFLAGS_value='' ac_cv_env_LDFLAGS_set=set ac_cv_env_LDFLAGS_value=-L/usr/local/lib ac_cv_env_LIBS_set=set ac_cv_env_LIBS_value=-lmp4v2 ac_cv_env_build_alias_set=set ac_cv_env_build_alias_value=i386-portbld-freebsd7.1 ac_cv_env_host_alias_set='' ac_cv_env_host_alias_value='' ac_cv_env_target_alias_set='' ac_cv_env_target_alias_value='' ac_cv_prog_AWK=gawk ac_cv_prog_ac_ct_CC=cc ac_cv_prog_make_gmake_set=yes lt_cv_sys_max_cmd_len=262144 ## ----------------- ## ## Output variables. ## ## ----------------- ## ACLOCAL='/usr/local/bin/aclocal-1.9' AMDEPBACKSLASH='' AMDEP_FALSE='' AMDEP_TRUE='' AMTAR='${SHELL} /spacy/volume/ports/audio/faac/work/faac/missing --run tar' AR='' AUTOCONF='/usr/local/bin/autoconf-2.62' AUTOHEADER='/usr/local/bin/autoheader-2.62' AUTOMAKE='/usr/local/bin/automake-1.9' AWK='gawk' CC='cc' CCDEPMODE='' CFLAGS='-O2 -fno-strict-aliasing -pipe' CPP='' CPPFLAGS='-I/usr/local/include' CXX='c++' CXXCPP='' CXXDEPMODE='' CXXFLAGS='-O2 -fno-strict-aliasing -pipe' CYGPATH_W='echo' DEFS='' DEPDIR='' ECHO='echo' ECHO_C='' ECHO_N='-n' ECHO_T='' EGREP='' EXEEXT='' F77='' FFLAGS='' GREP='' INSTALL_DATA='install -o root -g wheel -m 444' INSTALL_PROGRAM='install -s -o root -g wheel -m 555' INSTALL_SCRIPT='install -o root -g wheel -m 555' INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s' LDFLAGS='-L/usr/local/lib' LIBOBJS='' LIBS='-lmp4v2' LIBTOOL='/usr/local/bin/libtool' LN_S='' LTLIBOBJS='' MAKEINFO='${SHELL} /spacy/volume/ports/audio/faac/work/faac/missing --run makeinfo' OBJEXT='' PACKAGE='faac' PACKAGE_BUGREPORT='faac-dev@lists.sourceforge.net' PACKAGE_NAME='FAAC' PACKAGE_STRING='FAAC 1.25' PACKAGE_TARNAME='faac' PACKAGE_VERSION='1.25' PATH_SEPARATOR=':' RANLIB='' SET_MAKE='' SHELL='/bin/sh' STRIP='' USE_DRM_FALSE='' USE_DRM_TRUE='' VERSION='1.25' WITH_MP4V2_FALSE='' WITH_MP4V2_TRUE='' ac_ct_CC='cc' ac_ct_CXX='' ac_ct_F77='' am__fastdepCC_FALSE='' am__fastdepCC_TRUE='' am__fastdepCXX_FALSE='' am__fastdepCXX_TRUE='' am__include='' am__leading_dot='.' am__quote='' am__tar='${AMTAR} chof - "$$tardir"' am__untar='${AMTAR} xf -' bindir='${exec_prefix}/bin' build='i386-portbld-freebsd7.1' build_alias='i386-portbld-freebsd7.1' build_cpu='' build_os='' build_vendor='' datadir='${datarootdir}' datarootdir='${prefix}/share' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' dvidir='${docdir}' exec_prefix='NONE' host='' host_alias='' host_cpu='' host_os='' host_vendor='' htmldir='${docdir}' includedir='${prefix}/include' infodir='/usr/local/info' install_sh='/spacy/volume/ports/audio/faac/work/faac/install-sh' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' localedir='${datarootdir}/locale' localstatedir='${prefix}/var' mandir='/usr/local/man' mkdir_p='$(install_sh) -d' oldincludedir='/usr/include' pdfdir='${docdir}' prefix='/usr/local' program_transform_name='s,x,x,' psdir='${docdir}' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' sysconfdir='${prefix}/etc' target_alias='' ## ----------- ## ## confdefs.h. ## ## ----------- ## #define PACKAGE_NAME "FAAC" #define PACKAGE_TARNAME "faac" #define PACKAGE_VERSION "1.25" #define PACKAGE_STRING "FAAC 1.25" #define PACKAGE_BUGREPORT "faac-dev@lists.sourceforge.net" #define PACKAGE "faac" #define VERSION "1.25" configure: exit 1 --qDbXVdCdHGoSgWSk-- From owner-freebsd-multimedia@FreeBSD.ORG Fri Jan 9 09:31:47 2009 Return-Path: Delivered-To: multimedia@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 13BA41065677 for ; Fri, 9 Jan 2009 09:31:47 +0000 (UTC) (envelope-from pav@FreeBSD.org) Received: from nat-application.b1.lan.prg.vol.cz (nat-application.b1.lan.prg.vol.cz [195.122.204.152]) by mx1.freebsd.org (Postfix) with ESMTP id 818278FC0A for ; Fri, 9 Jan 2009 09:31:46 +0000 (UTC) (envelope-from pav@FreeBSD.org) Received: from pav.hide.vol.cz (localhost [127.0.0.1]) by nat-application.b1.lan.prg.vol.cz (8.14.3/8.14.3) with ESMTP id n099Dx4v016451; Fri, 9 Jan 2009 10:14:00 +0100 (CET) (envelope-from pav@FreeBSD.org) Received: (from pav@localhost) by pav.hide.vol.cz (8.14.3/8.14.3/Submit) id n099DutF016450; Fri, 9 Jan 2009 10:13:56 +0100 (CET) (envelope-from pav@FreeBSD.org) X-Authentication-Warning: pav.hide.vol.cz: pav set sender to pav@FreeBSD.org using -f From: Pav Lucistnik To: Peter Vereshagin In-Reply-To: <20090109091010.GK87660@screwed.box> References: <200901081301.n08D1Mnv088857@freefall.freebsd.org> <20090108132735.GA87660@screwed.box> <1231423533.51790.178.camel@pav.hide.vol.cz> <20090109073511.GB87660@screwed.box> <1231488904.51790.213.camel@pav.hide.vol.cz> <20090109084535.GG87660@screwed.box> <1231490914.51790.220.camel@pav.hide.vol.cz> <20090109091010.GK87660@screwed.box> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-D9X2xv2BJlcH8Lf6tjZz" Date: Fri, 09 Jan 2009 10:13:52 +0100 Message-Id: <1231492433.51790.222.camel@pav.hide.vol.cz> Mime-Version: 1.0 X-Mailer: Evolution 2.22.3.1 FreeBSD GNOME Team Port Cc: multimedia@FreeBSD.org Subject: Re: audio/faac does not compile without devel/libgnugetopt Re: ports/130292: security/pinentry lacks on no_argument type X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: pav@FreeBSD.org List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jan 2009 09:31:47 -0000 --=-D9X2xv2BJlcH8Lf6tjZz Content-Type: text/plain; charset=ISO8859-2 Content-Transfer-Encoding: quoted-printable Peter Vereshagin p=ED=B9e v p=E1 09. 01. 2009 v 13:10 +0400: > /libexec/ld-elf.so.1: Shared object "libgnugetopt.so.1" not found, > required by "libmp4v2.so.0" You need to rebuild all libraries that link with libgnugetopt.so.1 (which is no longer installed on your system). Use ldd to determine which libraries need rebuild Use pkg_which to determine which package installed given library Use portupgrade -f to rebuild affected packages --=20 Pav Lucistnik A spoonful of curry, garlic and mustard helps the medicine go down... and come straight back up again. -- JLE on #angband --=-D9X2xv2BJlcH8Lf6tjZz Content-Type: application/pgp-signature; name=signature.asc Content-Description: Toto je =?UTF-8?Q?digit=C3=A1ln=C4=9B?= =?ISO-8859-1?Q?_podepsan=E1?= =?UTF-8?Q?_=C4=8D=C3=A1st?= =?ISO-8859-1?Q?_zpr=E1vy?= -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEABECAAYFAklnFU8ACgkQntdYP8FOsoKJhACfaeNzJDz2/fWDXv6yMeyeqFt9 CgkAniFxN6mF/ZNwhaMW9a/yQoUORBAI =EKR7 -----END PGP SIGNATURE----- --=-D9X2xv2BJlcH8Lf6tjZz-- From owner-freebsd-multimedia@FreeBSD.ORG Fri Jan 9 23:14:38 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B39941065678 for ; Fri, 9 Jan 2009 23:14:38 +0000 (UTC) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from osl1smout1.broadpark.no (osl1smout1.broadpark.no [80.202.4.58]) by mx1.freebsd.org (Postfix) with ESMTP id 72B4F8FC12 for ; Fri, 9 Jan 2009 23:14:38 +0000 (UTC) (envelope-from torfinn.ingolfsen@broadpark.no) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; charset=US-ASCII Received: from osl1sminn1.broadpark.no ([80.202.4.59]) by osl1smout1.broadpark.no (Sun Java(tm) System Messaging Server 6.3-3.01 (built Jul 12 2007; 32bit)) with ESMTP id <0KD800ACH8KCLZ60@osl1smout1.broadpark.no> for freebsd-multimedia@freebsd.org; Sat, 10 Jan 2009 00:14:36 +0100 (CET) Received: from kg-work2.kg4.no ([80.203.109.110]) by osl1sminn1.broadpark.no (Sun Java(tm) System Messaging Server 6.3-3.01 (built Jul 12 2007; 32bit)) with SMTP id <0KD800E5O8KCI9B0@osl1sminn1.broadpark.no> for freebsd-multimedia@freebsd.org; Sat, 10 Jan 2009 00:14:36 +0100 (CET) Date: Sat, 10 Jan 2009 00:14:35 +0100 From: Torfinn Ingolfsen To: freebsd-multimedia@freebsd.org Message-id: <20090110001435.cc73234a.torfinn.ingolfsen@broadpark.no> In-reply-to: <20081227002310.9ca41333.torfinn.ingolfsen@broadpark.no> References: <20081227002310.9ca41333.torfinn.ingolfsen@broadpark.no> X-Mailer: Sylpheed 2.5.0 (GTK+ 2.12.11; i386-portbld-freebsd7.0) X-Face: "t9w2,-X@O^I`jVW\sonI3.,36KBLZE*AL[y9lL[PyFD*r_S:dIL9c[8Y>V42R0"!"yb_zN,f#%.[PYYNq; m"_0v; ~rUM2Yy!zmkh)3&U|u!=T(zyv,MHJv"nDH>OJ`t(@mil461d_B'Uo|'nMwlKe0Mv=kvV?Nh@>Hb<3s_z2jYgZhPb@?Wi^x1a~Hplz1.zH Subject: Re: snd_hda and nVidia GeForce 8200 (MCP78S) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jan 2009 23:14:39 -0000 On Sat, 27 Dec 2008 00:23:10 +0100 Torfinn Ingolfsen wrote: > I don't know yet if sound is workling at all - more testing is > needed. I'll report later. Continued happy holidays to all! FWIW, the machine is now updated to latest 7.1-stable: root@kg-v2# uname -a FreeBSD kg-v2.kg4.no 7.1-STABLE FreeBSD 7.1-STABLE #3: Fri Jan 9 22:14:31 CET 2009 root@kg-v2.kg4.no:/usr/obj/usr/src/sys/GENERIC amd64 And /dev/sndstat now reports: root@kg-v2# cat /dev/sndstat FreeBSD Audio Driver (newpcm: 64bit 2007061600/amd64) Installed devices: pcm0: at cad 0 nid 1 on hdac0 kld snd_hda [MPSAFE] (1p:1v/1r:1v channels duplex default) pcm1: at cad 0 nid 1 on hdac0 kld snd_hda [MPSAFE] (1p:1v/0r:0v channels) pcm2: at cad 3 nid 1 on hdac0 kld snd_hda [MPSAFE] (1p:1v/0r:0v channels) And sound now works. As usual, more info (including verbose dmesgs) can be found on the FreeBSD page for this machine[1]. HTH, HAND References: 1) http://tingox.googlepages.com/asus_v2-m3n8200_freebsd -- Regards, Torfinn Ingolfsen From owner-freebsd-multimedia@FreeBSD.ORG Sat Jan 10 02:43:07 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A95A9106564A for ; Sat, 10 Jan 2009 02:43:07 +0000 (UTC) (envelope-from cracauer@koef.zs64.net) Received: from koef.zs64.net (koef.zs64.net [212.12.50.230]) by mx1.freebsd.org (Postfix) with ESMTP id 245D68FC0C for ; Sat, 10 Jan 2009 02:43:06 +0000 (UTC) (envelope-from cracauer@koef.zs64.net) Received: from koef.zs64.net (koef.zs64.net [212.12.50.230]) by koef.zs64.net (8.14.3/8.14.3) with ESMTP id n0A2481N057280 for ; Sat, 10 Jan 2009 03:04:08 +0100 (CET) (envelope-from cracauer@koef.zs64.net) Received: (from cracauer@localhost) by koef.zs64.net (8.14.3/8.14.3/Submit) id n0A2472F057278 for freebsd-multimedia@freebsd.org; Fri, 9 Jan 2009 21:04:07 -0500 (EST) (envelope-from cracauer) Date: Fri, 9 Jan 2009 21:04:07 -0500 From: Martin Cracauer To: freebsd-multimedia@freebsd.org Message-ID: <20090110020407.GA53254@cons.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.3i Subject: Xine and real video recently broke X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jan 2009 02:43:07 -0000 This got me puzzled. Real video recently broke (I think it worked) in my FreeBSD/i386 Xine. It still works in mplayer and they both use the same binary codecs. %% I have xine and mplayer set up in FreeBSD and Linux. I use the same binary codecs and the same libxine version. FreeBSD/xine doesn't work, the other three combinations work. The video in question plays through this stack of software layers in all 4 players: - libxine.../src/input/libreal/*.c [FreeBSD or Linux native file compiled into xine] - binary codec drv4.so.6.0 - binary codec drvc.so I have verified with verbose output and `ls -ltruT` that the Linux and FreeBSD xines both access these same codecs and the md5s on both machines are the same. drv4.so.6.0 is a Linux file, but it is supposed to work under FreeBSD. I am mostly positive that this worked before some recent upgrades (6.x -> 7.x and general ports upgrade). But the real trick is that FreeBSD's mplayer works, using this *.so file. The video in question is public domain, I can make it available to whoever is interested. %% More details: Here's xine verbose on FreeBSD: gui_xine_open_and_play(): mrl: '/tmp/Rabaulal19656.rm', sub 'NONE', start_pos 0, start_time 0, av_offset 0, spu_offset 0. xine: found input plugin : file input plugin xine: found demuxer plugin: RealMedia file demux plugin demux_real: buf type 0x03210000 frame size 2304 block align 32 video_decoder: no plugin available to handle 'Real Video 4.0' ---------------------- (ERROR) ---------------------- A problem occur while loading a library or a decoder: drvc.soffmpeg_audio_dec: increasing buffer to 98304 to avoid overflow. ------------------ (END OF ERROR) ------------------- The error message seems to be related to audio, not video. But the working Linux/i386 does not display the same message for this video. Here's the working Linux output: gui_xine_open_and_play(): mrl: '/space/video/cache/ww2-vids/Rabaulal19656.rm', sub 'NONE', start_pos 0, start_time 0, av_offset 0, spu_offset 0. xine: found input plugin : file input plugin xine: found demuxer plugin: RealMedia file demux plugin demux_real: buf type 0x03210000 frame size 2304 block align 32 info_helper: can't find out current locale character set info_helper: can't find out current locale character set info_helper: can't find out current locale character set ffmpeg_audio_dec: increasing buffer to 98304 to avoid overflow. info_helper: can't find out current locale character set ffmpeg_audio_dec: cook audio channels 1 bits 16 sample rate 8000 block align 32 av_offset=0 pts spu_offset=0 pts osd: can't find out current locale character set Martin -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Martin Cracauer http://www.cons.org/cracauer/ FreeBSD - where you want to go, today. http://www.freebsd.org/ From owner-freebsd-multimedia@FreeBSD.ORG Sat Jan 10 10:40:47 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 34C431065677 for ; Sat, 10 Jan 2009 10:40:47 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from cmail.optima.ua (cmail.optima.ua [195.248.191.121]) by mx1.freebsd.org (Postfix) with ESMTP id 8A6358FC19 for ; Sat, 10 Jan 2009 10:40:46 +0000 (UTC) (envelope-from mav@FreeBSD.org) X-Spam-Flag: SKIP X-Spam-Yversion: Spamooborona-2.1.0 Received: from [212.86.226.226] (account mav@alkar.net HELO mavbook.mavhome.dp.ua) by cmail.optima.ua (CommuniGate Pro SMTP 5.2.9) with ESMTPSA id 231300569; Sat, 10 Jan 2009 12:40:45 +0200 Message-ID: <49687B32.6030907@FreeBSD.org> Date: Sat, 10 Jan 2009 12:40:50 +0200 From: Alexander Motin User-Agent: Thunderbird 2.0.0.17 (X11/20081029) MIME-Version: 1.0 To: Torfinn Ingolfsen References: <1230344595.00052843.1230334202@10.7.7.3> <1231554198.00058315.1231543202@10.7.7.3> In-Reply-To: <1231554198.00058315.1231543202@10.7.7.3> Content-Type: multipart/mixed; boundary="------------040507030107080605080404" Cc: freebsd-multimedia@freebsd.org Subject: Re: snd_hda and nVidia GeForce 8200 (MCP78S) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jan 2009 10:40:47 -0000 This is a multi-part message in MIME format. --------------040507030107080605080404 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Torfinn Ingolfsen wrote: > FWIW, the machine is now updated to latest 7.1-stable: > root@kg-v2# uname -a > FreeBSD kg-v2.kg4.no 7.1-STABLE FreeBSD 7.1-STABLE #3: Fri Jan 9 22:14:31 CET 2009 root@kg-v2.kg4.no:/usr/obj/usr/src/sys/GENERIC amd64 > > And sound now works. > As usual, more info (including verbose dmesgs) can be found on the FreeBSD page for this machine[1]. > > References: > 1) http://tingox.googlepages.com/asus_v2-m3n8200_freebsd Thanks for feedback. I have found one old bug with help of your dmesg. On some codecs inter-channel signal leakage was possible. It is not so visible now as we have no real multichannel support, but it may affect sound quality. Problem is here: pcm0: nid=28 [pin: Line-out (Jack)] pcm0: | pcm0: + <- nid=22 [audio mixer] [src: pcm] pcm0: | pcm0: + <- nid=16 [audio output] [src: pcm] pcm0: + <- nid=37 [audio output] [src: pcm] pcm0: pcm0: nid=29 [pin: Headphones (Jack)] pcm0: | pcm0: + <- nid=22 [audio mixer] [src: pcm] pcm0: | pcm0: + <- nid=16 [audio output] [src: pcm] pcm0: + <- nid=37 [audio output] [src: pcm] Signals from nids 16 and 37 should not be mixed. Could you please test attached patch to check how does it help? It works fine on my test setup and I just want to be sure. -- Alexander Motin --------------040507030107080605080404 Content-Type: text/plain; name="hdac.c.crossch.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="hdac.c.crossch.patch" --- hdac.c.prev 2009-01-08 21:26:32.000000000 +0200 +++ hdac.c 2009-01-10 12:25:50.000000000 +0200 @@ -83,7 +83,7 @@ #include "mixer_if.h" -#define HDA_DRV_TEST_REV "20081226_0122" +#define HDA_DRV_TEST_REV "20090110_0123" SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/hda/hdac.c,v 1.85 2008/12/27 11:00:20 mav Exp $"); @@ -5479,7 +5479,7 @@ hdac_audio_disable_crossas(struct hdac_d struct hdac_audio_ctl *ctl; int i, j; - /* Disable crossassociatement connections. */ + /* Disable crossassociatement and unwanted crosschannel connections. */ /* ... using selectors */ for (i = devinfo->startnode; i < devinfo->endnode; i++) { w = hdac_widget_get(devinfo, i); @@ -5497,7 +5497,10 @@ hdac_audio_disable_crossas(struct hdac_d cw = hdac_widget_get(devinfo, w->conns[j]); if (cw == NULL || w->enable == 0) continue; - if (w->bindas == cw->bindas || cw->bindas == -2) + if (cw->bindas == -2) + continue; + if (w->bindas == cw->bindas && + (w->bindseqmask & cw->bindseqmask) != 0) continue; w->connsenable[j] = 0; HDA_BOOTHVERBOSE( @@ -5516,7 +5519,8 @@ hdac_audio_disable_crossas(struct hdac_d if (ctl->widget->bindas == -2 || ctl->childwidget->bindas == -2) continue; - if (ctl->widget->bindas != ctl->childwidget->bindas) { + if (ctl->widget->bindas != ctl->childwidget->bindas || + (ctl->widget->bindseqmask & ctl->childwidget->bindseqmask) == 0) { ctl->forcemute = 1; ctl->muted = HDA_AMP_MUTE_ALL; ctl->left = 0; --------------040507030107080605080404-- From owner-freebsd-multimedia@FreeBSD.ORG Sat Jan 10 11:40:53 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 86451106566B for ; Sat, 10 Jan 2009 11:40:53 +0000 (UTC) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from osl1smout1.broadpark.no (osl1smout1.broadpark.no [80.202.4.58]) by mx1.freebsd.org (Postfix) with ESMTP id 4414E8FC0A for ; Sat, 10 Jan 2009 11:40:53 +0000 (UTC) (envelope-from torfinn.ingolfsen@broadpark.no) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; charset=US-ASCII Received: from osl1sminn1.broadpark.no ([80.202.4.59]) by osl1smout1.broadpark.no (Sun Java(tm) System Messaging Server 6.3-3.01 (built Jul 12 2007; 32bit)) with ESMTP id <0KD900A06744LZD0@osl1smout1.broadpark.no> for freebsd-multimedia@freebsd.org; Sat, 10 Jan 2009 12:40:52 +0100 (CET) Received: from kg-work2.kg4.no ([80.203.109.110]) by osl1sminn1.broadpark.no (Sun Java(tm) System Messaging Server 6.3-3.01 (built Jul 12 2007; 32bit)) with SMTP id <0KD900IL6743VV50@osl1sminn1.broadpark.no> for freebsd-multimedia@freebsd.org; Sat, 10 Jan 2009 12:40:52 +0100 (CET) Date: Sat, 10 Jan 2009 12:40:51 +0100 From: Torfinn Ingolfsen To: freebsd-multimedia@freebsd.org Message-id: <20090110124051.80ef838d.torfinn.ingolfsen@broadpark.no> In-reply-to: <49687B32.6030907@FreeBSD.org> References: <1230344595.00052843.1230334202@10.7.7.3> <1231554198.00058315.1231543202@10.7.7.3> <49687B32.6030907@FreeBSD.org> X-Mailer: Sylpheed 2.5.0 (GTK+ 2.12.11; i386-portbld-freebsd7.0) X-Face: "t9w2,-X@O^I`jVW\sonI3.,36KBLZE*AL[y9lL[PyFD*r_S:dIL9c[8Y>V42R0"!"yb_zN,f#%.[PYYNq; m"_0v; ~rUM2Yy!zmkh)3&U|u!=T(zyv,MHJv"nDH>OJ`t(@mil461d_B'Uo|'nMwlKe0Mv=kvV?Nh@>Hb<3s_z2jYgZhPb@?Wi^x1a~Hplz1.zH Subject: Re: snd_hda and nVidia GeForce 8200 (MCP78S) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jan 2009 11:40:53 -0000 On Sat, 10 Jan 2009 12:40:50 +0200 Alexander Motin wrote: > Could you please test attached patch to check how does it help? Of course. I added the patch and rebuilt the snd_hda module. Output is here[1]. > It works fine on my test setup and I just want to be sure. Well, sound works as before - I am unable to tell any difference (but I haven't tried very hard). References: 1) http://tingox.googlepages.com/v2-snd_hda-patched.txt -- Torfinn Ingolfsen From owner-freebsd-multimedia@FreeBSD.ORG Sat Jan 10 12:46:30 2009 Return-Path: Delivered-To: multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 88965106566B for ; Sat, 10 Jan 2009 12:46:30 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.terabit.net.ua (mail.terabit.net.ua [195.137.202.147]) by mx1.freebsd.org (Postfix) with ESMTP id 31B708FC14 for ; Sat, 10 Jan 2009 12:46:30 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from skuns.zoral.com.ua ([91.193.166.194] helo=mail.zoral.com.ua) by mail.terabit.net.ua with esmtps (TLSv1:AES256-SHA:256) (Exim 4.63 (FreeBSD)) (envelope-from ) id 1LLcmW-0002fs-5Q; Sat, 10 Jan 2009 14:17:36 +0200 Received: from deviant.kiev.zoral.com.ua (root@deviant.kiev.zoral.com.ua [10.1.1.148]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id n0ACHWFG082525 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 10 Jan 2009 14:17:32 +0200 (EET) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.3/8.14.3) with ESMTP id n0ACHW9c001084; Sat, 10 Jan 2009 14:17:32 +0200 (EET) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.3/8.14.3/Submit) id n0ACHVql001081; Sat, 10 Jan 2009 14:17:31 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Sat, 10 Jan 2009 14:17:31 +0200 From: Kostik Belousov To: Alexander Motin Message-ID: <20090110121731.GK93900@deviant.kiev.zoral.com.ua> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="1G7eoSzW1hxPALpv" Content-Disposition: inline User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua X-Virus-Scanned: mail.terabit.net.ua 1LLcmW-0002fs-5Q fafefd8ebe5e357a7d992a041163d984 X-Terabit: YES Cc: multimedia@freebsd.org Subject: New snd_hda and driver initialization X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jan 2009 12:46:30 -0000 --1G7eoSzW1hxPALpv Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, New driver works as good as old or better on my workstation and laptop, but on both machines it causes a quite loud croak when loaded. Laptop has a built-in speakers, so loading the driver causes quizzical looks. This problem cannot be considered as critical for any means, but it would be quite nice to have it solved as time permits. Thanks. --1G7eoSzW1hxPALpv Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAklokdsACgkQC3+MBN1Mb4hzBACg83/jtX5/Hv6XlfUyDhLRTvVb 9SAAnisTSkbKYIYyULplBBgeCLh2+AgC =Bd3N -----END PGP SIGNATURE----- --1G7eoSzW1hxPALpv-- From owner-freebsd-multimedia@FreeBSD.ORG Sat Jan 10 17:37:21 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F38051065670 for ; Sat, 10 Jan 2009 17:37:20 +0000 (UTC) (envelope-from mailnull@mips.inka.de) Received: from mail-in-09.arcor-online.net (mail-in-09.arcor-online.net [151.189.21.49]) by mx1.freebsd.org (Postfix) with ESMTP id A5B918FC14 for ; Sat, 10 Jan 2009 17:37:20 +0000 (UTC) (envelope-from mailnull@mips.inka.de) Received: from mail-in-14-z2.arcor-online.net (mail-in-14-z2.arcor-online.net [151.189.8.31]) by mail-in-09.arcor-online.net (Postfix) with ESMTP id F3E16302B7C for ; Sat, 10 Jan 2009 18:06:45 +0100 (CET) Received: from mail-in-02.arcor-online.net (mail-in-02.arcor-online.net [151.189.21.42]) by mail-in-14-z2.arcor-online.net (Postfix) with ESMTP id E52A3100C0 for ; Sat, 10 Jan 2009 18:06:45 +0100 (CET) Received: from lorvorc.mips.inka.de (dslb-088-067-123-113.pools.arcor-ip.net [88.67.123.113]) by mail-in-02.arcor-online.net (Postfix) with ESMTP id B96E436E868 for ; Sat, 10 Jan 2009 18:06:41 +0100 (CET) Received: from lorvorc.mips.inka.de (localhost [127.0.0.1]) by lorvorc.mips.inka.de (8.14.3/8.14.3) with ESMTP id n0AH6fK3051319 for ; Sat, 10 Jan 2009 18:06:41 +0100 (CET) (envelope-from mailnull@lorvorc.mips.inka.de) Received: (from mailnull@localhost) by lorvorc.mips.inka.de (8.14.3/8.14.3/Submit) id n0AH6fJ7051318 for freebsd-multimedia@freebsd.org; Sat, 10 Jan 2009 18:06:41 +0100 (CET) (envelope-from mailnull) From: naddy@mips.inka.de (Christian Weisgerber) Date: Sat, 10 Jan 2009 17:06:41 +0000 (UTC) Message-ID: References: <7d6fde3d0901061032n72e9d0c4refe3c695f441c827@mail.gmail.com> <49649333.6060902@gmail.com> <7d6fde3d0901080937t29ec42f5i6684b9223d0b368a@mail.gmail.com> <49664FD8.1060700@FreeBSD.org> Originator: naddy@mips.inka.de (Christian Weisgerber) To: freebsd-multimedia@freebsd.org X-Virus-Scanned: ClamAV 0.94.1/8849/Sat Jan 10 05:18:40 2009 on mail-in-02.arcor-online.net X-Virus-Status: Clean Subject: snd_hda default configuration (was: Re: snd_hda(4): getting line-in to work) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jan 2009 17:37:21 -0000 Alexander Motin wrote on freebsd-current: > You have 3 PCM devices configured: > - pcm0: 7.1 playback via 4 rear jacks (Green, Black, Orange and Grey) + > record from mic (front Pink), line (rear Blue), monitor (second mic, > rear Pink), cd (internal Black) or mix (sum of all these). > - pcm1: stereo playback via front Green jack. > - pcm2: SPDIF output > > As for me, this configuration is correct and good enough. IMO, it would make more sense if pcm1 also had a recording device and the front mic was assigned to that. These modern 7.1+2 codecs are really intended to support multistreaming: (1) playback (up to 7.1) and recording on the rear panel (2) a headset (headphones + mic) on the front panel -- Christian "naddy" Weisgerber naddy@mips.inka.de From owner-freebsd-multimedia@FreeBSD.ORG Sat Jan 10 21:49:51 2009 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E224106564A for ; Sat, 10 Jan 2009 21:49:51 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from cmail.optima.ua (cmail.optima.ua [195.248.191.121]) by mx1.freebsd.org (Postfix) with ESMTP id BA2AC8FC1D for ; Sat, 10 Jan 2009 21:49:50 +0000 (UTC) (envelope-from mav@FreeBSD.org) X-Spam-Flag: SKIP X-Spam-Yversion: Spamooborona-2.1.0 Received: from [212.86.226.226] (account mav@alkar.net HELO mavbook.mavhome.dp.ua) by cmail.optima.ua (CommuniGate Pro SMTP 5.2.9) with ESMTPSA id 231321114; Sat, 10 Jan 2009 23:49:49 +0200 Message-ID: <49691802.8060801@FreeBSD.org> Date: Sat, 10 Jan 2009 23:49:54 +0200 From: Alexander Motin User-Agent: Thunderbird 2.0.0.17 (X11/20081029) MIME-Version: 1.0 To: Christian Weisgerber References: <1231280583.00056602.1231267203@10.7.7.3> <49649333.6060902@gmail.com> <1231449787.00057633.1231436412@10.7.7.3> <1231453391.00057689.1231442401@10.7.7.3> <1231622582.00058737.1231609204@10.7.7.3> In-Reply-To: <1231622582.00058737.1231609204@10.7.7.3> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-multimedia@freebsd.org Subject: Re: snd_hda default configuration X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jan 2009 21:49:51 -0000 Christian Weisgerber wrote: > Alexander Motin wrote on freebsd-current: > >> You have 3 PCM devices configured: >> - pcm0: 7.1 playback via 4 rear jacks (Green, Black, Orange and Grey) + >> record from mic (front Pink), line (rear Blue), monitor (second mic, >> rear Pink), cd (internal Black) or mix (sum of all these). >> - pcm1: stereo playback via front Green jack. >> - pcm2: SPDIF output >> >> As for me, this configuration is correct and good enough. > > IMO, it would make more sense if pcm1 also had a recording device > and the front mic was assigned to that. These modern 7.1+2 codecs > are really intended to support multistreaming: > (1) playback (up to 7.1) and recording on the rear panel > (2) a headset (headphones + mic) on the front panel Reasonable and popular configuration, but it depends on planned usage scenario. You can send proposition to the hardware vendor or use loader.conf tunables to override. :) -- Alexander Motin