The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/sound/pci/hda/hdac.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
    3  *
    4  * Copyright (c) 2006 Stephane E. Potvin <sepotvin@videotron.ca>
    5  * All rights reserved.
    6  *
    7  * Redistribution and use in source and binary forms, with or without
    8  * modification, are permitted provided that the following conditions
    9  * are met:
   10  * 1. Redistributions of source code must retain the above copyright
   11  *    notice, this list of conditions and the following disclaimer.
   12  * 2. Redistributions in binary form must reproduce the above copyright
   13  *    notice, this list of conditions and the following disclaimer in the
   14  *    documentation and/or other materials provided with the distribution.
   15  *
   16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   17  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   19  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   20  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   21  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   22  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   23  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   24  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   25  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   26  * SUCH DAMAGE.
   27  *
   28  * $FreeBSD$
   29  */
   30 
   31 #ifndef _HDAC_H_
   32 #define _HDAC_H_
   33 
   34 #include "hdac_if.h"
   35 
   36 /****************************************************************************
   37  * Miscellaneous defines
   38  ****************************************************************************/
   39 
   40 /* Controller models */
   41 #define HDA_MODEL_CONSTRUCT(vendor, model)      \
   42                 (((uint32_t)(model) << 16) | ((vendor##_VENDORID) & 0xffff))
   43 
   44 /* Intel */
   45 #define INTEL_VENDORID          0x8086
   46 #define HDA_INTEL_CMLKLP        HDA_MODEL_CONSTRUCT(INTEL, 0x02c8)
   47 #define HDA_INTEL_CMLKH         HDA_MODEL_CONSTRUCT(INTEL, 0x06c8)
   48 #define HDA_INTEL_OAK           HDA_MODEL_CONSTRUCT(INTEL, 0x080a)
   49 #define HDA_INTEL_BAY           HDA_MODEL_CONSTRUCT(INTEL, 0x0f04)
   50 #define HDA_INTEL_HSW1          HDA_MODEL_CONSTRUCT(INTEL, 0x0a0c)
   51 #define HDA_INTEL_HSW2          HDA_MODEL_CONSTRUCT(INTEL, 0x0c0c)
   52 #define HDA_INTEL_HSW3          HDA_MODEL_CONSTRUCT(INTEL, 0x0d0c)
   53 #define HDA_INTEL_BDW1          HDA_MODEL_CONSTRUCT(INTEL, 0x160c)
   54 #define HDA_INTEL_BXTNT         HDA_MODEL_CONSTRUCT(INTEL, 0x1a98)
   55 #define HDA_INTEL_CPT           HDA_MODEL_CONSTRUCT(INTEL, 0x1c20)
   56 #define HDA_INTEL_PATSBURG      HDA_MODEL_CONSTRUCT(INTEL, 0x1d20)
   57 #define HDA_INTEL_PPT1          HDA_MODEL_CONSTRUCT(INTEL, 0x1e20)
   58 #define HDA_INTEL_BR            HDA_MODEL_CONSTRUCT(INTEL, 0x2284)
   59 #define HDA_INTEL_82801F        HDA_MODEL_CONSTRUCT(INTEL, 0x2668)
   60 #define HDA_INTEL_63XXESB       HDA_MODEL_CONSTRUCT(INTEL, 0x269a)
   61 #define HDA_INTEL_82801G        HDA_MODEL_CONSTRUCT(INTEL, 0x27d8)
   62 #define HDA_INTEL_82801H        HDA_MODEL_CONSTRUCT(INTEL, 0x284b)
   63 #define HDA_INTEL_82801I        HDA_MODEL_CONSTRUCT(INTEL, 0x293e)
   64 #define HDA_INTEL_GMLK          HDA_MODEL_CONSTRUCT(INTEL, 0x3198)
   65 #define HDA_INTEL_JLK           HDA_MODEL_CONSTRUCT(INTEL, 0x38c8)
   66 #define HDA_INTEL_82801JI       HDA_MODEL_CONSTRUCT(INTEL, 0x3a3e)
   67 #define HDA_INTEL_82801JD       HDA_MODEL_CONSTRUCT(INTEL, 0x3a6e)
   68 #define HDA_INTEL_PCH           HDA_MODEL_CONSTRUCT(INTEL, 0x3b56)
   69 #define HDA_INTEL_PCH2          HDA_MODEL_CONSTRUCT(INTEL, 0x3b57)
   70 #define HDA_INTEL_ELLK          HDA_MODEL_CONSTRUCT(INTEL, 0x4b55)
   71 #define HDA_INTEL_JLK2          HDA_MODEL_CONSTRUCT(INTEL, 0x4dc8)
   72 #define HDA_INTEL_BXTNP         HDA_MODEL_CONSTRUCT(INTEL, 0x5a98)
   73 #define HDA_INTEL_MACBOOKPRO92  HDA_MODEL_CONSTRUCT(INTEL, 0x7270)
   74 #define HDA_INTEL_ALLK          HDA_MODEL_CONSTRUCT(INTEL, 0x7ad0)
   75 #define HDA_INTEL_ALLKM         HDA_MODEL_CONSTRUCT(INTEL, 0x51cc)
   76 #define HDA_INTEL_ALLKN         HDA_MODEL_CONSTRUCT(INTEL, 0x54c8)
   77 #define HDA_INTEL_ALLKP1        HDA_MODEL_CONSTRUCT(INTEL, 0x51c8)
   78 #define HDA_INTEL_ALLKP2        HDA_MODEL_CONSTRUCT(INTEL, 0x51cd)
   79 #define HDA_INTEL_ALLKPS        HDA_MODEL_CONSTRUCT(INTEL, 0x51c9)
   80 #define HDA_INTEL_RPTLK1        HDA_MODEL_CONSTRUCT(INTEL, 0x51ca)
   81 #define HDA_INTEL_RPTLK2        HDA_MODEL_CONSTRUCT(INTEL, 0x51cb)
   82 #define HDA_INTEL_SCH           HDA_MODEL_CONSTRUCT(INTEL, 0x811b)
   83 #define HDA_INTEL_LPT1          HDA_MODEL_CONSTRUCT(INTEL, 0x8c20)
   84 #define HDA_INTEL_LPT2          HDA_MODEL_CONSTRUCT(INTEL, 0x8c21)
   85 #define HDA_INTEL_WCPT          HDA_MODEL_CONSTRUCT(INTEL, 0x8ca0)
   86 #define HDA_INTEL_WELLS1        HDA_MODEL_CONSTRUCT(INTEL, 0x8d20)
   87 #define HDA_INTEL_WELLS2        HDA_MODEL_CONSTRUCT(INTEL, 0x8d21)
   88 #define HDA_INTEL_LPTLP1        HDA_MODEL_CONSTRUCT(INTEL, 0x9c20)
   89 #define HDA_INTEL_LPTLP2        HDA_MODEL_CONSTRUCT(INTEL, 0x9c21)
   90 #define HDA_INTEL_BDW2          HDA_MODEL_CONSTRUCT(INTEL, 0x9ca0)
   91 #define HDA_INTEL_SRPTLP        HDA_MODEL_CONSTRUCT(INTEL, 0x9d70)
   92 #define HDA_INTEL_KBLKLP        HDA_MODEL_CONSTRUCT(INTEL, 0x9d71)
   93 #define HDA_INTEL_SRPT          HDA_MODEL_CONSTRUCT(INTEL, 0xa170)
   94 #define HDA_INTEL_KBLK          HDA_MODEL_CONSTRUCT(INTEL, 0xa171)
   95 #define HDA_INTEL_KBLKH         HDA_MODEL_CONSTRUCT(INTEL, 0xa2f0)
   96 #define HDA_INTEL_CFLK          HDA_MODEL_CONSTRUCT(INTEL, 0xa348)
   97 #define HDA_INTEL_CMLKS         HDA_MODEL_CONSTRUCT(INTEL, 0xa3f0)
   98 #define HDA_INTEL_CNLK          HDA_MODEL_CONSTRUCT(INTEL, 0x9dc8)
   99 #define HDA_INTEL_ICLK          HDA_MODEL_CONSTRUCT(INTEL, 0x34c8)
  100 #define HDA_INTEL_CMLKLP        HDA_MODEL_CONSTRUCT(INTEL, 0x02c8)
  101 #define HDA_INTEL_CMLKH         HDA_MODEL_CONSTRUCT(INTEL, 0x06c8)
  102 #define HDA_INTEL_TGLK          HDA_MODEL_CONSTRUCT(INTEL, 0xa0c8)
  103 #define INTEL_A100ID_SUBVENDOR  HDA_MODEL_CONSTRUCT(INTEL, 0xa100)
  104 #define INTEL_D400ID_SUBVENDOR  HDA_MODEL_CONSTRUCT(INTEL, 0xd400)
  105 #define INTEL_D401ID_SUBVENDOR  HDA_MODEL_CONSTRUCT(INTEL, 0xd401)
  106 #define INTEL_D402ID_SUBVENDOR  HDA_MODEL_CONSTRUCT(INTEL, 0xd402)
  107 #define INTEL_E305ID_SUBVENDOR  HDA_MODEL_CONSTRUCT(INTEL, 0xe305)
  108 #define INTEL_E308ID_SUBVENDOR  HDA_MODEL_CONSTRUCT(INTEL, 0xe308)
  109 #define INTEL_E224ID_SUBVENDOR  HDA_MODEL_CONSTRUCT(INTEL, 0xe224)
  110 #define INTEL_E400ID_SUBVENDOR  HDA_MODEL_CONSTRUCT(INTEL, 0xe400)
  111 #define INTEL_E401ID_SUBVENDOR  HDA_MODEL_CONSTRUCT(INTEL, 0xe401)
  112 #define INTEL_E402ID_SUBVENDOR  HDA_MODEL_CONSTRUCT(INTEL, 0xe402)
  113 #define HDA_INTEL_ALL           HDA_MODEL_CONSTRUCT(INTEL, 0xffff)
  114 
  115 /* Nvidia */
  116 #define NVIDIA_VENDORID         0x10de
  117 #define HDA_NVIDIA_MCP51        HDA_MODEL_CONSTRUCT(NVIDIA, 0x026c)
  118 #define HDA_NVIDIA_MCP55        HDA_MODEL_CONSTRUCT(NVIDIA, 0x0371)
  119 #define HDA_NVIDIA_MCP61_1      HDA_MODEL_CONSTRUCT(NVIDIA, 0x03e4)
  120 #define HDA_NVIDIA_MCP61_2      HDA_MODEL_CONSTRUCT(NVIDIA, 0x03f0)
  121 #define HDA_NVIDIA_MCP65_1      HDA_MODEL_CONSTRUCT(NVIDIA, 0x044a)
  122 #define HDA_NVIDIA_MCP65_2      HDA_MODEL_CONSTRUCT(NVIDIA, 0x044b)
  123 #define HDA_NVIDIA_MCP67_1      HDA_MODEL_CONSTRUCT(NVIDIA, 0x055c)
  124 #define HDA_NVIDIA_MCP67_2      HDA_MODEL_CONSTRUCT(NVIDIA, 0x055d)
  125 #define HDA_NVIDIA_MCP78_1      HDA_MODEL_CONSTRUCT(NVIDIA, 0x0774)
  126 #define HDA_NVIDIA_MCP78_2      HDA_MODEL_CONSTRUCT(NVIDIA, 0x0775)
  127 #define HDA_NVIDIA_MCP78_3      HDA_MODEL_CONSTRUCT(NVIDIA, 0x0776)
  128 #define HDA_NVIDIA_MCP78_4      HDA_MODEL_CONSTRUCT(NVIDIA, 0x0777)
  129 #define HDA_NVIDIA_MCP73_1      HDA_MODEL_CONSTRUCT(NVIDIA, 0x07fc)
  130 #define HDA_NVIDIA_MCP73_2      HDA_MODEL_CONSTRUCT(NVIDIA, 0x07fd)
  131 #define HDA_NVIDIA_MCP79_1      HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac0)
  132 #define HDA_NVIDIA_MCP79_2      HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac1)
  133 #define HDA_NVIDIA_MCP79_3      HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac2)
  134 #define HDA_NVIDIA_MCP79_4      HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac3)
  135 #define HDA_NVIDIA_0BE2         HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be2)
  136 #define HDA_NVIDIA_0BE3         HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be3)
  137 #define HDA_NVIDIA_0BE4         HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be4)
  138 #define HDA_NVIDIA_GT100        HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be5)
  139 #define HDA_NVIDIA_GT106        HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be9)
  140 #define HDA_NVIDIA_GT108        HDA_MODEL_CONSTRUCT(NVIDIA, 0x0bea)
  141 #define HDA_NVIDIA_GT104        HDA_MODEL_CONSTRUCT(NVIDIA, 0x0beb)
  142 #define HDA_NVIDIA_GT116        HDA_MODEL_CONSTRUCT(NVIDIA, 0x0bee)
  143 #define HDA_NVIDIA_MCP89_1      HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d94)
  144 #define HDA_NVIDIA_MCP89_2      HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d95)
  145 #define HDA_NVIDIA_MCP89_3      HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d96)
  146 #define HDA_NVIDIA_MCP89_4      HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d97)
  147 #define HDA_NVIDIA_GF119        HDA_MODEL_CONSTRUCT(NVIDIA, 0x0e08)
  148 #define HDA_NVIDIA_GF110_1      HDA_MODEL_CONSTRUCT(NVIDIA, 0x0e09)
  149 #define HDA_NVIDIA_GF110_2      HDA_MODEL_CONSTRUCT(NVIDIA, 0x0e0c)
  150 #define HDA_NVIDIA_ALL          HDA_MODEL_CONSTRUCT(NVIDIA, 0xffff)
  151 
  152 /* ATI */
  153 #define ATI_VENDORID            0x1002
  154 #define HDA_ATI_SB450           HDA_MODEL_CONSTRUCT(ATI, 0x437b)
  155 #define HDA_ATI_SB600           HDA_MODEL_CONSTRUCT(ATI, 0x4383)
  156 #define HDA_ATI_RS600           HDA_MODEL_CONSTRUCT(ATI, 0x793b)
  157 #define HDA_ATI_RS690           HDA_MODEL_CONSTRUCT(ATI, 0x7919)
  158 #define HDA_ATI_RS780           HDA_MODEL_CONSTRUCT(ATI, 0x960f)
  159 #define HDA_ATI_RS880           HDA_MODEL_CONSTRUCT(ATI, 0x970f)
  160 #define HDA_ATI_R600            HDA_MODEL_CONSTRUCT(ATI, 0xaa00)
  161 #define HDA_ATI_RV630           HDA_MODEL_CONSTRUCT(ATI, 0xaa08)
  162 #define HDA_ATI_RV610           HDA_MODEL_CONSTRUCT(ATI, 0xaa10)
  163 #define HDA_ATI_RV670           HDA_MODEL_CONSTRUCT(ATI, 0xaa18)
  164 #define HDA_ATI_RV635           HDA_MODEL_CONSTRUCT(ATI, 0xaa20)
  165 #define HDA_ATI_RV620           HDA_MODEL_CONSTRUCT(ATI, 0xaa28)
  166 #define HDA_ATI_RV770           HDA_MODEL_CONSTRUCT(ATI, 0xaa30)
  167 #define HDA_ATI_RV730           HDA_MODEL_CONSTRUCT(ATI, 0xaa38)
  168 #define HDA_ATI_RV710           HDA_MODEL_CONSTRUCT(ATI, 0xaa40)
  169 #define HDA_ATI_RV740           HDA_MODEL_CONSTRUCT(ATI, 0xaa48)
  170 #define HDA_ATI_RV870           HDA_MODEL_CONSTRUCT(ATI, 0xaa50)
  171 #define HDA_ATI_RV840           HDA_MODEL_CONSTRUCT(ATI, 0xaa58)
  172 #define HDA_ATI_RV830           HDA_MODEL_CONSTRUCT(ATI, 0xaa60)
  173 #define HDA_ATI_RV810           HDA_MODEL_CONSTRUCT(ATI, 0xaa68)
  174 #define HDA_ATI_RV970           HDA_MODEL_CONSTRUCT(ATI, 0xaa80)
  175 #define HDA_ATI_RV940           HDA_MODEL_CONSTRUCT(ATI, 0xaa88)
  176 #define HDA_ATI_RV930           HDA_MODEL_CONSTRUCT(ATI, 0xaa90)
  177 #define HDA_ATI_RV910           HDA_MODEL_CONSTRUCT(ATI, 0xaa98)
  178 #define HDA_ATI_R1000           HDA_MODEL_CONSTRUCT(ATI, 0xaaa0)
  179 #define HDA_ATI_KABINI          HDA_MODEL_CONSTRUCT(ATI, 0x9840)
  180 #define HDA_ATI_TRINITY         HDA_MODEL_CONSTRUCT(ATI, 0x9902)
  181 #define HDA_ATI_ALL             HDA_MODEL_CONSTRUCT(ATI, 0xffff)
  182 
  183 #define AMD_VENDORID            0x1022
  184 #define HDA_AMD_X370            HDA_MODEL_CONSTRUCT(AMD, 0x1457)
  185 #define HDA_AMD_X570            HDA_MODEL_CONSTRUCT(AMD, 0x1487)
  186 #define HDA_AMD_STONEY          HDA_MODEL_CONSTRUCT(AMD, 0x157a)
  187 #define HDA_AMD_RAVEN           HDA_MODEL_CONSTRUCT(AMD, 0x15e3)
  188 #define HDA_AMD_HUDSON2         HDA_MODEL_CONSTRUCT(AMD, 0x780d)
  189 #define HDA_AMD_ALL             HDA_MODEL_CONSTRUCT(AMD, 0xffff)
  190 
  191 /* RDC */
  192 #define RDC_VENDORID            0x17f3
  193 #define HDA_RDC_M3010           HDA_MODEL_CONSTRUCT(RDC, 0x3010)
  194 
  195 /* Creative */
  196 #define CREATIVE_VENDORID       0x1102
  197 #define HDA_CREATIVE_ALL        HDA_MODEL_CONSTRUCT(CREATIVE, 0xffff)
  198 
  199 /* VIA */
  200 #define VIA_VENDORID            0x1106
  201 #define HDA_VIA_VT82XX          HDA_MODEL_CONSTRUCT(VIA, 0x3288)
  202 #define HDA_VIA_ALL             HDA_MODEL_CONSTRUCT(VIA, 0xffff)
  203 
  204 /* VMware */
  205 #define VMWARE_VENDORID         0x15ad
  206 #define HDA_VMWARE              HDA_MODEL_CONSTRUCT(VMWARE, 0x1977)
  207 #define HDA_VMWARE_ALL          HDA_MODEL_CONSTRUCT(VMWARE, 0xffff)
  208 
  209 /* SiS */
  210 #define SIS_VENDORID            0x1039
  211 #define HDA_SIS_966             HDA_MODEL_CONSTRUCT(SIS, 0x7502)
  212 #define HDA_SIS_ALL             HDA_MODEL_CONSTRUCT(SIS, 0xffff)
  213 
  214 /* ULI */
  215 #define ULI_VENDORID            0x10b9
  216 #define HDA_ULI_M5461           HDA_MODEL_CONSTRUCT(ULI, 0x5461)
  217 #define HDA_ULI_ALL             HDA_MODEL_CONSTRUCT(ULI, 0xffff)
  218 
  219 /* OEM/subvendors */
  220 
  221 /* Intel */
  222 #define INTEL_DH87RL_SUBVENDOR  HDA_MODEL_CONSTRUCT(INTEL, 0x204a)
  223 #define INTEL_D101GGC_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0xd600)
  224 
  225 /* HP/Compaq */
  226 #define HP_VENDORID             0x103c
  227 #define HP_Z200_SUBVENDOR       HDA_MODEL_CONSTRUCT(HP, 0x103c)
  228 #define HP_225AID_SUBVENDOR     HDA_MODEL_CONSTRUCT(HP, 0x225a)
  229 #define HP_2272ID_SUBVENDOR     HDA_MODEL_CONSTRUCT(HP, 0x2272)
  230 #define HP_2273ID_SUBVENDOR     HDA_MODEL_CONSTRUCT(HP, 0x2273)
  231 #define HP_V3000_SUBVENDOR      HDA_MODEL_CONSTRUCT(HP, 0x30b5)
  232 #define HP_NX7400_SUBVENDOR     HDA_MODEL_CONSTRUCT(HP, 0x30a2)
  233 #define HP_NX6310_SUBVENDOR     HDA_MODEL_CONSTRUCT(HP, 0x30aa)
  234 #define HP_NX6325_SUBVENDOR     HDA_MODEL_CONSTRUCT(HP, 0x30b0)
  235 #define HP_XW4300_SUBVENDOR     HDA_MODEL_CONSTRUCT(HP, 0x3013)
  236 #define HP_3010_SUBVENDOR       HDA_MODEL_CONSTRUCT(HP, 0x3010)
  237 #define HP_DV5000_SUBVENDOR     HDA_MODEL_CONSTRUCT(HP, 0x30a5)
  238 #define HP_DC7700S_SUBVENDOR    HDA_MODEL_CONSTRUCT(HP, 0x2801)
  239 #define HP_DC7700_SUBVENDOR     HDA_MODEL_CONSTRUCT(HP, 0x2802)
  240 #define HP_DC5750_SUBVENDOR     HDA_MODEL_CONSTRUCT(HP, 0x280a)
  241 #define HP_AF006UR_SUBVENDOR    HDA_MODEL_CONSTRUCT(HP, 0x83a2)
  242 #define HP_ALL_SUBVENDOR        HDA_MODEL_CONSTRUCT(HP, 0xffff)
  243 /* What is wrong with XN 2563 anyway? (Got the picture ?) */
  244 #define HP_NX6325_SUBVENDORX    0x103c30b0
  245 
  246 /* Dell */
  247 #define DELL_VENDORID           0x1028
  248 #define DELL_D630_SUBVENDOR     HDA_MODEL_CONSTRUCT(DELL, 0x01f9)
  249 #define DELL_D820_SUBVENDOR     HDA_MODEL_CONSTRUCT(DELL, 0x01cc)
  250 #define DELL_V1400_SUBVENDOR    HDA_MODEL_CONSTRUCT(DELL, 0x0227)
  251 #define DELL_V1500_SUBVENDOR    HDA_MODEL_CONSTRUCT(DELL, 0x0228)
  252 #define DELL_I1300_SUBVENDOR    HDA_MODEL_CONSTRUCT(DELL, 0x01c9)
  253 #define DELL_L7480_SUBVENDOR    HDA_MODEL_CONSTRUCT(DELL, 0x07a0)
  254 #define DELL_XPSM1210_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01d7)
  255 #define DELL_OPLX745_SUBVENDOR  HDA_MODEL_CONSTRUCT(DELL, 0x01da)
  256 #define DELL_05F4ID_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x05f4)
  257 #define DELL_05F5ID_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x05f5)
  258 #define DELL_05F6ID_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x05f6)
  259 #define DELL_V5470_SUBVENDOR    HDA_MODEL_CONSTRUCT(DELL, 0x0615)
  260 #define DELL_V5470_1_SUBVENDOR  HDA_MODEL_CONSTRUCT(DELL, 0x0616)
  261 #define DELL_064AID_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x064a)
  262 #define DELL_064BID_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x064b)
  263 #define DELL_9020M_SUBVENDOR    HDA_MODEL_CONSTRUCT(DELL, 0x0669)
  264 #define DELL_V5480_SUBVENDOR    HDA_MODEL_CONSTRUCT(DELL, 0x069a)
  265 #define DELL_06D9ID_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x06d9)
  266 #define DELL_06DAID_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x06da)
  267 #define DELL_06DBID_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x06db)
  268 #define DELL_06DDID_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x06dd)
  269 #define DELL_06DEID_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x06de)
  270 #define DELL_06DFID_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x06df)
  271 #define DELL_06E0ID_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x06e0)
  272 #define DELL_7559_SUBVENDOR     HDA_MODEL_CONSTRUCT(DELL, 0x0706)
  273 #define DELL_7000_SUBVENDOR     HDA_MODEL_CONSTRUCT(DELL, 0x0798)
  274 #define DELL_XPS9560_SUBVENDOR  HDA_MODEL_CONSTRUCT(DELL, 0x07be)
  275 #define DELL_E7240_SUBVENDOR    HDA_MODEL_CONSTRUCT(DELL, 0x05ca)
  276 #define DELL_164AID_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x164a)
  277 #define DELL_164BID_SUBVENDOR   HDA_MODEL_CONSTRUCT(DELL, 0x164b)
  278 #define DELL_I7577_SUBVENDOR    HDA_MODEL_CONSTRUCT(DELL, 0x0802)
  279 #define DELL_ALL_SUBVENDOR      HDA_MODEL_CONSTRUCT(DELL, 0xffff)
  280 
  281 /* Clevo */
  282 #define CLEVO_VENDORID          0x1558
  283 #define CLEVO_D900T_SUBVENDOR   HDA_MODEL_CONSTRUCT(CLEVO, 0x0900)
  284 #define CLEVO_ALL_SUBVENDOR     HDA_MODEL_CONSTRUCT(CLEVO, 0xffff)
  285 
  286 /* Acer */
  287 #define ACER_VENDORID           0x1025
  288 #define ACER_0070ID_SUBVENDOR   HDA_MODEL_CONSTRUCT(ACER, 0x0070)
  289 #define ACER_0077ID_SUBVENDOR   HDA_MODEL_CONSTRUCT(ACER, 0x0077)
  290 #define ACER_0078ID_SUBVENDOR   HDA_MODEL_CONSTRUCT(ACER, 0x0078)
  291 #define ACER_0087ID_SUBVENDOR   HDA_MODEL_CONSTRUCT(ACER, 0x0087)
  292 #define ACER_A5050_SUBVENDOR    HDA_MODEL_CONSTRUCT(ACER, 0x010f)
  293 #define ACER_A4520_SUBVENDOR    HDA_MODEL_CONSTRUCT(ACER, 0x0127)
  294 #define ACER_A4710_SUBVENDOR    HDA_MODEL_CONSTRUCT(ACER, 0x012f)
  295 #define ACER_A4715_SUBVENDOR    HDA_MODEL_CONSTRUCT(ACER, 0x0133)
  296 #define ACER_TM_6293_SUBVENDOR  HDA_MODEL_CONSTRUCT(ACER, 0x0139)
  297 #define ACER_3681WXM_SUBVENDOR  HDA_MODEL_CONSTRUCT(ACER, 0x0110)
  298 #define ACER_T6292_SUBVENDOR    HDA_MODEL_CONSTRUCT(ACER, 0x011b)
  299 #define ACER_T5320_SUBVENDOR    HDA_MODEL_CONSTRUCT(ACER, 0x011f)
  300 #define ACER_TM_6293_SUBVENDOR  HDA_MODEL_CONSTRUCT(ACER, 0x0139)
  301 #define ACER_AC700_SUBVENDOR    HDA_MODEL_CONSTRUCT(ACER, 0x047c)
  302 #define ACER_V5_571G_SUBVENDOR  HDA_MODEL_CONSTRUCT(ACER, 0x072d)
  303 #define ACER_AO725_SUBVENDOR    HDA_MODEL_CONSTRUCT(ACER, 0x0740)
  304 #define ACER_AO756_SUBVENDOR    HDA_MODEL_CONSTRUCT(ACER, 0x0742)
  305 #define ACER_E1_472_SUBVENDOR   HDA_MODEL_CONSTRUCT(ACER, 0x0762)
  306 #define ACER_E1_572_SUBVENDOR   HDA_MODEL_CONSTRUCT(ACER, 0x0775)
  307 #define ACER_V5_573G_SUBVENDOR  HDA_MODEL_CONSTRUCT(ACER, 0x079b)
  308 #define ACER_CB_14_SUBVENDOR    HDA_MODEL_CONSTRUCT(ACER, 0x106d)
  309 #define ACER_V5_122P_SUBVENDOR  HDA_MODEL_CONSTRUCT(ACER, 0xa80d)
  310 #define ACER_APFV_SUBVENDOR     HDA_MODEL_CONSTRUCT(ACER, 0xa884)
  311 #define ACER_E309ID_SUBVENDOR   HDA_MODEL_CONSTRUCT(ACER, 0xe309)
  312 #define ACER_E310ID_SUBVENDOR   HDA_MODEL_CONSTRUCT(ACER, 0xe310)
  313 #define ACER_ALL_SUBVENDOR      HDA_MODEL_CONSTRUCT(ACER, 0xffff)
  314 
  315 /* Asus */
  316 #define ASUS_VENDORID           0x1043
  317 #define ASUS_X540A_SUBVENDOR    HDA_MODEL_CONSTRUCT(ASUS, 0x103e)
  318 #define ASUS_X540SA_SUBVENDOR   HDA_MODEL_CONSTRUCT(ASUS, 0x10c0)
  319 #define ASUS_X556UR_SUBVENDOR   HDA_MODEL_CONSTRUCT(ASUS, 0x11c0)
  320 #define ASUS_W5A_SUBVENDOR      HDA_MODEL_CONSTRUCT(ASUS, 0x10c3)
  321 #define ASUS_X540LA_SUBVENDOR   HDA_MODEL_CONSTRUCT(ASUS, 0x10d0)
  322 #define ASUS_A8X_SUBVENDOR      HDA_MODEL_CONSTRUCT(ASUS, 0x1153)
  323 #define ASUS_U5F_SUBVENDOR      HDA_MODEL_CONSTRUCT(ASUS, 0x1263)
  324 #define ASUS_W6F_SUBVENDOR      HDA_MODEL_CONSTRUCT(ASUS, 0x1263)
  325 #define ASUS_X541SA_SUBVENDOR   HDA_MODEL_CONSTRUCT(ASUS, 0x12e0)
  326 #define ASUS_X541UV_SUBVENDOR   HDA_MODEL_CONSTRUCT(ASUS, 0x12f0)
  327 #define ASUS_A7M_SUBVENDOR      HDA_MODEL_CONSTRUCT(ASUS, 0x1323)
  328 #define ASUS_F3JC_SUBVENDOR     HDA_MODEL_CONSTRUCT(ASUS, 0x1338)
  329 #define ASUS_G2K_SUBVENDOR      HDA_MODEL_CONSTRUCT(ASUS, 0x1339)
  330 #define ASUS_Z550SA_SUBVENDOR   HDA_MODEL_CONSTRUCT(ASUS, 0x13b0)
  331 #define ASUS_A7T_SUBVENDOR      HDA_MODEL_CONSTRUCT(ASUS, 0x13c2)
  332 #define ASUS_UX31A_SUBVENDOR    HDA_MODEL_CONSTRUCT(ASUS, 0x1517)
  333 #define ASUS_GL553VE_SUBVENDOR  HDA_MODEL_CONSTRUCT(ASUS, 0x15e0)
  334 #define ASUS_Z71V_SUBVENDOR     HDA_MODEL_CONSTRUCT(ASUS, 0x1964)
  335 #define ASUS_W2J_SUBVENDOR      HDA_MODEL_CONSTRUCT(ASUS, 0x1971)
  336 #define ASUS_M5200_SUBVENDOR    HDA_MODEL_CONSTRUCT(ASUS, 0x1993)
  337 #define ASUS_G73JW_SUBVENDOR    HDA_MODEL_CONSTRUCT(ASUS, 0x1a13)
  338 #define ASUS_X705UD_SUBVENDOR   HDA_MODEL_CONSTRUCT(ASUS, 0x1a30)
  339 #define ASUS_Z550MA_SUBVENDOR   HDA_MODEL_CONSTRUCT(ASUS, 0x1bbd)
  340 #define ASUS_X555UB_SUBVENDOR   HDA_MODEL_CONSTRUCT(ASUS, 0x1ccd)
  341 #define ASUS_P5PL2_SUBVENDOR    HDA_MODEL_CONSTRUCT(ASUS, 0x817f)
  342 #define ASUS_P1AH2_SUBVENDOR    HDA_MODEL_CONSTRUCT(ASUS, 0x81cb)
  343 #define ASUS_M2NPVMX_SUBVENDOR  HDA_MODEL_CONSTRUCT(ASUS, 0x81cb)
  344 #define ASUS_M2V_SUBVENDOR      HDA_MODEL_CONSTRUCT(ASUS, 0x81e7)
  345 #define ASUS_P5BWD_SUBVENDOR    HDA_MODEL_CONSTRUCT(ASUS, 0x81ec)
  346 #define ASUS_M2N_SUBVENDOR      HDA_MODEL_CONSTRUCT(ASUS, 0x8234)
  347 #define ASUS_A8NVMCSM_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0xcb84)
  348 #define ASUS_X101CH_SUBVENDOR   HDA_MODEL_CONSTRUCT(ASUS, 0x8516)
  349 #define ASUS_ALL_SUBVENDOR      HDA_MODEL_CONSTRUCT(ASUS, 0xffff)
  350 
  351 /* IBM / Lenovo */
  352 #define IBM_VENDORID            0x1014
  353 #define IBM_M52_SUBVENDOR       HDA_MODEL_CONSTRUCT(IBM, 0x02f6)
  354 #define IBM_ALL_SUBVENDOR       HDA_MODEL_CONSTRUCT(IBM, 0xffff)
  355 
  356 /* Lenovo */
  357 #define LENOVO_VENDORID         0x17aa
  358 #define LENOVO_3KN100_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2066)
  359 #define LENOVO_3KN200_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x384e)
  360 #define LENOVO_B450_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x3a0d)
  361 #define LENOVO_TCA55_SUBVENDOR  HDA_MODEL_CONSTRUCT(LENOVO, 0x1015)
  362 #define LENOVO_X1_SUBVENDOR     HDA_MODEL_CONSTRUCT(LENOVO, 0x21e8)
  363 #define LENOVO_X1CRBN_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f9)
  364 #define LENOVO_X120BS_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2227)
  365 #define LENOVO_X120KH_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x225c)
  366 #define LENOVO_X120QD_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2292)
  367 #define LENOVO_X220_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x21da)
  368 #define LENOVO_X300_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x20ac)
  369 #define LENOVO_T400_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x20f2)
  370 #define LENOVO_T420_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x21ce)
  371 #define LENOVO_T430_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x21f3)
  372 #define LENOVO_T430S_SUBVENDOR  HDA_MODEL_CONSTRUCT(LENOVO, 0x21fb)
  373 #define LENOVO_T520_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x21cf)
  374 #define LENOVO_T530_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x21f6)
  375 #define LENOVO_X230_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x21fa)
  376 #define LENOVO_X230T_SUBVENDOR  HDA_MODEL_CONSTRUCT(LENOVO, 0x2203)
  377 #define LENOVO_T431S_SUBVENDOR  HDA_MODEL_CONSTRUCT(LENOVO, 0x2208)
  378 #define LENOVO_G580_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x3977)
  379 #define LENOVO_L5AMD_SUBVENDOR  HDA_MODEL_CONSTRUCT(LENOVO, 0x381b)
  380 #define LENOVO_L5INTEL_SUBVENDOR        HDA_MODEL_CONSTRUCT(LENOVO, 0x380f)
  381 #define LENOVO_3000_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x384e)
  382 #define LENOVO_ALL_SUBVENDOR    HDA_MODEL_CONSTRUCT(LENOVO, 0xffff)
  383 
  384 /* Samsung */
  385 #define SAMSUNG_VENDORID        0x144d
  386 #define SAMSUNG_Q1_SUBVENDOR    HDA_MODEL_CONSTRUCT(SAMSUNG, 0xc027)
  387 #define SAMSUNG_ALL_SUBVENDOR   HDA_MODEL_CONSTRUCT(SAMSUNG, 0xffff)
  388 
  389 /* Medion ? */
  390 #define MEDION_VENDORID                 0x161f
  391 #define MEDION_MD95257_SUBVENDOR        HDA_MODEL_CONSTRUCT(MEDION, 0x203d)
  392 #define MEDION_ALL_SUBVENDOR            HDA_MODEL_CONSTRUCT(MEDION, 0xffff)
  393 
  394 /* Apple Computer Inc. */
  395 #define APPLE_VENDORID          0x106b
  396 #define APPLE_MB3_SUBVENDOR     HDA_MODEL_CONSTRUCT(APPLE, 0x00a1)
  397 
  398 /* Sony */
  399 #define SONY_VENDORID           0x104d
  400 #define SONY_S5_SUBVENDOR       HDA_MODEL_CONSTRUCT(SONY, 0x81cc)
  401 #define SONY_81A0ID_SUBVENDOR   HDA_MODEL_CONSTRUCT(SONY, 0x81a0)
  402 #define SONY_81D6ID_SUBVENDOR   HDA_MODEL_CONSTRUCT(SONY, 0x81d6)
  403 #define SONY_81BBID_SUBVENDOR   HDA_MODEL_CONSTRUCT(SONY, 0x81bb)
  404 #define SONY_VAIO_TX_SUBVENDOR  HDA_MODEL_CONSTRUCT(SONY, 0x81e2)
  405 #define SONY_VAIO_S13_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0x9099)
  406 #define SONY_VAIO_P11_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0x90b5)
  407 #define SONY_VAIO_P13_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0x90b6)
  408 #define SONY_ALL_SUBVENDOR      HDA_MODEL_CONSTRUCT(SONY, 0xffff)
  409 
  410 /* Tyan? */
  411 #define TYAN_VENDORID           0x10f1
  412 #define TYAN_N6650W_SUBVENDOR   HDA_MODEL_CONSTRUCT(TYAN, 0x2915)
  413 
  414 /*
  415  * Apple Intel MacXXXX seems using Sigmatel codec/vendor id
  416  * instead of their own, which is beyond my comprehension
  417  * (see HDA_CODEC_STAC9221 below).
  418  */
  419 #define APPLE_INTEL_MAC         0x76808384
  420 #define APPLE_MACBOOKAIR31      0x0d9410de
  421 #define APPLE_MACBOOKPRO55      0xcb7910de
  422 #define APPLE_MACBOOKPRO71      0xcb8910de
  423 
  424 /* LG Electronics */
  425 #define LG_VENDORID             0x1854
  426 #define LG_LW20_SUBVENDOR       HDA_MODEL_CONSTRUCT(LG, 0x0018)
  427 #define LG_M1_SUBVENDOR         HDA_MODEL_CONSTRUCT(LG, 0x003b)
  428 #define LG_P1_SUBVENDOR         HDA_MODEL_CONSTRUCT(LG, 0x005f)
  429 #define LG_W1_SUBVENDOR         HDA_MODEL_CONSTRUCT(LG, 0x0068)
  430 #define LG_LW25_SUBVENDOR       HDA_MODEL_CONSTRUCT(LG, 0x0077)
  431 #define LG_ALL_SUBVENDOR        HDA_MODEL_CONSTRUCT(LG, 0xffff)
  432 
  433 /* Fujitsu Siemens */
  434 #define FS_VENDORID             0x1734
  435 #define FS_PA1510_SUBVENDOR     HDA_MODEL_CONSTRUCT(FS, 0x10b8)
  436 #define FS_SI1848_SUBVENDOR     HDA_MODEL_CONSTRUCT(FS, 0x10cd)
  437 #define FS_AMILO_M1437_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0x107c)
  438 #define FS_AMILO_M1451G_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0x1094)
  439 #define FS_AMILO_PI1556_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0x10b0)
  440 #define FS_AMILO_XI1526_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0x10ac)
  441 #define FS_H270_SUBVENDOR       HDA_MODEL_CONSTRUCT(FS, 0x1147)
  442 #define FS_ALL_SUBVENDOR        HDA_MODEL_CONSTRUCT(FS, 0xffff)
  443 
  444 /* Fujitsu Limited */
  445 #define FL_VENDORID             0x10cf
  446 #define FL_S7020D_SUBVENDOR     HDA_MODEL_CONSTRUCT(FL, 0x1326)
  447 #define FL_LB_S7110_SUBVENDOR   HDA_MODEL_CONSTRUCT(FL, 0x1397)
  448 #define FL_U1010_SUBVENDOR      HDA_MODEL_CONSTRUCT(FL, 0x142d)
  449 #define FL_1475ID_SUBVENDOR     HDA_MODEL_CONSTRUCT(FL, 0x1475)
  450 #define FL_LB_U904_SUBVENDOR    HDA_MODEL_CONSTRUCT(FL, 0x1845)
  451 #define FL_LB_T731_SUBVENDOR    HDA_MODEL_CONSTRUCT(FL, 0x15dc)
  452 #define FL_LB_E725_SUBVENDOR    HDA_MODEL_CONSTRUCT(FL, 0x1757)
  453 #define FL_ALL_SUBVENDOR        HDA_MODEL_CONSTRUCT(FL, 0xffff)
  454 
  455 /* Toshiba */
  456 #define TOSHIBA_VENDORID        0x1179
  457 #define TOSHIBA_U200_SUBVENDOR  HDA_MODEL_CONSTRUCT(TOSHIBA, 0x0001)
  458 #define TOSHIBA_A135_SUBVENDOR  HDA_MODEL_CONSTRUCT(TOSHIBA, 0xff01)
  459 #define TOSHIBA_ALL_SUBVENDOR   HDA_MODEL_CONSTRUCT(TOSHIBA, 0xffff)
  460 
  461 /* Micro-Star International (MSI) */
  462 #define MSI_VENDORID            0x1462
  463 #define MSI_MS1034_SUBVENDOR    HDA_MODEL_CONSTRUCT(MSI, 0x0349)
  464 #define MSI_MS034A_SUBVENDOR    HDA_MODEL_CONSTRUCT(MSI, 0x034a)
  465 #define MSI_1150ID_SUBVENDOR    HDA_MODEL_CONSTRUCT(MSI, 0x1150)
  466 #define MSI_MS_B120_SUBVENDOR   HDA_MODEL_CONSTRUCT(MSI, 0xb120)
  467 #define MSI_ALL_SUBVENDOR       HDA_MODEL_CONSTRUCT(MSI, 0xffff)
  468 
  469 /* Giga-Byte Technology */
  470 #define GB_VENDORID             0x1458
  471 #define GB_G33S2H_SUBVENDOR     HDA_MODEL_CONSTRUCT(GB, 0xa022)
  472 #define GB_K8_SUBVENDOR         HDA_MODEL_CONSTRUCT(GB, 0xa102)
  473 #define GB_BXBT2807_SUBVENDOR   HDA_MODEL_CONSTRUCT(GB, 0xfa53)
  474 #define GP_ALL_SUBVENDOR        HDA_MODEL_CONSTRUCT(GB, 0xffff)
  475 
  476 /* Uniwill ? */
  477 #define UNIWILL_VENDORID        0x1584
  478 #define UNIWILL_9075_SUBVENDOR  HDA_MODEL_CONSTRUCT(UNIWILL, 0x9075)
  479 #define UNIWILL_9050_SUBVENDOR  HDA_MODEL_CONSTRUCT(UNIWILL, 0x9050)
  480 #define UNIWILL_9054_SUBVENDOR  HDA_MODEL_CONSTRUCT(UNIWILL, 0x9054)
  481 #define UNIWILL_9070_SUBVENDOR  HDA_MODEL_CONSTRUCT(UNIWILL, 0x9070)
  482 #define UNIWILL_9080_SUBVENDOR  HDA_MODEL_CONSTRUCT(UNIWILL, 0x9080)
  483 
  484 /* Coeus / Elitegroup */
  485 #define COEUS_VENDORID          0x1019
  486 #define COEUS_G610P_SUBVENDOR   HDA_MODEL_CONSTRUCT(COEUS, 0x0f69)
  487 #define COEUS_A880ID_SUBVENDOR  HDA_MODEL_CONSTRUCT(COEUS, 0xa880)
  488 
  489 /* Arima */
  490 #define ARIMA_VENDORID          0x161f
  491 #define ARIMA_W810_SUBVENDOR    HDA_MODEL_CONSTRUCT(ARIMA, 0x0f69)
  492 
  493 /* Shuttle Computer */
  494 #define SHUTTLE_VENDORID        0x1039
  495 #define SHUTTLE_ST20G5_SUBVENDOR HDA_MODEL_CONSTRUCT(SHUTTLE, 0xc790)
  496 
  497 /* First International Computer */
  498 #define FIC_VENDORID            0x1509
  499 #define FIC_P4M_SUBVENDOR       HDA_MODEL_CONSTRUCT(FIC, 0x925d)
  500 
  501 /* Gateway 2000 */
  502 #define GATEWAY_VENDORID        0x107b
  503 #define GATEWAY_3032ID_SUBVENDOR HDA_MODEL_CONSTRUCT(GATEWAY, 0x3032)
  504 #define GATEWAY_3033ID_SUBVENDOR HDA_MODEL_CONSTRUCT(GATEWAY, 0x3033)
  505 #define GATEWAY_4039ID_SUBVENDOR HDA_MODEL_CONSTRUCT(GATEWAY, 0x4039)
  506 
  507 /* Biostar */
  508 #define BIOSTAR_VENDORID        0x1565
  509 #define BIOSTAR_8202ID_SUBVENDOR HDA_MODEL_CONSTRUCT(BIOSTAR, 0x8202)
  510 
  511 /* EPoX Computer Co., Ltd. */
  512 #define EPOX_VENDORID           0x1695
  513 #define EPOX_400DID_SUBVENDOR   HDA_MODEL_CONSTRUCT(EPOX, 0x400d)
  514 #define EPOX_EP5LDA_SUBVENDOR   HDA_MODEL_CONSTRUCT(EPOX, 0x4012)
  515 
  516 /* AOpen */
  517 #define AOPEN_VENDORID  0xa0a0
  518 #define AOPEN_I915GMMHFS_SUBVENDOR HDA_MODEL_CONSTRUCT(AOPEN, 0x8202)
  519 
  520 /* Framework */
  521 #define FRAMEWORK_VENDORID      0xf111
  522 #define FRAMEWORK_LAPTOP_0001_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0001)
  523 #define FRAMEWORK_LAPTOP_0002_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0002)
  524 
  525 /* All codecs you can eat... */
  526 #define HDA_CODEC_CONSTRUCT(vendor, id) \
  527                 (((uint32_t)(vendor##_VENDORID) << 16) | ((id) & 0xffff))
  528 
  529 /* Cirrus Logic */
  530 #define CIRRUSLOGIC_VENDORID    0x1013
  531 #define HDA_CODEC_CS4206        HDA_CODEC_CONSTRUCT(CIRRUSLOGIC, 0x4206)
  532 #define HDA_CODEC_CS4207        HDA_CODEC_CONSTRUCT(CIRRUSLOGIC, 0x4207)
  533 #define HDA_CODEC_CS4210        HDA_CODEC_CONSTRUCT(CIRRUSLOGIC, 0x4210)
  534 #define HDA_CODEC_CSXXXX        HDA_CODEC_CONSTRUCT(CIRRUSLOGIC, 0xffff)
  535 
  536 /* Realtek */
  537 #define REALTEK_VENDORID        0x10ec
  538 #define HDA_CODEC_ALC215        HDA_CODEC_CONSTRUCT(REALTEK, 0x0215)
  539 #define HDA_CODEC_ALC221        HDA_CODEC_CONSTRUCT(REALTEK, 0x0221)
  540 #define HDA_CODEC_ALC222        HDA_CODEC_CONSTRUCT(REALTEK, 0x0222)
  541 #define HDA_CODEC_ALC225        HDA_CODEC_CONSTRUCT(REALTEK, 0x0225)
  542 #define HDA_CODEC_ALC231        HDA_CODEC_CONSTRUCT(REALTEK, 0x0231)
  543 #define HDA_CODEC_ALC233        HDA_CODEC_CONSTRUCT(REALTEK, 0x0233)
  544 #define HDA_CODEC_ALC234        HDA_CODEC_CONSTRUCT(REALTEK, 0x0234)
  545 #define HDA_CODEC_ALC235        HDA_CODEC_CONSTRUCT(REALTEK, 0x0235)
  546 #define HDA_CODEC_ALC236        HDA_CODEC_CONSTRUCT(REALTEK, 0x0236)
  547 #define HDA_CODEC_ALC245        HDA_CODEC_CONSTRUCT(REALTEK, 0x0245)
  548 #define HDA_CODEC_ALC255        HDA_CODEC_CONSTRUCT(REALTEK, 0x0255)
  549 #define HDA_CODEC_ALC256        HDA_CODEC_CONSTRUCT(REALTEK, 0x0256)
  550 #define HDA_CODEC_ALC257        HDA_CODEC_CONSTRUCT(REALTEK, 0x0257)
  551 #define HDA_CODEC_ALC260        HDA_CODEC_CONSTRUCT(REALTEK, 0x0260)
  552 #define HDA_CODEC_ALC262        HDA_CODEC_CONSTRUCT(REALTEK, 0x0262)
  553 #define HDA_CODEC_ALC267        HDA_CODEC_CONSTRUCT(REALTEK, 0x0267)
  554 #define HDA_CODEC_ALC268        HDA_CODEC_CONSTRUCT(REALTEK, 0x0268)
  555 #define HDA_CODEC_ALC269        HDA_CODEC_CONSTRUCT(REALTEK, 0x0269)
  556 #define HDA_CODEC_ALC270        HDA_CODEC_CONSTRUCT(REALTEK, 0x0270)
  557 #define HDA_CODEC_ALC271        HDA_CODEC_CONSTRUCT(REALTEK, 0x0271)
  558 #define HDA_CODEC_ALC272        HDA_CODEC_CONSTRUCT(REALTEK, 0x0272)
  559 #define HDA_CODEC_ALC273        HDA_CODEC_CONSTRUCT(REALTEK, 0x0273)
  560 #define HDA_CODEC_ALC274        HDA_CODEC_CONSTRUCT(REALTEK, 0x0274)
  561 #define HDA_CODEC_ALC275        HDA_CODEC_CONSTRUCT(REALTEK, 0x0275)
  562 #define HDA_CODEC_ALC276        HDA_CODEC_CONSTRUCT(REALTEK, 0x0276)
  563 #define HDA_CODEC_ALC280        HDA_CODEC_CONSTRUCT(REALTEK, 0x0280)
  564 #define HDA_CODEC_ALC282        HDA_CODEC_CONSTRUCT(REALTEK, 0x0282)
  565 #define HDA_CODEC_ALC283        HDA_CODEC_CONSTRUCT(REALTEK, 0x0283)
  566 #define HDA_CODEC_ALC284        HDA_CODEC_CONSTRUCT(REALTEK, 0x0284)
  567 #define HDA_CODEC_ALC285        HDA_CODEC_CONSTRUCT(REALTEK, 0x0285)
  568 #define HDA_CODEC_ALC286        HDA_CODEC_CONSTRUCT(REALTEK, 0x0286)
  569 #define HDA_CODEC_ALC288        HDA_CODEC_CONSTRUCT(REALTEK, 0x0288)
  570 #define HDA_CODEC_ALC289        HDA_CODEC_CONSTRUCT(REALTEK, 0x0289)
  571 #define HDA_CODEC_ALC290        HDA_CODEC_CONSTRUCT(REALTEK, 0x0290)
  572 #define HDA_CODEC_ALC292        HDA_CODEC_CONSTRUCT(REALTEK, 0x0292)
  573 #define HDA_CODEC_ALC293        HDA_CODEC_CONSTRUCT(REALTEK, 0x0293)
  574 #define HDA_CODEC_ALC294        HDA_CODEC_CONSTRUCT(REALTEK, 0x0294)
  575 #define HDA_CODEC_ALC295        HDA_CODEC_CONSTRUCT(REALTEK, 0x0295)
  576 #define HDA_CODEC_ALC298        HDA_CODEC_CONSTRUCT(REALTEK, 0x0298)
  577 #define HDA_CODEC_ALC299        HDA_CODEC_CONSTRUCT(REALTEK, 0x0299)
  578 #define HDA_CODEC_ALC292        HDA_CODEC_CONSTRUCT(REALTEK, 0x0292)
  579 #define HDA_CODEC_ALC295        HDA_CODEC_CONSTRUCT(REALTEK, 0x0295)
  580 #define HDA_CODEC_ALC300        HDA_CODEC_CONSTRUCT(REALTEK, 0x0300)
  581 #define HDA_CODEC_ALC623        HDA_CODEC_CONSTRUCT(REALTEK, 0x0623)
  582 #define HDA_CODEC_ALC660        HDA_CODEC_CONSTRUCT(REALTEK, 0x0660)
  583 #define HDA_CODEC_ALC662        HDA_CODEC_CONSTRUCT(REALTEK, 0x0662)
  584 #define HDA_CODEC_ALC663        HDA_CODEC_CONSTRUCT(REALTEK, 0x0663)
  585 #define HDA_CODEC_ALC665        HDA_CODEC_CONSTRUCT(REALTEK, 0x0665)
  586 #define HDA_CODEC_ALC670        HDA_CODEC_CONSTRUCT(REALTEK, 0x0670)
  587 #define HDA_CODEC_ALC671        HDA_CODEC_CONSTRUCT(REALTEK, 0x0671)
  588 #define HDA_CODEC_ALC680        HDA_CODEC_CONSTRUCT(REALTEK, 0x0680)
  589 #define HDA_CODEC_ALC700        HDA_CODEC_CONSTRUCT(REALTEK, 0x0700)
  590 #define HDA_CODEC_ALC701        HDA_CODEC_CONSTRUCT(REALTEK, 0x0701)
  591 #define HDA_CODEC_ALC703        HDA_CODEC_CONSTRUCT(REALTEK, 0x0703)
  592 #define HDA_CODEC_ALC861        HDA_CODEC_CONSTRUCT(REALTEK, 0x0861)
  593 #define HDA_CODEC_ALC861VD      HDA_CODEC_CONSTRUCT(REALTEK, 0x0862)
  594 #define HDA_CODEC_ALC880        HDA_CODEC_CONSTRUCT(REALTEK, 0x0880)
  595 #define HDA_CODEC_ALC882        HDA_CODEC_CONSTRUCT(REALTEK, 0x0882)
  596 #define HDA_CODEC_ALC883        HDA_CODEC_CONSTRUCT(REALTEK, 0x0883)
  597 #define HDA_CODEC_ALC885        HDA_CODEC_CONSTRUCT(REALTEK, 0x0885)
  598 #define HDA_CODEC_ALC887        HDA_CODEC_CONSTRUCT(REALTEK, 0x0887)
  599 #define HDA_CODEC_ALC888        HDA_CODEC_CONSTRUCT(REALTEK, 0x0888)
  600 #define HDA_CODEC_ALC889        HDA_CODEC_CONSTRUCT(REALTEK, 0x0889)
  601 #define HDA_CODEC_ALC892        HDA_CODEC_CONSTRUCT(REALTEK, 0x0892)
  602 #define HDA_CODEC_ALC897        HDA_CODEC_CONSTRUCT(REALTEK, 0x0897)
  603 #define HDA_CODEC_ALC899        HDA_CODEC_CONSTRUCT(REALTEK, 0x0899)
  604 #define HDA_CODEC_ALC1150       HDA_CODEC_CONSTRUCT(REALTEK, 0x0900)
  605 #define HDA_CODEC_ALCS1200A     HDA_CODEC_CONSTRUCT(REALTEK, 0x0b00)
  606 #define HDA_CODEC_ALC1220_1     HDA_CODEC_CONSTRUCT(REALTEK, 0x1168)
  607 #define HDA_CODEC_ALC1220       HDA_CODEC_CONSTRUCT(REALTEK, 0x1220)
  608 #define HDA_CODEC_ALCXXXX       HDA_CODEC_CONSTRUCT(REALTEK, 0xffff)
  609 
  610 /* Motorola */
  611 #define MOTO_VENDORID           0x1057
  612 #define HDA_CODEC_MOTOXXXX      HDA_CODEC_CONSTRUCT(MOTO, 0xffff)
  613 
  614 /* Creative */
  615 #define CREATIVE_VENDORID       0x1102
  616 #define HDA_CODEC_CA0110        HDA_CODEC_CONSTRUCT(CREATIVE, 0x000a)
  617 #define HDA_CODEC_CA0110_2      HDA_CODEC_CONSTRUCT(CREATIVE, 0x000b)
  618 #define HDA_CODEC_SB0880        HDA_CODEC_CONSTRUCT(CREATIVE, 0x000d)
  619 #define HDA_CODEC_CA0132        HDA_CODEC_CONSTRUCT(CREATIVE, 0x0011)
  620 #define HDA_CODEC_CAXXXX        HDA_CODEC_CONSTRUCT(CREATIVE, 0xffff)
  621 
  622 /* Analog Devices */
  623 #define ANALOGDEVICES_VENDORID  0x11d4
  624 #define HDA_CODEC_AD1884A       HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x184a)
  625 #define HDA_CODEC_AD1882        HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1882)
  626 #define HDA_CODEC_AD1883        HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1883)
  627 #define HDA_CODEC_AD1884        HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1884)
  628 #define HDA_CODEC_AD1984A       HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194a)
  629 #define HDA_CODEC_AD1984B       HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194b)
  630 #define HDA_CODEC_AD1981HD      HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1981)
  631 #define HDA_CODEC_AD1983        HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1983)
  632 #define HDA_CODEC_AD1984        HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1984)
  633 #define HDA_CODEC_AD1986A       HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1986)
  634 #define HDA_CODEC_AD1987        HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1987)
  635 #define HDA_CODEC_AD1988        HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1988)
  636 #define HDA_CODEC_AD1988B       HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x198b)
  637 #define HDA_CODEC_AD1882A       HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x882a)
  638 #define HDA_CODEC_AD1989A       HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x989a)
  639 #define HDA_CODEC_AD1989B       HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x989b)
  640 #define HDA_CODEC_ADXXXX        HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0xffff)
  641 
  642 /* CMedia */
  643 #define CMEDIA_VENDORID         0x13f6
  644 #define HDA_CODEC_CMI9880       HDA_CODEC_CONSTRUCT(CMEDIA, 0x9880)
  645 #define HDA_CODEC_CMIXXXX       HDA_CODEC_CONSTRUCT(CMEDIA, 0xffff)
  646 
  647 #define CMEDIA2_VENDORID        0x434d
  648 #define HDA_CODEC_CMI98802      HDA_CODEC_CONSTRUCT(CMEDIA2, 0x4980)
  649 #define HDA_CODEC_CMIXXXX2      HDA_CODEC_CONSTRUCT(CMEDIA2, 0xffff)
  650 
  651 /* Sigmatel */
  652 #define SIGMATEL_VENDORID       0x8384
  653 #define HDA_CODEC_STAC9230X     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7612)
  654 #define HDA_CODEC_STAC9230D     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7613)
  655 #define HDA_CODEC_STAC9229X     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7614)
  656 #define HDA_CODEC_STAC9229D     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7615)
  657 #define HDA_CODEC_STAC9228X     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7616)
  658 #define HDA_CODEC_STAC9228D     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7617)
  659 #define HDA_CODEC_STAC9227X     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7618)
  660 #define HDA_CODEC_STAC9227D     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7619)
  661 #define HDA_CODEC_STAC9274      HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7620)
  662 #define HDA_CODEC_STAC9274D     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7621)
  663 #define HDA_CODEC_STAC9273X     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7622)
  664 #define HDA_CODEC_STAC9273D     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7623)
  665 #define HDA_CODEC_STAC9272X     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7624)
  666 #define HDA_CODEC_STAC9272D     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7625)
  667 #define HDA_CODEC_STAC9271X     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7626)
  668 #define HDA_CODEC_STAC9271D     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7627)
  669 #define HDA_CODEC_STAC9274X5NH  HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7628)
  670 #define HDA_CODEC_STAC9274D5NH  HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7629)
  671 #define HDA_CODEC_STAC9250      HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7634)
  672 #define HDA_CODEC_STAC9251      HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7636)
  673 #define HDA_CODEC_IDT92HD700X   HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7638)
  674 #define HDA_CODEC_IDT92HD700D   HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7639)
  675 #define HDA_CODEC_IDT92HD206X   HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7645)
  676 #define HDA_CODEC_IDT92HD206D   HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7646)
  677 #define HDA_CODEC_CXD9872RDK    HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7661)
  678 #define HDA_CODEC_STAC9872AK    HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7662)
  679 #define HDA_CODEC_CXD9872AKD    HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7664)
  680 #define HDA_CODEC_STAC9221      HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7680)
  681 #define HDA_CODEC_STAC922XD     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7681)
  682 #define HDA_CODEC_STAC9221_A2   HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7682)
  683 #define HDA_CODEC_STAC9221D     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7683)
  684 #define HDA_CODEC_STAC9220      HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7690)
  685 #define HDA_CODEC_STAC9200D     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7691)
  686 #define HDA_CODEC_IDT92HD005    HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7698)
  687 #define HDA_CODEC_IDT92HD005D   HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7699)
  688 #define HDA_CODEC_STAC9205X     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a0)
  689 #define HDA_CODEC_STAC9205D     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a1)
  690 #define HDA_CODEC_STAC9204X     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a2)
  691 #define HDA_CODEC_STAC9204D     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a3)
  692 #define HDA_CODEC_STAC9255      HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a4)
  693 #define HDA_CODEC_STAC9255D     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a5)
  694 #define HDA_CODEC_STAC9254      HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a6)
  695 #define HDA_CODEC_STAC9254D     HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a7)
  696 #define HDA_CODEC_STAC9220_A2   HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7880)
  697 #define HDA_CODEC_STAC9220_A1   HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7882)
  698 #define HDA_CODEC_STACXXXX      HDA_CODEC_CONSTRUCT(SIGMATEL, 0xffff)
  699 
  700 /* IDT / Tempo Semiconductor */
  701 #define IDT_VENDORID            0x111d
  702 #define HDA_CODEC_IDT92HD75BX   HDA_CODEC_CONSTRUCT(IDT, 0x7603)
  703 #define HDA_CODEC_IDT92HD83C1X  HDA_CODEC_CONSTRUCT(IDT, 0x7604)
  704 #define HDA_CODEC_IDT92HD81B1X  HDA_CODEC_CONSTRUCT(IDT, 0x7605)
  705 #define HDA_CODEC_IDT92HD75B3   HDA_CODEC_CONSTRUCT(IDT, 0x7608)
  706 #define HDA_CODEC_IDT92HD73D1   HDA_CODEC_CONSTRUCT(IDT, 0x7674)
  707 #define HDA_CODEC_IDT92HD73C1   HDA_CODEC_CONSTRUCT(IDT, 0x7675)
  708 #define HDA_CODEC_IDT92HD73E1   HDA_CODEC_CONSTRUCT(IDT, 0x7676)
  709 #define HDA_CODEC_IDT92HD95B    HDA_CODEC_CONSTRUCT(IDT, 0x7695)
  710 #define HDA_CODEC_IDT92HD71B8   HDA_CODEC_CONSTRUCT(IDT, 0x76b0)
  711 #define HDA_CODEC_IDT92HD71B8_2 HDA_CODEC_CONSTRUCT(IDT, 0x76b1)
  712 #define HDA_CODEC_IDT92HD71B7   HDA_CODEC_CONSTRUCT(IDT, 0x76b2)
  713 #define HDA_CODEC_IDT92HD71B7_2 HDA_CODEC_CONSTRUCT(IDT, 0x76b3)
  714 #define HDA_CODEC_IDT92HD71B6   HDA_CODEC_CONSTRUCT(IDT, 0x76b4)
  715 #define HDA_CODEC_IDT92HD71B6_2 HDA_CODEC_CONSTRUCT(IDT, 0x76b5)
  716 #define HDA_CODEC_IDT92HD71B5   HDA_CODEC_CONSTRUCT(IDT, 0x76b6)
  717 #define HDA_CODEC_IDT92HD71B5_2 HDA_CODEC_CONSTRUCT(IDT, 0x76b7)
  718 #define HDA_CODEC_IDT92HD89C3   HDA_CODEC_CONSTRUCT(IDT, 0x76c0)
  719 #define HDA_CODEC_IDT92HD89C2   HDA_CODEC_CONSTRUCT(IDT, 0x76c1)
  720 #define HDA_CODEC_IDT92HD89C1   HDA_CODEC_CONSTRUCT(IDT, 0x76c2)
  721 #define HDA_CODEC_IDT92HD89B3   HDA_CODEC_CONSTRUCT(IDT, 0x76c3)
  722 #define HDA_CODEC_IDT92HD89B2   HDA_CODEC_CONSTRUCT(IDT, 0x76c4)
  723 #define HDA_CODEC_IDT92HD89B1   HDA_CODEC_CONSTRUCT(IDT, 0x76c5)
  724 #define HDA_CODEC_IDT92HD89E3   HDA_CODEC_CONSTRUCT(IDT, 0x76c6)
  725 #define HDA_CODEC_IDT92HD89E2   HDA_CODEC_CONSTRUCT(IDT, 0x76c7)
  726 #define HDA_CODEC_IDT92HD89E1   HDA_CODEC_CONSTRUCT(IDT, 0x76c8)
  727 #define HDA_CODEC_IDT92HD89D3   HDA_CODEC_CONSTRUCT(IDT, 0x76c9)
  728 #define HDA_CODEC_IDT92HD89D2   HDA_CODEC_CONSTRUCT(IDT, 0x76ca)
  729 #define HDA_CODEC_IDT92HD89D1   HDA_CODEC_CONSTRUCT(IDT, 0x76cb)
  730 #define HDA_CODEC_IDT92HD89F3   HDA_CODEC_CONSTRUCT(IDT, 0x76cc)
  731 #define HDA_CODEC_IDT92HD89F2   HDA_CODEC_CONSTRUCT(IDT, 0x76cd)
  732 #define HDA_CODEC_IDT92HD89F1   HDA_CODEC_CONSTRUCT(IDT, 0x76ce)
  733 #define HDA_CODEC_IDT92HD87B1_3 HDA_CODEC_CONSTRUCT(IDT, 0x76d1)
  734 #define HDA_CODEC_IDT92HD83C1C  HDA_CODEC_CONSTRUCT(IDT, 0x76d4)
  735 #define HDA_CODEC_IDT92HD81B1C  HDA_CODEC_CONSTRUCT(IDT, 0x76d5)
  736 #define HDA_CODEC_IDT92HD87B2_4 HDA_CODEC_CONSTRUCT(IDT, 0x76d9)
  737 #define HDA_CODEC_IDT92HD93BXX  HDA_CODEC_CONSTRUCT(IDT, 0x76df)
  738 #define HDA_CODEC_IDT92HD91BXX  HDA_CODEC_CONSTRUCT(IDT, 0x76e0)
  739 #define HDA_CODEC_IDT92HD98BXX  HDA_CODEC_CONSTRUCT(IDT, 0x76e3)
  740 #define HDA_CODEC_IDT92HD99BXX  HDA_CODEC_CONSTRUCT(IDT, 0x76e5)
  741 #define HDA_CODEC_IDT92HD90BXX  HDA_CODEC_CONSTRUCT(IDT, 0x76e7)
  742 #define HDA_CODEC_IDT92HD66B1X5 HDA_CODEC_CONSTRUCT(IDT, 0x76e8)
  743 #define HDA_CODEC_IDT92HD66B2X5 HDA_CODEC_CONSTRUCT(IDT, 0x76e9)
  744 #define HDA_CODEC_IDT92HD66B3X5 HDA_CODEC_CONSTRUCT(IDT, 0x76ea)
  745 #define HDA_CODEC_IDT92HD66C1X5 HDA_CODEC_CONSTRUCT(IDT, 0x76eb)
  746 #define HDA_CODEC_IDT92HD66C2X5 HDA_CODEC_CONSTRUCT(IDT, 0x76ec)
  747 #define HDA_CODEC_IDT92HD66C3X5 HDA_CODEC_CONSTRUCT(IDT, 0x76ed)
  748 #define HDA_CODEC_IDT92HD66B1X3 HDA_CODEC_CONSTRUCT(IDT, 0x76ee)
  749 #define HDA_CODEC_IDT92HD66B2X3 HDA_CODEC_CONSTRUCT(IDT, 0x76ef)
  750 #define HDA_CODEC_IDT92HD66B3X3 HDA_CODEC_CONSTRUCT(IDT, 0x76f0)
  751 #define HDA_CODEC_IDT92HD66C1X3 HDA_CODEC_CONSTRUCT(IDT, 0x76f1)
  752 #define HDA_CODEC_IDT92HD66C2X3 HDA_CODEC_CONSTRUCT(IDT, 0x76f2)
  753 #define HDA_CODEC_IDT92HD66C3_65        HDA_CODEC_CONSTRUCT(IDT, 0x76f3)
  754 #define HDA_CODEC_IDTXXXX       HDA_CODEC_CONSTRUCT(IDT, 0xffff)
  755 
  756 /* Silicon Image */
  757 #define SII_VENDORID    0x1095
  758 #define HDA_CODEC_SII1390       HDA_CODEC_CONSTRUCT(SII, 0x1390)
  759 #define HDA_CODEC_SII1392       HDA_CODEC_CONSTRUCT(SII, 0x1392)
  760 #define HDA_CODEC_SIIXXXX       HDA_CODEC_CONSTRUCT(SII, 0xffff)
  761 
  762 /* Lucent/Agere */
  763 #define AGERE_VENDORID  0x11c1
  764 #define HDA_CODEC_AGEREXXXX     HDA_CODEC_CONSTRUCT(AGERE, 0xffff)
  765 
  766 /* Conexant */
  767 #define CONEXANT_VENDORID       0x14f1
  768 #define HDA_CODEC_CX20549       HDA_CODEC_CONSTRUCT(CONEXANT, 0x5045)
  769 #define HDA_CODEC_CX20551       HDA_CODEC_CONSTRUCT(CONEXANT, 0x5047)
  770 #define HDA_CODEC_CX20561       HDA_CODEC_CONSTRUCT(CONEXANT, 0x5051)
  771 #define HDA_CODEC_CX20582       HDA_CODEC_CONSTRUCT(CONEXANT, 0x5066)
  772 #define HDA_CODEC_CX20583       HDA_CODEC_CONSTRUCT(CONEXANT, 0x5067)
  773 #define HDA_CODEC_CX20584       HDA_CODEC_CONSTRUCT(CONEXANT, 0x5068)
  774 #define HDA_CODEC_CX20585       HDA_CODEC_CONSTRUCT(CONEXANT, 0x5069)
  775 #define HDA_CODEC_CX20588       HDA_CODEC_CONSTRUCT(CONEXANT, 0x506c)
  776 #define HDA_CODEC_CX20590       HDA_CODEC_CONSTRUCT(CONEXANT, 0x506e)
  777 #define HDA_CODEC_CX20631       HDA_CODEC_CONSTRUCT(CONEXANT, 0x5097)
  778 #define HDA_CODEC_CX20632       HDA_CODEC_CONSTRUCT(CONEXANT, 0x5098)
  779 #define HDA_CODEC_CX20641       HDA_CODEC_CONSTRUCT(CONEXANT, 0x50a1)
  780 #define HDA_CODEC_CX20642       HDA_CODEC_CONSTRUCT(CONEXANT, 0x50a2)
  781 #define HDA_CODEC_CX20651       HDA_CODEC_CONSTRUCT(CONEXANT, 0x50ab)
  782 #define HDA_CODEC_CX20652       HDA_CODEC_CONSTRUCT(CONEXANT, 0x50ac)
  783 #define HDA_CODEC_CX20664       HDA_CODEC_CONSTRUCT(CONEXANT, 0x50b8)
  784 #define HDA_CODEC_CX20665       HDA_CODEC_CONSTRUCT(CONEXANT, 0x50b9)
  785 #define HDA_CODEC_CX21722       HDA_CODEC_CONSTRUCT(CONEXANT, 0x50f1)
  786 #define HDA_CODEC_CX20722       HDA_CODEC_CONSTRUCT(CONEXANT, 0x50f2)
  787 #define HDA_CODEC_CX21724       HDA_CODEC_CONSTRUCT(CONEXANT, 0x50f3)
  788 #define HDA_CODEC_CX20724       HDA_CODEC_CONSTRUCT(CONEXANT, 0x50f4)
  789 #define HDA_CODEC_CX20751       HDA_CODEC_CONSTRUCT(CONEXANT, 0x510f)
  790 #define HDA_CODEC_CX20751_2     HDA_CODEC_CONSTRUCT(CONEXANT, 0x5110)
  791 #define HDA_CODEC_CX20753       HDA_CODEC_CONSTRUCT(CONEXANT, 0x5111)
  792 #define HDA_CODEC_CX20755       HDA_CODEC_CONSTRUCT(CONEXANT, 0x5113)
  793 #define HDA_CODEC_CX20756       HDA_CODEC_CONSTRUCT(CONEXANT, 0x5114)
  794 #define HDA_CODEC_CX20757       HDA_CODEC_CONSTRUCT(CONEXANT, 0x5115)
  795 #define HDA_CODEC_CX20952       HDA_CODEC_CONSTRUCT(CONEXANT, 0x51d7)
  796 #define HDA_CODEC_CXXXXX        HDA_CODEC_CONSTRUCT(CONEXANT, 0xffff)
  797 
  798 /* VIA */
  799 #define HDA_CODEC_VT1708_8      HDA_CODEC_CONSTRUCT(VIA, 0x1708)
  800 #define HDA_CODEC_VT1708_9      HDA_CODEC_CONSTRUCT(VIA, 0x1709)
  801 #define HDA_CODEC_VT1708_A      HDA_CODEC_CONSTRUCT(VIA, 0x170a)
  802 #define HDA_CODEC_VT1708_B      HDA_CODEC_CONSTRUCT(VIA, 0x170b)
  803 #define HDA_CODEC_VT1709_0      HDA_CODEC_CONSTRUCT(VIA, 0xe710)
  804 #define HDA_CODEC_VT1709_1      HDA_CODEC_CONSTRUCT(VIA, 0xe711)
  805 #define HDA_CODEC_VT1709_2      HDA_CODEC_CONSTRUCT(VIA, 0xe712)
  806 #define HDA_CODEC_VT1709_3      HDA_CODEC_CONSTRUCT(VIA, 0xe713)
  807 #define HDA_CODEC_VT1709_4      HDA_CODEC_CONSTRUCT(VIA, 0xe714)
  808 #define HDA_CODEC_VT1709_5      HDA_CODEC_CONSTRUCT(VIA, 0xe715)
  809 #define HDA_CODEC_VT1709_6      HDA_CODEC_CONSTRUCT(VIA, 0xe716)
  810 #define HDA_CODEC_VT1709_7      HDA_CODEC_CONSTRUCT(VIA, 0xe717)
  811 #define HDA_CODEC_VT1708B_0     HDA_CODEC_CONSTRUCT(VIA, 0xe720)
  812 #define HDA_CODEC_VT1708B_1     HDA_CODEC_CONSTRUCT(VIA, 0xe721)
  813 #define HDA_CODEC_VT1708B_2     HDA_CODEC_CONSTRUCT(VIA, 0xe722)
  814 #define HDA_CODEC_VT1708B_3     HDA_CODEC_CONSTRUCT(VIA, 0xe723)
  815 #define HDA_CODEC_VT1708B_4     HDA_CODEC_CONSTRUCT(VIA, 0xe724)
  816 #define HDA_CODEC_VT1708B_5     HDA_CODEC_CONSTRUCT(VIA, 0xe725)
  817 #define HDA_CODEC_VT1708B_6     HDA_CODEC_CONSTRUCT(VIA, 0xe726)
  818 #define HDA_CODEC_VT1708B_7     HDA_CODEC_CONSTRUCT(VIA, 0xe727)
  819 #define HDA_CODEC_VT1708S_0     HDA_CODEC_CONSTRUCT(VIA, 0x0397)
  820 #define HDA_CODEC_VT1708S_1     HDA_CODEC_CONSTRUCT(VIA, 0x1397)
  821 #define HDA_CODEC_VT1708S_2     HDA_CODEC_CONSTRUCT(VIA, 0x2397)
  822 #define HDA_CODEC_VT1708S_3     HDA_CODEC_CONSTRUCT(VIA, 0x3397)
  823 #define HDA_CODEC_VT1708S_4     HDA_CODEC_CONSTRUCT(VIA, 0x4397)
  824 #define HDA_CODEC_VT1708S_5     HDA_CODEC_CONSTRUCT(VIA, 0x5397)
  825 #define HDA_CODEC_VT1708S_6     HDA_CODEC_CONSTRUCT(VIA, 0x6397)
  826 #define HDA_CODEC_VT1708S_7     HDA_CODEC_CONSTRUCT(VIA, 0x7397)
  827 #define HDA_CODEC_VT1702_0      HDA_CODEC_CONSTRUCT(VIA, 0x0398)
  828 #define HDA_CODEC_VT1702_1      HDA_CODEC_CONSTRUCT(VIA, 0x1398)
  829 #define HDA_CODEC_VT1702_2      HDA_CODEC_CONSTRUCT(VIA, 0x2398)
  830 #define HDA_CODEC_VT1702_3      HDA_CODEC_CONSTRUCT(VIA, 0x3398)
  831 #define HDA_CODEC_VT1702_4      HDA_CODEC_CONSTRUCT(VIA, 0x4398)
  832 #define HDA_CODEC_VT1702_5      HDA_CODEC_CONSTRUCT(VIA, 0x5398)
  833 #define HDA_CODEC_VT1702_6      HDA_CODEC_CONSTRUCT(VIA, 0x6398)
  834 #define HDA_CODEC_VT1702_7      HDA_CODEC_CONSTRUCT(VIA, 0x7398)
  835 #define HDA_CODEC_VT1716S_0     HDA_CODEC_CONSTRUCT(VIA, 0x0433)
  836 #define HDA_CODEC_VT1716S_1     HDA_CODEC_CONSTRUCT(VIA, 0xa721)
  837 #define HDA_CODEC_VT1718S_0     HDA_CODEC_CONSTRUCT(VIA, 0x0428)
  838 #define HDA_CODEC_VT1718S_1     HDA_CODEC_CONSTRUCT(VIA, 0x4428)
  839 #define HDA_CODEC_VT1802_0      HDA_CODEC_CONSTRUCT(VIA, 0x0446)
  840 #define HDA_CODEC_VT1802_1      HDA_CODEC_CONSTRUCT(VIA, 0x8446)
  841 #define HDA_CODEC_VT1812        HDA_CODEC_CONSTRUCT(VIA, 0x0448)
  842 #define HDA_CODEC_VT1818S       HDA_CODEC_CONSTRUCT(VIA, 0x0440)
  843 #define HDA_CODEC_VT1828S       HDA_CODEC_CONSTRUCT(VIA, 0x4441)
  844 #define HDA_CODEC_VT2002P_0     HDA_CODEC_CONSTRUCT(VIA, 0x0438)
  845 #define HDA_CODEC_VT2002P_1     HDA_CODEC_CONSTRUCT(VIA, 0x4438)
  846 #define HDA_CODEC_VT2020        HDA_CODEC_CONSTRUCT(VIA, 0x0441)
  847 #define HDA_CODEC_VTXXXX        HDA_CODEC_CONSTRUCT(VIA, 0xffff)
  848 
  849 /* VMware */
  850 #define HDA_CODEC_VMWARE        HDA_CODEC_CONSTRUCT(VMWARE, 0x1975)
  851 #define HDA_CODEC_VMWAREXXXX    HDA_CODEC_CONSTRUCT(VMWARE, 0xffff)
  852 
  853 /* ATI */
  854 #define HDA_CODEC_ATIRS600_1    HDA_CODEC_CONSTRUCT(ATI, 0x793c)
  855 #define HDA_CODEC_ATIRS600_2    HDA_CODEC_CONSTRUCT(ATI, 0x7919)
  856 #define HDA_CODEC_ATIRS690      HDA_CODEC_CONSTRUCT(ATI, 0x791a)
  857 #define HDA_CODEC_ATIR6XX       HDA_CODEC_CONSTRUCT(ATI, 0xaa01)
  858 #define HDA_CODEC_ATIXXXX       HDA_CODEC_CONSTRUCT(ATI, 0xffff)
  859 
  860 /* NVIDIA */
  861 #define HDA_CODEC_NVIDIAMCP78   HDA_CODEC_CONSTRUCT(NVIDIA, 0x0002)
  862 #define HDA_CODEC_NVIDIAMCP78_2 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0003)
  863 #define HDA_CODEC_NVIDIAMCP78_3 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0005)
  864 #define HDA_CODEC_NVIDIAMCP78_4 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0006)
  865 #define HDA_CODEC_NVIDIAMCP7A   HDA_CODEC_CONSTRUCT(NVIDIA, 0x0007)
  866 #define HDA_CODEC_NVIDIAGT220   HDA_CODEC_CONSTRUCT(NVIDIA, 0x000a)
  867 #define HDA_CODEC_NVIDIAGT21X   HDA_CODEC_CONSTRUCT(NVIDIA, 0x000b)
  868 #define HDA_CODEC_NVIDIAMCP89   HDA_CODEC_CONSTRUCT(NVIDIA, 0x000c)
  869 #define HDA_CODEC_NVIDIAGT240   HDA_CODEC_CONSTRUCT(NVIDIA, 0x000d)
  870 #define HDA_CODEC_NVIDIAGTS450  HDA_CODEC_CONSTRUCT(NVIDIA, 0x0011)
  871 #define HDA_CODEC_NVIDIAGT440   HDA_CODEC_CONSTRUCT(NVIDIA, 0x0014)
  872 #define HDA_CODEC_NVIDIAGTX550  HDA_CODEC_CONSTRUCT(NVIDIA, 0x0015)
  873 #define HDA_CODEC_NVIDIAGTX570  HDA_CODEC_CONSTRUCT(NVIDIA, 0x0018)
  874 #define HDA_CODEC_NVIDIATEGRA30 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0020)
  875 #define HDA_CODEC_NVIDIATEGRA114 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0022)
  876 #define HDA_CODEC_NVIDIATEGRA124 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0028)
  877 #define HDA_CODEC_NVIDIATEGRA210 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0029)
  878 #define HDA_CODEC_NVIDIAMCP67   HDA_CODEC_CONSTRUCT(NVIDIA, 0x0067)
  879 #define HDA_CODEC_NVIDIAMCP73   HDA_CODEC_CONSTRUCT(NVIDIA, 0x8001)
  880 #define HDA_CODEC_NVIDIAXXXX    HDA_CODEC_CONSTRUCT(NVIDIA, 0xffff)
  881 
  882 /* Chrontel */
  883 #define CHRONTEL_VENDORID       0x17e8
  884 #define HDA_CODEC_CHXXXX        HDA_CODEC_CONSTRUCT(CHRONTEL, 0xffff)
  885 
  886 /* INTEL */
  887 #define HDA_CODEC_INTELIP       HDA_CODEC_CONSTRUCT(INTEL, 0x0054)
  888 #define HDA_CODEC_INTELGMLK     HDA_CODEC_CONSTRUCT(INTEL, 0x2800)
  889 #define HDA_CODEC_INTELBL       HDA_CODEC_CONSTRUCT(INTEL, 0x2801)
  890 #define HDA_CODEC_INTELCA       HDA_CODEC_CONSTRUCT(INTEL, 0x2802)
  891 #define HDA_CODEC_INTELEL       HDA_CODEC_CONSTRUCT(INTEL, 0x2803)
  892 #define HDA_CODEC_INTELIP2      HDA_CODEC_CONSTRUCT(INTEL, 0x2804)
  893 #define HDA_CODEC_INTELCPT      HDA_CODEC_CONSTRUCT(INTEL, 0x2805)
  894 #define HDA_CODEC_INTELPPT      HDA_CODEC_CONSTRUCT(INTEL, 0x2806)
  895 #define HDA_CODEC_INTELHSW      HDA_CODEC_CONSTRUCT(INTEL, 0x2807)
  896 #define HDA_CODEC_INTELBDW      HDA_CODEC_CONSTRUCT(INTEL, 0x2808)
  897 #define HDA_CODEC_INTELSKLK     HDA_CODEC_CONSTRUCT(INTEL, 0x2809)
  898 #define HDA_CODEC_INTELBXTN     HDA_CODEC_CONSTRUCT(INTEL, 0x280a)
  899 #define HDA_CODEC_INTELKBLK     HDA_CODEC_CONSTRUCT(INTEL, 0x280b)
  900 #define HDA_CODEC_INTELCNLK     HDA_CODEC_CONSTRUCT(INTEL, 0x280c)
  901 #define HDA_CODEC_INTELGMLK1    HDA_CODEC_CONSTRUCT(INTEL, 0x280d)
  902 #define HDA_CODEC_INTELICLK     HDA_CODEC_CONSTRUCT(INTEL, 0x280f)
  903 #define HDA_CODEC_INTELTGLK     HDA_CODEC_CONSTRUCT(INTEL, 0x2812)
  904 #define HDA_CODEC_INTELALLK     HDA_CODEC_CONSTRUCT(INTEL, 0x2815)
  905 #define HDA_CODEC_INTELJLK      HDA_CODEC_CONSTRUCT(INTEL, 0x281a)
  906 #define HDA_CODEC_INTELELLK     HDA_CODEC_CONSTRUCT(INTEL, 0x281b)
  907 #define HDA_CODEC_INTELCT       HDA_CODEC_CONSTRUCT(INTEL, 0x2880)
  908 #define HDA_CODEC_INTELVV2      HDA_CODEC_CONSTRUCT(INTEL, 0x2882)
  909 #define HDA_CODEC_INTELBR       HDA_CODEC_CONSTRUCT(INTEL, 0x2883)
  910 #define HDA_CODEC_INTELCL       HDA_CODEC_CONSTRUCT(INTEL, 0x29fb)
  911 #define HDA_CODEC_INTELXXXX     HDA_CODEC_CONSTRUCT(INTEL, 0xffff)
  912 
  913 /****************************************************************************
  914  * Helper Macros
  915  ****************************************************************************/
  916 
  917 #define HDA_DMA_ALIGNMENT       128
  918 
  919 #define HDA_BDL_MIN             2
  920 #define HDA_BDL_MAX             256
  921 #define HDA_BDL_DEFAULT         HDA_BDL_MIN
  922 
  923 #define HDA_BLK_MIN             HDA_DMA_ALIGNMENT
  924 #define HDA_BLK_ALIGN           (~(HDA_BLK_MIN - 1))
  925 
  926 #define HDA_BUFSZ_MIN           (HDA_BDL_MIN * HDA_BLK_MIN)
  927 #define HDA_BUFSZ_MAX           262144
  928 #define HDA_BUFSZ_DEFAULT       65536
  929 
  930 #define HDA_GPIO_MAX            8
  931 
  932 #define HDA_DEV_MATCH(fl, v)    ((fl) == (v) || \
  933                                 (fl) == 0xffffffff || \
  934                                 (((fl) & 0xffff0000) == 0xffff0000 && \
  935                                 ((fl) & 0x0000ffff) == ((v) & 0x0000ffff)) || \
  936                                 (((fl) & 0x0000ffff) == 0x0000ffff && \
  937                                 ((fl) & 0xffff0000) == ((v) & 0xffff0000)))
  938 #define HDA_MATCH_ALL           0xffffffff
  939 #define HDA_INVALID             0xffffffff
  940 
  941 #define HDA_BOOTVERBOSE(stmt)   do {                    \
  942         if (bootverbose != 0 || snd_verbose > 3) {      \
  943                 stmt                                    \
  944         }                                               \
  945 } while (0)
  946 
  947 #define HDA_BOOTHVERBOSE(stmt)  do {                    \
  948         if (snd_verbose > 3) {                          \
  949                 stmt                                    \
  950         }                                               \
  951 } while (0)
  952 
  953 #define hda_command(dev, verb)                                  \
  954     HDAC_CODEC_COMMAND(device_get_parent(dev), (dev), (verb))
  955 
  956 typedef int nid_t;
  957 
  958 /****************************************************************************
  959  * Simplified Accessors for HDA devices
  960  ****************************************************************************/
  961 
  962 enum hdac_device_ivars {
  963     HDA_IVAR_CODEC_ID,
  964     HDA_IVAR_NODE_ID,
  965     HDA_IVAR_VENDOR_ID,
  966     HDA_IVAR_DEVICE_ID,
  967     HDA_IVAR_REVISION_ID,
  968     HDA_IVAR_STEPPING_ID,
  969     HDA_IVAR_SUBVENDOR_ID,
  970     HDA_IVAR_SUBDEVICE_ID,
  971     HDA_IVAR_SUBSYSTEM_ID,
  972     HDA_IVAR_NODE_TYPE,
  973     HDA_IVAR_DMA_NOCACHE,
  974     HDA_IVAR_STRIPES_MASK,
  975 };
  976 
  977 #define HDA_ACCESSOR(var, ivar, type)                                   \
  978     __BUS_ACCESSOR(hda, var, HDA, ivar, type)
  979 
  980 HDA_ACCESSOR(codec_id,          CODEC_ID,       uint8_t);
  981 HDA_ACCESSOR(node_id,           NODE_ID,        uint8_t);
  982 HDA_ACCESSOR(vendor_id,         VENDOR_ID,      uint16_t);
  983 HDA_ACCESSOR(device_id,         DEVICE_ID,      uint16_t);
  984 HDA_ACCESSOR(revision_id,       REVISION_ID,    uint8_t);
  985 HDA_ACCESSOR(stepping_id,       STEPPING_ID,    uint8_t);
  986 HDA_ACCESSOR(subvendor_id,      SUBVENDOR_ID,   uint16_t);
  987 HDA_ACCESSOR(subdevice_id,      SUBDEVICE_ID,   uint16_t);
  988 HDA_ACCESSOR(subsystem_id,      SUBSYSTEM_ID,   uint32_t);
  989 HDA_ACCESSOR(node_type,         NODE_TYPE,      uint8_t);
  990 HDA_ACCESSOR(dma_nocache,       DMA_NOCACHE,    uint8_t);
  991 HDA_ACCESSOR(stripes_mask,      STRIPES_MASK,   uint8_t);
  992 
  993 #define PCIS_MULTIMEDIA_HDA    0x03
  994 
  995 #endif

Cache object: f71b62c5e9ebfe30ee7877490d474e48


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.