Module Name: src Committed By: christos Date: Fri Sep 19 17:23:35 UTC 2014
Modified Files: src/sys/dev/pci/hdaudio: files.hdaudio hdafg.c hdaudio.c Added Files: src/sys/dev/pci/hdaudio: Makefile.hdaudiodevs hdaudio_verbose.c hdaudio_verbose.h hdaudiodevs Removed Files: src/sys/dev/pci/hdaudio: hdaudio_ids.c hdaudio_ids.h Log Message: Pull out the device list and auto-generate it. To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 src/sys/dev/pci/hdaudio/Makefile.hdaudiodevs \ src/sys/dev/pci/hdaudio/hdaudio_verbose.c \ src/sys/dev/pci/hdaudio/hdaudio_verbose.h \ src/sys/dev/pci/hdaudio/hdaudiodevs cvs rdiff -u -r1.5 -r1.6 src/sys/dev/pci/hdaudio/files.hdaudio cvs rdiff -u -r1.21 -r1.22 src/sys/dev/pci/hdaudio/hdafg.c cvs rdiff -u -r1.22 -r1.23 src/sys/dev/pci/hdaudio/hdaudio.c cvs rdiff -u -r1.8 -r0 src/sys/dev/pci/hdaudio/hdaudio_ids.c cvs rdiff -u -r1.3 -r0 src/sys/dev/pci/hdaudio/hdaudio_ids.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/hdaudio/files.hdaudio diff -u src/sys/dev/pci/hdaudio/files.hdaudio:1.5 src/sys/dev/pci/hdaudio/files.hdaudio:1.6 --- src/sys/dev/pci/hdaudio/files.hdaudio:1.5 Sat Feb 12 10:15:34 2011 +++ src/sys/dev/pci/hdaudio/files.hdaudio Fri Sep 19 13:23:35 2014 @@ -1,12 +1,12 @@ -# $NetBSD: files.hdaudio,v 1.5 2011/02/12 15:15:34 jmcneill Exp $ +# $NetBSD: files.hdaudio,v 1.6 2014/09/19 17:23:35 christos Exp $ # # Intel High Definition Audio (Revision 1.0) # define hdaudiobus {[nid = -1]} device hdaudio: hdaudiobus -file dev/pci/hdaudio/hdaudio.c hdaudio -file dev/pci/hdaudio/hdaudio_ids.c hdaudio +file dev/pci/hdaudio/hdaudio.c hdaudio +file dev/pci/hdaudio/hdaudio_verbose.c hdaudio & hdaudioverbose device hdafg: audiobus, auconv, aurateconv, mulaw attach hdafg at hdaudiobus Index: src/sys/dev/pci/hdaudio/hdafg.c diff -u src/sys/dev/pci/hdaudio/hdafg.c:1.21 src/sys/dev/pci/hdaudio/hdafg.c:1.22 --- src/sys/dev/pci/hdaudio/hdafg.c:1.21 Fri May 23 09:57:04 2014 +++ src/sys/dev/pci/hdaudio/hdafg.c Fri Sep 19 13:23:35 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: hdafg.c,v 1.21 2014/05/23 13:57:04 msaitoh Exp $ */ +/* $NetBSD: hdafg.c,v 1.22 2014/09/19 17:23:35 christos Exp $ */ /* * Copyright (c) 2009 Precedence Technologies Ltd <supp...@precedence.co.uk> @@ -60,7 +60,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: hdafg.c,v 1.21 2014/05/23 13:57:04 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: hdafg.c,v 1.22 2014/09/19 17:23:35 christos Exp $"); #include <sys/types.h> #include <sys/param.h> @@ -82,7 +82,8 @@ __KERNEL_RCSID(0, "$NetBSD: hdafg.c,v 1. #include "hdaudioreg.h" #include "hdaudio_mixer.h" #include "hdaudioio.h" -#include "hdaudio_ids.h" +#include "hdaudio_verbose.h" +#include "hdaudiodevs.h" #include "hdafg_dd.h" #include "hdmireg.h" @@ -685,7 +686,7 @@ hdafg_widget_getcaps(struct hdaudio_widg w->w_waspin = false; switch (sc->sc_vendor) { - case HDA_VENDOR_ANALOG_DEVICES: + case HDAUDIO_VENDOR_ANALOG: /* * help the parser by marking the analog * beeper as a beep generator @@ -3612,10 +3613,9 @@ hdafg_attach(device_t parent, device_t s prop_dictionary_get_uint16(args, "vendor-id", &sc->sc_vendor); prop_dictionary_get_uint16(args, "product-id", &sc->sc_product); - hdaudio_id2name(sc->sc_vendor, HDA_PRODUCT_ANY, - vendor, sizeof(vendor)); - hdaudio_id2name(sc->sc_vendor, sc->sc_product, - product, sizeof(product)); + get_hdaudio_vendor(vendor, sizeof(vendor), sc->sc_vendor); + get_hdaudio_product(product, sizeof(product), sc->sc_vendor, + sc->sc_product); hda_print1(sc, ": %s %s%s\n", vendor, product, sc->sc_config ? " (custom configuration)" : ""); @@ -3965,10 +3965,10 @@ hdafg_getdev(void *opaque, struct audio_ struct hdaudio_audiodev *ad = opaque; struct hdafg_softc *sc = ad->ad_sc; - hdaudio_id2name(sc->sc_vendor, HDA_PRODUCT_ANY, - audiodev->name, sizeof(audiodev->name)); - hdaudio_id2name(sc->sc_vendor, sc->sc_product, - audiodev->version, sizeof(audiodev->version)); + get_hdaudio_vendor(audiodev->name, sizeof(audiodev->name), + sc->sc_vendor); + get_hdaudio_product(audiodev->version, sizeof(audiodev->version), + sc->sc_vendor, sc->sc_product); snprintf(audiodev->config, sizeof(audiodev->config) - 1, "%02Xh", sc->sc_nid); Index: src/sys/dev/pci/hdaudio/hdaudio.c diff -u src/sys/dev/pci/hdaudio/hdaudio.c:1.22 src/sys/dev/pci/hdaudio/hdaudio.c:1.23 --- src/sys/dev/pci/hdaudio/hdaudio.c:1.22 Fri Jul 25 04:10:38 2014 +++ src/sys/dev/pci/hdaudio/hdaudio.c Fri Sep 19 13:23:35 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: hdaudio.c,v 1.22 2014/07/25 08:10:38 dholland Exp $ */ +/* $NetBSD: hdaudio.c,v 1.23 2014/09/19 17:23:35 christos Exp $ */ /* * Copyright (c) 2009 Precedence Technologies Ltd <supp...@precedence.co.uk> @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: hdaudio.c,v 1.22 2014/07/25 08:10:38 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: hdaudio.c,v 1.23 2014/09/19 17:23:35 christos Exp $"); #include <sys/types.h> #include <sys/param.h> @@ -44,6 +44,7 @@ __KERNEL_RCSID(0, "$NetBSD: hdaudio.c,v #include "hdaudiovar.h" #include "hdaudioreg.h" #include "hdaudioio.h" +#include "hdaudio_verbose.h" /* #define HDAUDIO_DEBUG */ @@ -1629,3 +1630,44 @@ hdaudio_modcmd(modcmd_t cmd, void *opaqu return ENOTTY; } } + +void hdaudio_load_verbose(void); + +void get_hdaudio_vendor_stub(char *, size_t, hdaudio_vendor_id_t); +void get_hdaudio_product_stub(char *, size_t, hdaudio_vendor_id_t, + hdaudio_product_id_t); + +void (*get_hdaudio_vendor)(char *, size_t, hdaudio_vendor_id_t) = + get_hdaudio_vendor_stub; +void (*get_hdaudio_product)(char *, size_t, hdaudio_vendor_id_t, + hdaudio_product_id_t) = get_hdaudio_product_stub; + +int hdaudio_verbose_loaded = 0; + +/* + * Load the hdaudioverbose module + */ +void hdaudio_load_verbose(void) +{ + if (hdaudio_verbose_loaded == 0) + module_autoload("hdaudioverbose", MODULE_CLASS_MISC); +} + +void get_hdaudio_vendor_stub(char *v, size_t l, hdaudio_vendor_id_t v_id) +{ + hdaudio_load_verbose(); + if (hdaudio_verbose_loaded) + get_hdaudio_vendor(v, l, v_id); + else + snprintf(v, l, "vendor 0x%.4x", v_id); +} + +void get_hdaudio_product_stub(char *p, size_t l, hdaudio_vendor_id_t v_id, + hdaudio_product_id_t p_id) +{ + hdaudio_load_verbose(); + if (hdaudio_verbose_loaded) + get_hdaudio_product(p, l, v_id, p_id); + else + snprintf(p, l, "product 0x%.4x", p_id); +} Added files: Index: src/sys/dev/pci/hdaudio/Makefile.hdaudiodevs diff -u /dev/null src/sys/dev/pci/hdaudio/Makefile.hdaudiodevs:1.1 --- /dev/null Fri Sep 19 13:23:35 2014 +++ src/sys/dev/pci/hdaudio/Makefile.hdaudiodevs Fri Sep 19 13:23:35 2014 @@ -0,0 +1,18 @@ +# $NetBSD: Makefile.hdaudiodevs,v 1.1 2014/09/19 17:23:35 christos Exp $ + +# The header files depend on the correct version of hdaudiodevs. +# +# Thus, the procedure is: +# 1) change hdaudiodevs +# 2) commit hdaudiodevs +# 3) _then_ generate header files +# 4) commit them + +.include <bsd.own.mk> + +UNAME= uname +RM= rm + +hdaudiodevs.h hdaudiodevs_data.h: hdaudiodevs devlist2h.awk + ${RM} -f hdaudiodevs.h hdaudiodevs_data.h + ${TOOL_AWK} -v os=`${UNAME} -s` -f devlist2h.awk hdaudiodevs Index: src/sys/dev/pci/hdaudio/hdaudio_verbose.c diff -u /dev/null src/sys/dev/pci/hdaudio/hdaudio_verbose.c:1.1 --- /dev/null Fri Sep 19 13:23:35 2014 +++ src/sys/dev/pci/hdaudio/hdaudio_verbose.c Fri Sep 19 13:23:35 2014 @@ -0,0 +1,113 @@ +/* $NetBSD: hdaudio_verbose.c,v 1.1 2014/09/19 17:23:35 christos Exp $ */ + +/* + * Copyright (c) 2014 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lenn...@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include <sys/cdefs.h> +__KERNEL_RCSID(0, "$NetBSD: hdaudio_verbose.c,v 1.1 2014/09/19 17:23:35 christos Exp $"); + +#include <sys/param.h> +#include <sys/module.h> + +#include <dev/pci/hdaudio/hdaudio_verbose.h> + +/* + * Descriptions of known vendors and devices ("products"). + */ +struct hdaudio_vendor { + hdaudio_vendor_id_t vendor; + const char *vendorname; +}; +struct hdaudio_product { + hdaudio_vendor_id_t vendor; + hdaudio_product_id_t product; + const char *productname; +}; + +#include <dev/pci/hdaudio/hdaudiodevs.h> +#include <dev/pci/hdaudio/hdaudiodevs_data.h> + +void get_hdaudio_vendor_real(char *, size_t, hdaudio_vendor_id_t); +void get_hdaudio_product_real(char *, size_t, hdaudio_vendor_id_t, hdaudio_product_id_t); + +MODULE(MODULE_CLASS_MISC, hdaudioverbose, NULL); + +static int +hdaudioverbose_modcmd(modcmd_t cmd, void *arg) +{ + static void (*saved_hdaudio_vendor)(char *, size_t, hdaudio_vendor_id_t); + static void (*saved_hdaudio_product)(char *, size_t, hdaudio_vendor_id_t, + hdaudio_product_id_t); + + switch (cmd) { + case MODULE_CMD_INIT: + saved_hdaudio_vendor = get_hdaudio_vendor; + saved_hdaudio_product = get_hdaudio_product; + get_hdaudio_vendor = get_hdaudio_vendor_real; + get_hdaudio_product = get_hdaudio_product_real; + hdaudio_verbose_loaded = 1; + return 0; + case MODULE_CMD_FINI: + get_hdaudio_vendor = saved_hdaudio_vendor; + get_hdaudio_product = saved_hdaudio_product; + hdaudio_verbose_loaded = 0; + return 0; + default: + return ENOTTY; + } +} + +void get_hdaudio_vendor_real(char *v, size_t vl, hdaudio_vendor_id_t v_id) +{ + int n; + + /* There is no need for strlcpy below. */ + for (n = 0; n < hdaudio_nvendors; n++) + if (hdaudio_vendors[n].vendor == v_id) { + strlcpy(v, hdaudio_vendors[n].vendorname, vl); + return; + } + snprintf(v, vl, "vendor 0x%.x", v_id); +} + +void get_hdaudio_product_real(char *p, size_t pl, hdaudio_vendor_id_t v_id, + hdaudio_product_id_t p_id) +{ + int n; + + /* There is no need for strlcpy below. */ + for (n = 0; n < hdaudio_nproducts; n++) + if (hdaudio_products[n].vendor == v_id && + hdaudio_products[n].product == p_id) { + strlcpy(p, hdaudio_products[n].productname, pl); + return; + } + snprintf(p, pl, "product 0x%.x", v_id); +} Index: src/sys/dev/pci/hdaudio/hdaudio_verbose.h diff -u /dev/null src/sys/dev/pci/hdaudio/hdaudio_verbose.h:1.1 --- /dev/null Fri Sep 19 13:23:35 2014 +++ src/sys/dev/pci/hdaudio/hdaudio_verbose.h Fri Sep 19 13:23:35 2014 @@ -0,0 +1,45 @@ +/* $NetBSD: hdaudio_verbose.h,v 1.1 2014/09/19 17:23:35 christos Exp $ */ + +/* + * Copyright (c) 1998, 2004 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lenn...@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _DEV_PCI_HDAUDIO_HDAUDIO_VERBOSE_H_ +#define _DEV_PCI_HDAUDIO_HDAUDIO_VERBOSE_H_ + +typedef u_int16_t hdaudio_vendor_id_t; +typedef u_int16_t hdaudio_product_id_t; + +extern void (*get_hdaudio_vendor)(char *, size_t, hdaudio_vendor_id_t); +extern void (*get_hdaudio_product)(char *, size_t, hdaudio_vendor_id_t, + hdaudio_product_id_t); + +extern int hdaudio_verbose_loaded; + +#endif /* _DEV_PCI_HDAUDIO_HDAUDIO_VERBOSE_H_ */ Index: src/sys/dev/pci/hdaudio/hdaudiodevs diff -u /dev/null src/sys/dev/pci/hdaudio/hdaudiodevs:1.1 --- /dev/null Fri Sep 19 13:23:35 2014 +++ src/sys/dev/pci/hdaudio/hdaudiodevs Fri Sep 19 13:23:35 2014 @@ -0,0 +1,245 @@ +$NetBSD: hdaudiodevs,v 1.1 2014/09/19 17:23:35 christos Exp $ + +/* + * Copyright (c) 2010 Jared D. McNeill <jmcne...@invisible.ca> + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Precedence TeCHnologies Ltd + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* The following is duplicated from pci except SIGMATEL* and CMEDIA */ +vendor ATI 0x1002 ATI Technologies +vendor NVIDIA 0x10de NVIDIA +vendor REALTEK 0x10ec Realtek Semiconductor +vendor VIATECH 0x1106 VIA TeCHnologies +vendor SIGMATEL2 0x111d Sigmatel +vendor ANALOG 0x11d4 Analog Devices +vendor CONEXANT 0x14f1 Conexant Systems +vendor VMWARE 0x15ad VMware +vendor CMEDIA 0x434d C-Media Electronics +vendor INTEL 0x8086 Intel +vendor SIGMATEL 0x8384 Sigmatel + +/* ATI */ +product ATI RS600_HDMI_1 0x7919 RS600 HDMI +product ATI RS600_HDMI_2 0x793c RS600 HDMI +product ATI RS690_780_HDMI 0x791a RS690/780 HDMI +product ATI R6xx_HDMI 0xaa01 R6xx HDMI + +/* NVIDIA */ +product NVIDIA MCP77_78_HDMI_2 0x0002 MCP77/78 HDMI +product NVIDIA MCP77_78_HDMI_3 0x0003 MCP77/78 HDMI +product NVIDIA MCP77_78_HDMI_5 0x0005 MCP77/78 HDMI +product NVIDIA MCP77_78_HDMI_6 0x0006 MCP77/78 HDMI +product NVIDIA MCP79_7A_HDMI_7 0x0007 MCP79/7A HDMI +product NVIDIA GT220_HDMI 0x000a GT220 HDMI +product NVIDIA GT21x_HDMI 0x000b GT21x HDMI +product NVIDIA MCP89_HDMI 0x000c MCP89 HDMI +product NVIDIA GT240_HDMI 0x000d GT240 HDMI +product NVIDIA GT5xx_HDMI_DP 0x0015 GT5xx HDMI/DP +product NVIDIA MCP67_HDMI 0x0067 MCP67 HDMI +product NVIDIA MCP73_HDMI 0x8001 MCP73 HDMI + +/* Realtek */ +product REALTEK ALC260 0x0260 ALC260 +product REALTEK ALC262 0x0262 ALC262 +product REALTEK ALC267 0x0267 ALC267 +product REALTEK ALC268 0x0268 ALC268 +product REALTEK ALC269 0x0269 ALC269 +product REALTEK ALC270 0x0270 ALC270 +product REALTEK ALC272 0x0272 ALC272 +product REALTEK ALC275 0x0275 ALC275 +product REALTEK ALC660_VD 0x0660 ALC660-VD +product REALTEK ALC662 0x0662 ALC662 +product REALTEK ALC663 0x0663 ALC663 +product REALTEK ALC670 0x0670 ALC670 +product REALTEK ALC861 0x0861 ALC861 +product REALTEK ALC861_VD 0x0862 ALC861-VD +product REALTEK ALC880 0x0880 ALC880 +product REALTEK ALC882 0x0882 ALC882 +product REALTEK ALC883 0x0883 ALC883 +product REALTEK ALC885 0x0885 ALC885 +product REALTEK ALC887 0x0887 ALC887 +product REALTEK ALC888 0x0888 ALC888 +product REALTEK ALC889 0x0889 ALC889 +product REALTEK ALC892 0x0892 ALC892 + +/* VIA */ +product VIATECH VT1708 0x1708 VT1708 +product VIATECH VT1709 0x1709 VT1708 +product VIATECH VT170A 0x170a VT1708 +product VIATECH VT170B 0x170b VT1708 +product VIATECH VT1709_10CH_0 0xe710 VT1709 10ch +product VIATECH VT1709_10CH_1 0xe711 VT1709 10ch +product VIATECH VT1709_10CH_2 0xe712 VT1709 10ch +product VIATECH VT1709_10CH_3 0xe713 VT1709 10ch +product VIATECH VT1709_6CH_4 0xe714 VT1709 6ch +product VIATECH VT1709_6CH_5 0xe715 VT1709 6ch +product VIATECH VT1709_6CH_6 0xe716 VT1709 6ch +product VIATECH VT1709_6CH_7 0xe717 VT1709 6ch +product VIATECH VT1708B_8CH_0 0xe720 VT1708B 8ch +product VIATECH VT1708B_8CH_1 0xe721 VT1708B 8ch +product VIATECH VT1708B_8CH_2 0xe722 VT1708B 8ch +product VIATECH VT1708B_8CH_3 0xe723 VT1708B 8ch +product VIATECH VT1708B_4CH_4 0xe724 VT1708B 4ch +product VIATECH VT1708B_4CH_5 0xe725 VT1708B 4ch +product VIATECH VT1708B_4CH_6 0xe726 VT1708B 4ch +product VIATECH VT1708B_4CH_7 0xe727 VT1708B 4ch +product VIATECH VT1708S_0 0x0397 VT1708S +product VIATECH VT1708S_1 0x1397 VT1708S +product VIATECH VT1708S_2 0x2397 VT1708S +product VIATECH VT1708S_3 0x3397 VT1708S +product VIATECH VT1708S_4 0x4397 VT1708S +product VIATECH VT1708S_5 0x5397 VT1708S +product VIATECH VT1708S_6 0x6397 VT1708S +product VIATECH VT1708S 0x7397 VT1708S +product VIATECH VT1702_0 0x0398 VT1702 +product VIATECH VT1702_1 0x1398 VT1702 +product VIATECH VT1702_2 0x2398 VT1702 +product VIATECH VT1702_3 0x3398 VT1702 +product VIATECH VT1702_4 0x4398 VT1702 +product VIATECH VT1702_5 0x5398 VT1702 +product VIATECH VT1702_6 0x6398 VT1702 +product VIATECH VT1702_7 0x7398 VT1702 +product VIATECH VT1718S 0x0428 VT1718S +product VIATECH VT1718S_1 0x4428 VT1718S +product VIATECH VT2020 0x0441 VT2020 +product VIATECH VT1828S 0x4441 VT1828S +product VIATECH VT1716S 0x0433 VT1716S +product VIATECH VT1716S_1 0xa721 VT1716S +product VIATECH VT2002P 0x0438 VT2002P +product VIATECH VT2002P_1 0x4438 VT2002P +product VIATECH VT1812 0x0448 VT1812 +product VIATECH VT1818S 0x0440 VT1818S +product VIATECH VT1705 0x4760 VT1705 + +/* Analog Devices */ +product ANALOG AD1884A 0x184a AD1884A +product ANALOG AD1882 0x1882 AD1882 +product ANALOG AD1883 0x1883 AD1883 +product ANALOG AD1884 0x1884 AD1884 +product ANALOG AD1984A 0x194a AD1984A +product ANALOG AD1984B 0x194b AD1984B +product ANALOG AD1981HD 0x1981 AD1981HD +product ANALOG AD1983 0x1983 AD1983 +product ANALOG AD1984 0x1984 AD1984 +product ANALOG AD1986A 0x1986 AD1986A +product ANALOG AD1988A 0x1988 AD1988A +product ANALOG AD1988B 0x198b AD1988B +product ANALOG AD1989A 0x989a AD1989A +product ANALOG AD1989B 0x989b AD1989B + +/* Conexant */ +product CONEXANT CX20549 0x5045 CX20549 +product CONEXANT CX20551 0x5047 CX20551 +product CONEXANT CX20561 0x5051 CX20561 +product CONEXANT CX20582 0x5066 CX20582 +product CONEXANT CX20583 0x5067 CX20583 +product CONEXANT CX20585 0x5069 CX20585 +product CONEXANT CX20671 0x506e CX20671 + +/* CMedia */ +product CMEDIA CMI9880 0x4980 CMI9880 + +/* Intel */ +product INTEL Q57_HDMI 0x0054 Q57 HDMI +product INTEL G45_HDMI_1 0x2801 G45 HDMI/1 +product INTEL G45_HDMI_2 0x2802 G45 HDMI/2 +product INTEL G45_HDMI_3 0x2803 G45 HDMI/3 +product INTEL G45_HDMI_4 0x2804 G45 HDMI/4 +product INTEL G45_HDMI_FB 0x29fb G45 HDMI/FB + +/* Sigmatel */ +product SIGMATEL STAC9230X 0x7612 STAC9230X +product SIGMATEL STAC9230D 0x7613 STAC9230D +product SIGMATEL STAC9229X 0x7614 STAC9229X +product SIGMATEL STAC9229D 0x7615 STAC9229D +product SIGMATEL STAC9228X 0x7616 STAC9228X +product SIGMATEL STAC9228D 0x7617 STAC9228D +product SIGMATEL STAC9227X 0x7618 STAC9227X +product SIGMATEL STAC9227D 0x7619 STAC9227D +product SIGMATEL STAC9274 0x7620 STAC9274 +product SIGMATEL STAC9274D 0x7621 STAC9274D +product SIGMATEL STAC9273X 0x7622 STAC9273X +product SIGMATEL STAC9273D 0x7623 STAC9273D +product SIGMATEL STAC9272X 0x7624 STAC9272X +product SIGMATEL STAC9272D 0x7625 STAC9272D +product SIGMATEL STAC9271X 0x7626 STAC9271X +product SIGMATEL STAC9271D 0x7627 STAC9271D +product SIGMATEL STAC9274X5NH 0x7628 STAC9274X5NH +product SIGMATEL STAC9274D5NH 0x7629 STAC9274D5NH +product SIGMATEL STAC9202 0x7632 STAC9202 +product SIGMATEL STAC9202D 0x7633 STAC9202D +product SIGMATEL STAC9250 0x7634 STAC9250 +product SIGMATEL STAC9250D_1 0x7635 STAC9250D +product SIGMATEL STAC9251 0x7636 STAC9251 +product SIGMATEL STAC9250D_2 0x7637 STAC9250D +product SIGMATEL 92HD206X 0x7645 92HD206X +product SIGMATEL 92HD206D 0x7646 92HD206D +product SIGMATEL CXD9872RD_K 0x7661 CXD9872RD/K +product SIGMATEL STAC9872AK 0x7662 STAC9872AK +product SIGMATEL CXD9872AKD 0x7664 CXD9872AKD +product SIGMATEL STAC9221_A1 0x7680 STAC9221 A1 +product SIGMATEL STAC9220D 0x7681 STAC9220D +product SIGMATEL STAC9221_A2 0x7682 STAC9221 A2 +product SIGMATEL STAC9221D 0x7683 STAC9221D +product SIGMATEL STAC9200 0x7690 STAC9200 +product SIGMATEL STAC9200D 0x7691 STAC9200D +product SIGMATEL STAC9205 0x7698 STAC9205 +product SIGMATEL STAC9205_1 0x76a0 STAC9205 +product SIGMATEL STAC9205D 0x76a1 STAC9205D +product SIGMATEL STAC9204 0x76a2 STAC9204 +product SIGMATEL STAC9204D 0x76a3 STAC9204D +product SIGMATEL STAC9255 0x76a4 STAC9255 +product SIGMATEL STAC9255D 0x76a5 STAC9255D +product SIGMATEL STAC9254 0x76a6 STAC9254 +product SIGMATEL STAC9254D 0x76a7 STAC9254D +product SIGMATEL STAC9220_A2 0x7880 STAC9220 A2 +product SIGMATEL STAC9220_A1 0x7882 STAC9220 A1 + +/* Sigmatel (alternate vendor ID) */ +product SIGMATEL2 92HD75B3X5 0x7603 92HD75B3X5 +product SIGMATEL2 92HD83C1X5 0x7604 92HD83C1X5 +product SIGMATEL2 92HD81B1X5 0x7605 92HD81B1X5 +product SIGMATEL2 92HD75B2X5 0x7608 92HD75B2X5 +product SIGMATEL2 92HD88B3 0x7666 92HD88B3 +product SIGMATEL2 92HD88B1 0x7667 92HD88B1 +product SIGMATEL2 92HD88B2 0x7668 92HD88B2 +product SIGMATEL2 92HD88B4 0x7669 92HD88B4 +product SIGMATEL2 92HD73D1X5 0x7674 92HD73D1X5 +product SIGMATEL2 92HD73C1X5 0x7675 92HD73C1X5 +product SIGMATEL2 92HD73E1X5 0x7676 92HD73E1X5 +product SIGMATEL2 92HD71B8X 0x76b0 92HD71B8X +product SIGMATEL2 92HD71B8X_1 0x76b1 92HD71B8X +product SIGMATEL2 92HD71B7X 0x76b2 92HD71B7X +product SIGMATEL2 92HD71B7X_1 0x76b3 92HD71B7X +product SIGMATEL2 92HD71B6X 0x76b4 92HD71B6X +product SIGMATEL2 92HD71B6X_1 0x76b5 92HD71B6X +product SIGMATEL2 92HD71B5X 0x76b6 92HD71B5X +product SIGMATEL2 92HD71B5X_1 0x76b7 92HD71B5X +product SIGMATEL2 92HD83C1C5 0x76d4 92HD83C1C5 +product SIGMATEL2 92HD81B1C5_1 0x76d5 92HD81B1C5 + +/* VMware */ +product VMWARE VIRTUAL_HDA 0x1975 Virtual HDA