OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
OcHdaDevicesLib.c
Go to the documentation of this file.
1
9#include <Uefi.h>
10#include <Library/BaseLib.h>
11#include <Library/BaseMemoryLib.h>
12#include <Library/MemoryAllocationLib.h>
13#include <Library/DebugLib.h>
14#include <Library/PrintLib.h>
15#include <Library/UefiLib.h>
17
19
20//
21// Controller models.
22//
27 { HDA_CONTROLLER (AMD, 0x437B), "AMD SB4x0 HD Audio Controller" },
28 { HDA_CONTROLLER (AMD, 0x4383), "AMD SB600 HD Audio Controller" },
29 { HDA_CONTROLLER (AMD, 0x780D), "AMD Hudson HD Audio Controller" },
30 { HDA_CONTROLLER (AMD, 0x7919), "AMD RS690 HD Audio Controller" },
31 { HDA_CONTROLLER (AMD, 0x793B), "AMD RS600 HD Audio Controller" },
32 { HDA_CONTROLLER (AMD, 0x960F), "AMD RS780 HD Audio Controller" },
33 { HDA_CONTROLLER (AMD, 0x970F), "AMD RS880 HD Audio Controller" },
34 { HDA_CONTROLLER (AMD, 0x9902), "AMD Trinity HD Audio Controller" },
35 { HDA_CONTROLLER (AMD, 0xAA00), "AMD R600 HD Audio Controller" },
36 { HDA_CONTROLLER (AMD, 0xAA08), "AMD RV630 HD Audio Controller" },
37 { HDA_CONTROLLER (AMD, 0xAA10), "AMD RV610 HD Audio Controller" },
38 { HDA_CONTROLLER (AMD, 0xAA18), "AMD RV670/680 HD Audio Controller" },
39 { HDA_CONTROLLER (AMD, 0xAA20), "AMD RV635 HD Audio Controller" },
40 { HDA_CONTROLLER (AMD, 0xAA28), "AMD RV620 HD Audio Controller" },
41 { HDA_CONTROLLER (AMD, 0xAA30), "AMD RV770 HD Audio Controller" },
42 { HDA_CONTROLLER (AMD, 0xAA38), "AMD RV730 HD Audio Controller" },
43 { HDA_CONTROLLER (AMD, 0xAA40), "AMD RV710 HD Audio Controller" },
44 { HDA_CONTROLLER (AMD, 0xAA48), "AMD RV740 HD Audio Controller" },
45 { HDA_CONTROLLER (AMD, 0xAA50), "AMD RV870 HD Audio Controller" },
46 { HDA_CONTROLLER (AMD, 0xAA58), "AMD RV840 HD Audio Controller" },
47 { HDA_CONTROLLER (AMD, 0xAA60), "AMD RV830 HD Audio Controller" },
48 { HDA_CONTROLLER (AMD, 0xAA68), "AMD RV810 HD Audio Controller" },
49 { HDA_CONTROLLER (AMD, 0xAA80), "AMD RV970 HD Audio Controller" },
50 { HDA_CONTROLLER (AMD, 0xAA88), "AMD RV940 HD Audio Controller" },
51 { HDA_CONTROLLER (AMD, 0xAA90), "AMD RV930 HD Audio Controller" },
52 { HDA_CONTROLLER (AMD, 0xAA98), "AMD RV910 HD Audio Controller" },
53 { HDA_CONTROLLER (AMD, 0xAAA0), "AMD R1000 HD Audio Controller" },
54 { HDA_CONTROLLER (AMD, 0xAAA8), "AMD SI HD Audio Controller" },
55 { HDA_CONTROLLER (AMD, 0xAAB0), "AMD Cape Verde HD Audio Controller" },
56 { HDA_CONTROLLER (AMD, 0xAAE0), "AMD Buffin HD Audio Controller" },
57 { HDA_CONTROLLER (AMD, 0xAAF0), "AMD Ellesmere HD Audio Controller" },
58 { HDA_CONTROLLER (AMD, 0xFFFF), "AMD HD Audio Controller" },
62 { HDA_CONTROLLER (INTEL, 0x080A), "Intel Oaktrail HD Audio Controller" },
63 { HDA_CONTROLLER (INTEL, 0x0A0C), "Intel Haswell HD Audio Controller" },
64 { HDA_CONTROLLER (INTEL, 0x0C0C), "Intel Ivy Bridge/Haswell HD Audio Controller" },
65 { HDA_CONTROLLER (INTEL, 0x0D0C), "Intel Crystal Well HD Audio Controller" },
66 { HDA_CONTROLLER (INTEL, 0x0F04), "Intel BayTrail HD Audio Controller" },
67 { HDA_CONTROLLER (INTEL, 0x160C), "Intel Broadwell HD Audio Controller" },
68 { HDA_CONTROLLER (INTEL, 0x1A98), "Intel Broxton-T HD Audio Controller" },
69 { HDA_CONTROLLER (INTEL, 0x1C20), "Intel 6 Series HD Audio Controller" },
70 { HDA_CONTROLLER (INTEL, 0x1D20), "Intel X79/C600 Series HD Audio Controller" },
71 { HDA_CONTROLLER (INTEL, 0x1E20), "Intel 7 Series HD Audio Controller" },
72 { HDA_CONTROLLER (INTEL, 0x2284), "Intel Braswell HD Audio Controller" },
73 { HDA_CONTROLLER (INTEL, 0x2668), "Intel ICH6 HD Audio Controller" },
74 { HDA_CONTROLLER (INTEL, 0x269A), "Intel 63XXESB HD Audio Controller" },
75 { HDA_CONTROLLER (INTEL, 0x27D8), "Intel ICH7 HD Audio Controller" },
76 { HDA_CONTROLLER (INTEL, 0x284B), "Intel ICH8 HD Audio Controller" },
77 { HDA_CONTROLLER (INTEL, 0x293E), "Intel ICH9 HD Audio Controller" },
78 { HDA_CONTROLLER (INTEL, 0x293F), "Intel ICH9 HD Audio Controller" },
79 { HDA_CONTROLLER (INTEL, 0x3A3E), "Intel ICH10 HD Audio Controller" },
80 { HDA_CONTROLLER (INTEL, 0x3A6E), "Intel ICH10 HD Audio Controller" },
81 { HDA_CONTROLLER (INTEL, 0x3B56), "Intel 5 Series/3400 Series HD Audio Controller" },
82 { HDA_CONTROLLER (INTEL, 0x3B57), "Intel 5 Series/3400 Series HD Audio Controller" },
83 { HDA_CONTROLLER (INTEL, 0x5A98), "Intel Apollolake HD Audio Controller" },
84 { HDA_CONTROLLER (INTEL, 0x811B), "Intel Poulsbo HD Audio Controller" },
85 { HDA_CONTROLLER (INTEL, 0x8C20), "Intel 8 Series HD Audio Controller" },
86 { HDA_CONTROLLER (INTEL, 0x8C21), "Intel 8 Series HD Audio Controller" },
87 { HDA_CONTROLLER (INTEL, 0x8CA0), "Intel 9 Series HD Audio Controller" },
88 { HDA_CONTROLLER (INTEL, 0x8D20), "Intel X99/C610 Series HD Audio Controller" },
89 { HDA_CONTROLLER (INTEL, 0x8D21), "Intel X99/C610 Series HD Audio Controller" },
90 { HDA_CONTROLLER (INTEL, 0x9C20), "Intel 8 Series HD Audio Controller" },
91 { HDA_CONTROLLER (INTEL, 0x9C21), "Intel 8 Series HD Audio Controller" },
92 { HDA_CONTROLLER (INTEL, 0x9CA0), "Intel 9 Series HD Audio Controller" },
93 { HDA_CONTROLLER (INTEL, 0x9D70), "Intel Sunrise Point-LP HD Audio Controller" },
94 { HDA_CONTROLLER (INTEL, 0x9D71), "Intel Kabylake-LP HD Audio Controller" },
95 { HDA_CONTROLLER (INTEL, 0xA170), "Intel 100 Series/C230 Series HD Audio Controller" },
96 { HDA_CONTROLLER (INTEL, 0xA171), "Intel CM238 HD Audio Controller" },
97 { HDA_CONTROLLER (INTEL, 0xA1F0), "Intel Lewisburg HD Audio Controller" },
98 { HDA_CONTROLLER (INTEL, 0xA270), "Intel Lewisburg HD Audio Controller" },
99 { HDA_CONTROLLER (INTEL, 0xA2F0), "Intel 200 Series HD Audio Controller" },
100 { HDA_CONTROLLER (INTEL, 0xA348), "Intel 300 Series HD Audio Controller" },
101 { HDA_CONTROLLER (INTEL, 0x06C8), "Intel Comet Lake HD Audio Controller" },
102 { HDA_CONTROLLER (INTEL, 0x02C8), "Intel Comet Lake-LP HD Audio Controller" },
103 { HDA_CONTROLLER (INTEL, 0xFFFF), "Intel HD Audio Controller" },
107 { HDA_CONTROLLER (NVIDIA, 0x026C), "Nvidia MCP51 HD Audio Controller" },
108 { HDA_CONTROLLER (NVIDIA, 0x0371), "Nvidia MCP55 HD Audio Controller" },
109 { HDA_CONTROLLER (NVIDIA, 0x03E4), "Nvidia MCP61 HD Audio Controller" },
110 { HDA_CONTROLLER (NVIDIA, 0x03F0), "Nvidia MCP61 HD Audio Controller" },
111 { HDA_CONTROLLER (NVIDIA, 0x044A), "Nvidia MCP65 HD Audio Controller" },
112 { HDA_CONTROLLER (NVIDIA, 0x044B), "Nvidia MCP65 HD Audio Controller" },
113 { HDA_CONTROLLER (NVIDIA, 0x055C), "Nvidia MCP67 HD Audio Controller" },
114 { HDA_CONTROLLER (NVIDIA, 0x055D), "Nvidia MCP67 HD Audio Controller" },
115 { HDA_CONTROLLER (NVIDIA, 0x0774), "Nvidia MCP78 HD Audio Controller" },
116 { HDA_CONTROLLER (NVIDIA, 0x0775), "Nvidia MCP78 HD Audio Controller" },
117 { HDA_CONTROLLER (NVIDIA, 0x0776), "Nvidia MCP78 HD Audio Controller" },
118 { HDA_CONTROLLER (NVIDIA, 0x0777), "Nvidia MCP78 HD Audio Controller" },
119 { HDA_CONTROLLER (NVIDIA, 0x07FC), "Nvidia MCP73 HD Audio Controller" },
120 { HDA_CONTROLLER (NVIDIA, 0x07FD), "Nvidia MCP73 HD Audio Controller" },
121 { HDA_CONTROLLER (NVIDIA, 0x0AC0), "Nvidia MCP79 HD Audio Controller" },
122 { HDA_CONTROLLER (NVIDIA, 0x0AC1), "Nvidia MCP79 HD Audio Controller" },
123 { HDA_CONTROLLER (NVIDIA, 0x0AC2), "Nvidia MCP79 HD Audio Controller" },
124 { HDA_CONTROLLER (NVIDIA, 0x0AC3), "Nvidia MCP79 HD Audio Controller" },
125 { HDA_CONTROLLER (NVIDIA, 0x0BE2), "Nvidia GT216 HD Audio Controller" },
126 { HDA_CONTROLLER (NVIDIA, 0x0BE3), "Nvidia GT218 HD Audio Controller" },
127 { HDA_CONTROLLER (NVIDIA, 0x0BE4), "Nvidia GT215 HD Audio Controller" },
128 { HDA_CONTROLLER (NVIDIA, 0x0BE5), "Nvidia GF100 HD Audio Controller" },
129 { HDA_CONTROLLER (NVIDIA, 0x0BE9), "Nvidia GF106 HD Audio Controller" },
130 { HDA_CONTROLLER (NVIDIA, 0x0BEA), "Nvidia GF108 HD Audio Controller" },
131 { HDA_CONTROLLER (NVIDIA, 0x0BEB), "Nvidia GF104 HD Audio Controller" },
132 { HDA_CONTROLLER (NVIDIA, 0x0BEE), "Nvidia GF116 HD Audio Controller" },
133 { HDA_CONTROLLER (NVIDIA, 0x0D94), "Nvidia MCP89 HD Audio Controller" },
134 { HDA_CONTROLLER (NVIDIA, 0x0D95), "Nvidia MCP89 HD Audio Controller" },
135 { HDA_CONTROLLER (NVIDIA, 0x0D96), "Nvidia MCP89 HD Audio Controller" },
136 { HDA_CONTROLLER (NVIDIA, 0x0D97), "Nvidia MCP89 HD Audio Controller" },
137 { HDA_CONTROLLER (NVIDIA, 0x0E08), "Nvidia GF119 HD Audio Controller" },
138 { HDA_CONTROLLER (NVIDIA, 0x0E09), "Nvidia GF110 HD Audio Controller" },
139 { HDA_CONTROLLER (NVIDIA, 0x0E0A), "Nvidia GK104 HD Audio Controller" },
140 { HDA_CONTROLLER (NVIDIA, 0x0E0B), "Nvidia GK106 HD Audio Controller" },
141 { HDA_CONTROLLER (NVIDIA, 0x0E0C), "Nvidia GF114 HD Audio Controller" },
142 { HDA_CONTROLLER (NVIDIA, 0x0E0F), "Nvidia GK208 HD Audio Controller" },
143 { HDA_CONTROLLER (NVIDIA, 0x0E1A), "Nvidia GK110 HD Audio Controller" },
144 { HDA_CONTROLLER (NVIDIA, 0x0E1B), "Nvidia GK107 HD Audio Controller" },
145 { HDA_CONTROLLER (NVIDIA, 0x0FB0), "Nvidia GM200 HD Audio Controller" },
146 { HDA_CONTROLLER (NVIDIA, 0x0FB8), "Nvidia GP108 HD Audio Controller" },
147 { HDA_CONTROLLER (NVIDIA, 0x0FB9), "Nvidia GP107GL HD Audio Controller" },
148 { HDA_CONTROLLER (NVIDIA, 0x0FBA), "Nvidia GM206 HD Audio Controller" },
149 { HDA_CONTROLLER (NVIDIA, 0x0FBB), "Nvidia GM204 HD Audio Controller" },
150 { HDA_CONTROLLER (NVIDIA, 0x0FBC), "Nvidia GM107 HD Audio Controller" },
151 { HDA_CONTROLLER (NVIDIA, 0x10EF), "Nvidia GP102 HD Audio Controller" },
152 { HDA_CONTROLLER (NVIDIA, 0x10F0), "Nvidia GP104 HD Audio Controller" },
153 { HDA_CONTROLLER (NVIDIA, 0x10F1), "Nvidia GP106 HD Audio Controller" },
154 { HDA_CONTROLLER (NVIDIA, 0x10F2), "Nvidia GV100 HD Audio Controller" },
155 { HDA_CONTROLLER (NVIDIA, 0x10F7), "Nvidia TU102 HD Audio Controller" },
156 { HDA_CONTROLLER (NVIDIA, 0x10F8), "Nvidia TU104 HD Audio Controller" },
157 { HDA_CONTROLLER (NVIDIA, 0x10F9), "Nvidia TU106 HD Audio Controller" },
158 { HDA_CONTROLLER (NVIDIA, 0x1AEB), "Nvidia TU116 HD Audio Controller" },
159 { HDA_CONTROLLER (NVIDIA, 0xFFFF), "Nvidia HD Audio Controller" },
163 { HDA_CONTROLLER (RDC, 0x3010), "RDC M3010 HD Audio Controller" },
167 { HDA_CONTROLLER (SIS, 0x7502), "SiS 966 HD Audio Controller" },
168 { HDA_CONTROLLER (SIS, 0xFFFF), "SiS HD Audio Controller" },
172 { HDA_CONTROLLER (ULI, 0x5461), "ULI M5461 HD Audio Controller" },
173 { HDA_CONTROLLER (ULI, 0xFFFF), "ULI HD Audio Controller" },
177 { HDA_CONTROLLER (VIA, 0x3288), "VIA VT8251/8237A HD Audio Controller" },
178 { HDA_CONTROLLER (VIA, 0xFFFF), "VIA HD Audio Controller" },
182 { HDA_CONTROLLER (VMWARE, 0x1977), "VMware HD Audio Controller" },
183 { HDA_CONTROLLER (VMWARE, 0xFFFF), "VMware (Unknown)" },
184};
185
186//
187// Codec models.
188//
189
194 { HDA_CODEC (AMD, 0xFFFF), 0x0000, "AMD (Unknown)" },
198 { HDA_CODEC (ANALOGDEVICES, 0x1882), 0x0000, "Analog Devices AD1882" },
199 { HDA_CODEC (ANALOGDEVICES, 0x882A), 0x0000, "Analog Devices AD1882A" },
200 { HDA_CODEC (ANALOGDEVICES, 0x1883), 0x0000, "Analog Devices AD1883" },
201 { HDA_CODEC (ANALOGDEVICES, 0x1884), 0x0000, "Analog Devices AD1884" },
202 { HDA_CODEC (ANALOGDEVICES, 0x184A), 0x0000, "Analog Devices AD1884A" },
203 { HDA_CODEC (ANALOGDEVICES, 0x1981), 0x0000, "Analog Devices AD1981HD" },
204 { HDA_CODEC (ANALOGDEVICES, 0x1983), 0x0000, "Analog Devices AD1983" },
205 { HDA_CODEC (ANALOGDEVICES, 0x1984), 0x0000, "Analog Devices AD1984" },
206 { HDA_CODEC (ANALOGDEVICES, 0x194A), 0x0000, "Analog Devices AD1984A" },
207 { HDA_CODEC (ANALOGDEVICES, 0x194B), 0x0000, "Analog Devices AD1984B" },
208 { HDA_CODEC (ANALOGDEVICES, 0x1986), 0x0000, "Analog Devices AD1986A" },
209 { HDA_CODEC (ANALOGDEVICES, 0x1987), 0x0000, "Analog Devices AD1987" },
210 { HDA_CODEC (ANALOGDEVICES, 0x1988), 0x0000, "Analog Devices AD1988A" },
211 { HDA_CODEC (ANALOGDEVICES, 0x198B), 0x0000, "Analog Devices AD1988B" },
212 { HDA_CODEC (ANALOGDEVICES, 0x989A), 0x0000, "Analog Devices AD1989A" },
213 { HDA_CODEC (ANALOGDEVICES, 0x989B), 0x0000, "Analog Devices AD2000b" },
214 { HDA_CODEC (ANALOGDEVICES, 0xFFFF), 0x0000, "Analog Devices (Unknown)" },
218 { HDA_CODEC (CIRRUSLOGIC, 0x4206), 0x0000, "Cirrus Logic CS4206" },
219 { HDA_CODEC (CIRRUSLOGIC, 0x4207), 0x0000, "Cirrus Logic CS4207" },
220 { HDA_CODEC (CIRRUSLOGIC, 0x4208), 0x0000, "Cirrus Logic CS4208" },
221 { HDA_CODEC (CIRRUSLOGIC, 0x4210), 0x0000, "Cirrus Logic CS4210" },
222 { HDA_CODEC (CIRRUSLOGIC, 0x4213), 0x0000, "Cirrus Logic CS4213" },
223 { HDA_CODEC (CIRRUSLOGIC, 0xFFFF), 0x0000, "Cirrus Logic (Unknown)" },
227 { HDA_CODEC (CONEXANT, 0x2008), 0x0000, "Conexant CX8200" },
228 { HDA_CODEC (CONEXANT, 0x5045), 0x0000, "Conexant CX20549 (Venice)" },
229 { HDA_CODEC (CONEXANT, 0x5047), 0x0000, "Conexant CX20551 (Waikiki)" },
230 { HDA_CODEC (CONEXANT, 0x5051), 0x0000, "Conexant CX20561 (Hermosa)" },
231 { HDA_CODEC (CONEXANT, 0x5066), 0x0000, "Conexant CX20582 (Pebble)" },
232 { HDA_CODEC (CONEXANT, 0x5067), 0x0000, "Conexant CX20583 (Pebble HSF)" },
233 { HDA_CODEC (CONEXANT, 0x5068), 0x0000, "Conexant CX20584" },
234 { HDA_CODEC (CONEXANT, 0x5069), 0x0000, "Conexant CX20585" },
235 { HDA_CODEC (CONEXANT, 0x506C), 0x0000, "Conexant CX20588" },
236 { HDA_CODEC (CONEXANT, 0x506E), 0x0000, "Conexant CX20590" },
237 { HDA_CODEC (CONEXANT, 0x5097), 0x0000, "Conexant CX20631" },
238 { HDA_CODEC (CONEXANT, 0x5098), 0x0000, "Conexant CX20632" },
239 { HDA_CODEC (CONEXANT, 0x50A1), 0x0000, "Conexant CX20641" },
240 { HDA_CODEC (CONEXANT, 0x50A2), 0x0000, "Conexant CX20642" },
241 { HDA_CODEC (CONEXANT, 0x50AB), 0x0000, "Conexant CX20651" },
242 { HDA_CODEC (CONEXANT, 0x50AC), 0x0000, "Conexant CX20652" },
243 { HDA_CODEC (CONEXANT, 0x50B8), 0x0000, "Conexant CX20664" },
244 { HDA_CODEC (CONEXANT, 0x50B9), 0x0000, "Conexant CX20665" },
245 { HDA_CODEC (CONEXANT, 0x50F4), 0x0000, "Conexant CX20724" },
246 { HDA_CODEC (CONEXANT, 0xFFFF), 0x0000, "Conexant (Unknown)" },
250 { HDA_CODEC (CREATIVE, 0x000A), 0x0000, "Creative CA0110-IBG" },
251 { HDA_CODEC (CREATIVE, 0x000B), 0x0000, "Creative CA0110-IBG" },
252 { HDA_CODEC (CREATIVE, 0x000D), 0x0000, "Creative SB0880 X-Fi" },
253 { HDA_CODEC (CREATIVE, 0x0011), 0x0000, "Creative CA0132" },
254 { HDA_CODEC (CREATIVE, 0xFFFF), 0x0000, "Creative (Unknown)" },
258 { HDA_CODEC (CMEDIA, 0xFFFF), 0x0000, "C-Media (Unknown)" },
259 { HDA_CODEC (CMEDIA2, 0xFFFF), 0x0000, "C-Media (Unknown)" },
263 { HDA_CODEC (SIGMATEL, 0x7698), 0x0000, "IDT 92HD005" },
264 { HDA_CODEC (SIGMATEL, 0x7699), 0x0000, "IDT 92HD005D" },
265 { HDA_CODEC (SIGMATEL, 0x7645), 0x0000, "IDT 92HD206X" },
266 { HDA_CODEC (SIGMATEL, 0x7646), 0x0000, "IDT 92HD206D" },
267 { HDA_CODEC (IDT, 0x76E8), 0x0000, "IDT 92HD66B1X5" },
268 { HDA_CODEC (IDT, 0x76E9), 0x0000, "IDT 92HD66B2X5" },
269 { HDA_CODEC (IDT, 0x76EA), 0x0000, "IDT 92HD66B3X5" },
270 { HDA_CODEC (IDT, 0x76EB), 0x0000, "IDT 92HD66C1X5" },
271 { HDA_CODEC (IDT, 0x76EC), 0x0000, "IDT 92HD66C2X5" },
272 { HDA_CODEC (IDT, 0x76ED), 0x0000, "IDT 92HD66C3X5" },
273 { HDA_CODEC (IDT, 0x76EE), 0x0000, "IDT 92HD66B1X3" },
274 { HDA_CODEC (IDT, 0x76EF), 0x0000, "IDT 92HD66B2X3" },
275 { HDA_CODEC (IDT, 0x76F0), 0x0000, "IDT 92HD66B3X3" },
276 { HDA_CODEC (IDT, 0x76F1), 0x0000, "IDT 92HD66C1X3" },
277 { HDA_CODEC (IDT, 0x76F2), 0x0000, "IDT 92HD66C2X3" },
278 { HDA_CODEC (IDT, 0x76F3), 0x0000, "IDT 92HD66C3_65" },
279 { HDA_CODEC (SIGMATEL, 0x7638), 0x0000, "IDT 92HD700X" },
280 { HDA_CODEC (SIGMATEL, 0x7639), 0x0000, "IDT 92HD700D" },
281 { HDA_CODEC (IDT, 0x76B6), 0x0000, "IDT 92HD71B5" },
282 { HDA_CODEC (IDT, 0x76B7), 0x0000, "IDT 92HD71B5" },
283 { HDA_CODEC (IDT, 0x76B4), 0x0000, "IDT 92HD71B6" },
284 { HDA_CODEC (IDT, 0x76B5), 0x0000, "IDT 92HD71B6" },
285 { HDA_CODEC (IDT, 0x76B2), 0x0000, "IDT 92HD71B7" },
286 { HDA_CODEC (IDT, 0x76B3), 0x0000, "IDT 92HD71B7" },
287 { HDA_CODEC (IDT, 0x76B0), 0x0000, "IDT 92HD71B8" },
288 { HDA_CODEC (IDT, 0x76B1), 0x0000, "IDT 92HD71B8" },
289 { HDA_CODEC (IDT, 0x7675), 0x0000, "IDT 92HD73C1" },
290 { HDA_CODEC (IDT, 0x7674), 0x0000, "IDT 92HD73D1" },
291 { HDA_CODEC (IDT, 0x7676), 0x0000, "IDT 92HD73E1" },
292 { HDA_CODEC (IDT, 0x7608), 0x0000, "IDT 92HD75B3" },
293 { HDA_CODEC (IDT, 0x7603), 0x0000, "IDT 92HD75BX" },
294 { HDA_CODEC (IDT, 0x76D5), 0x0000, "IDT 92HD81B1C" },
295 { HDA_CODEC (IDT, 0x7605), 0x0000, "IDT 92HD81B1X" },
296 { HDA_CODEC (IDT, 0x76D4), 0x0000, "IDT 92HD83C1C" },
297 { HDA_CODEC (IDT, 0x7604), 0x0000, "IDT 92HD83C1X" },
298 { HDA_CODEC (IDT, 0x76D1), 0x0000, "IDT 92HD87B1/3" },
299 { HDA_CODEC (IDT, 0x76D9), 0x0000, "IDT 92HD87B2/4" },
300 { HDA_CODEC (IDT, 0x76C0), 0x0000, "IDT 92HD89C3" },
301 { HDA_CODEC (IDT, 0x76C1), 0x0000, "IDT 92HD89C2" },
302 { HDA_CODEC (IDT, 0x76C2), 0x0000, "IDT 92HD89C1" },
303 { HDA_CODEC (IDT, 0x76C3), 0x0000, "IDT 92HD89B3" },
304 { HDA_CODEC (IDT, 0x76C4), 0x0000, "IDT 92HD89B2" },
305 { HDA_CODEC (IDT, 0x76C5), 0x0000, "IDT 92HD89B1" },
306 { HDA_CODEC (IDT, 0x76C6), 0x0000, "IDT 92HD89E3" },
307 { HDA_CODEC (IDT, 0x76C7), 0x0000, "IDT 92HD89E2" },
308 { HDA_CODEC (IDT, 0x76C8), 0x0000, "IDT 92HD89E1" },
309 { HDA_CODEC (IDT, 0x76C9), 0x0000, "IDT 92HD89D3" },
310 { HDA_CODEC (IDT, 0x76CA), 0x0000, "IDT 92HD89D2" },
311 { HDA_CODEC (IDT, 0x76CB), 0x0000, "IDT 92HD89D1" },
312 { HDA_CODEC (IDT, 0x76CC), 0x0000, "IDT 92HD89F3" },
313 { HDA_CODEC (IDT, 0x76CD), 0x0000, "IDT 92HD89F2" },
314 { HDA_CODEC (IDT, 0x76CE), 0x0000, "IDT 92HD89F1" },
315 { HDA_CODEC (IDT, 0x76E7), 0x0000, "IDT 92HD90BXX" },
316 { HDA_CODEC (IDT, 0x76E0), 0x0000, "IDT 92HD91BXX" },
317 { HDA_CODEC (IDT, 0x76Df), 0x0000, "IDT 92HD93BXX" },
318 { HDA_CODEC (IDT, 0x76E3), 0x0000, "IDT 92HD98BXX" },
319 { HDA_CODEC (IDT, 0x76E5), 0x0000, "IDT 92HD99BXX" },
320 { HDA_CODEC (IDT, 0xFFFF), 0x0000, "IDT (Unknown)" },
324 { HDA_CODEC (INTEL, 0x29FB), 0x0000, "Intel Crestline HDMI" },
325 { HDA_CODEC (INTEL, 0x2801), 0x0000, "Intel Bearlake HDMI" },
326 { HDA_CODEC (INTEL, 0x2802), 0x0000, "Intel Cantiga HDMI" },
327 { HDA_CODEC (INTEL, 0x2803), 0x0000, "Intel Eaglelake HDMI" },
328 { HDA_CODEC (INTEL, 0x2804), 0x0000, "Intel Ibex Peak HDMI" },
329 { HDA_CODEC (INTEL, 0x0054), 0x0000, "Intel Ibex Peak HDMI" },
330 { HDA_CODEC (INTEL, 0x2805), 0x0000, "Intel Cougar Point HDMI" },
331 { HDA_CODEC (INTEL, 0x2806), 0x0000, "Intel Panther Point HDMI" },
332 { HDA_CODEC (INTEL, 0x2807), 0x0000, "Intel Haswell HDMI" },
333 { HDA_CODEC (INTEL, 0x2808), 0x0000, "Intel Broadwell HDMI" },
334 { HDA_CODEC (INTEL, 0x2809), 0x0000, "Intel Skylake HDMI" },
335 { HDA_CODEC (INTEL, 0x280A), 0x0000, "Intel Broxton HDMI" },
336 { HDA_CODEC (INTEL, 0x280B), 0x0000, "Intel Kaby Lake HDMI" },
337 { HDA_CODEC (INTEL, 0x280C), 0x0000, "Intel Cannon Lake HDMI" },
338 { HDA_CODEC (INTEL, 0x280D), 0x0000, "Intel Gemini Lake HDMI" },
339 { HDA_CODEC (INTEL, 0x2800), 0x0000, "Intel Gemini Lake HDMI" },
340 { HDA_CODEC (INTEL, 0xFFFF), 0x0000, "Intel (Unknown)" },
344 { HDA_CODEC (MOTO, 0xFFFF), 0x0000, "Motorola (Unknown)" },
348 { HDA_CODEC (SII, 0xFFFF), 0x0000, "Silicon Image (Unknown)" },
352 { HDA_CODEC (AGERE, 0xFFFF), 0x0000, "LSI (Unknown)" },
356 { HDA_CODEC (CHRONTEL, 0xFFFF), 0x0000, "Chrontel (Unknown)" },
360 { HDA_CODEC (LG, 0xFFFF), 0x0000, "LG (Unknown)" },
364 { HDA_CODEC (WOLFSON, 0xFFFF), 0x0000, "Wolfson Microelectronics (Unknown)" },
368 { HDA_CODEC (QEMU, 0xFFFF), 0x0000, "QEMU (Unknown)" },
372 { HDA_CODEC (NVIDIA, 0xFFFF), 0x0000, "Nvidia (Unknown)" },
376 { HDA_CODEC (VMWARE, 0x1975), 0x0000, "VMware HD Audio Codec" },
377 { HDA_CODEC (VMWARE, 0xFFFF), 0x0000, "VMware (Unknown)" },
381 { HDA_CODEC (REALTEK, 0x0221), 0x0000, "Realtek ALC221" },
382 { HDA_CODEC (REALTEK, 0x0225), 0x0000, "Realtek ALC225" },
383 { HDA_CODEC (REALTEK, 0x0230), 0x0000, "Realtek ALC230" },
384 { HDA_CODEC (REALTEK, 0x0233), 0x0000, "Realtek ALC233" },
385 { HDA_CODEC (REALTEK, 0x0235), 0x0000, "Realtek ALC235" },
386 { HDA_CODEC (REALTEK, 0x0236), 0x0000, "Realtek ALC236" },
387 { HDA_CODEC (REALTEK, 0x0255), 0x0000, "Realtek ALC255" },
388 { HDA_CODEC (REALTEK, 0x0256), 0x0000, "Realtek ALC256" },
389 { HDA_CODEC (REALTEK, 0x0257), 0x0000, "Realtek ALC257" },
390 { HDA_CODEC (REALTEK, 0x0260), 0x0000, "Realtek ALC260" },
391 { HDA_CODEC (REALTEK, 0x0262), 0x0000, "Realtek ALC262" },
392 { HDA_CODEC (REALTEK, 0x0267), 0x0000, "Realtek ALC267" },
393 { HDA_CODEC (REALTEK, 0x0268), 0x0000, "Realtek ALC268" },
394 { HDA_CODEC (REALTEK, 0x0269), 0x0000, "Realtek ALC269" },
395 { HDA_CODEC (REALTEK, 0x0270), 0x0000, "Realtek ALC270" },
396 { HDA_CODEC (REALTEK, 0x0272), 0x0000, "Realtek ALC272" },
397 { HDA_CODEC (REALTEK, 0x0273), 0x0000, "Realtek ALC273" },
398 { HDA_CODEC (REALTEK, 0x0275), 0x0000, "Realtek ALC275" },
399 { HDA_CODEC (REALTEK, 0x0276), 0x0000, "Realtek ALC276" },
400 { HDA_CODEC (REALTEK, 0x0280), 0x0000, "Realtek ALC280" },
401 { HDA_CODEC (REALTEK, 0x0282), 0x0000, "Realtek ALC282" },
402 { HDA_CODEC (REALTEK, 0x0283), 0x0000, "Realtek ALC283" },
403 { HDA_CODEC (REALTEK, 0x0284), 0x0000, "Realtek ALC284" },
404 { HDA_CODEC (REALTEK, 0x0285), 0x0000, "Realtek ALC285" },
405 { HDA_CODEC (REALTEK, 0x0286), 0x0000, "Realtek ALC286" },
406 { HDA_CODEC (REALTEK, 0x0288), 0x0000, "Realtek ALC288" },
407 { HDA_CODEC (REALTEK, 0x0289), 0x0000, "Realtek ALC289" },
408 { HDA_CODEC (REALTEK, 0x0290), 0x0000, "Realtek ALC290" },
409 { HDA_CODEC (REALTEK, 0x0292), 0x0000, "Realtek ALC292" },
410 { HDA_CODEC (REALTEK, 0x0293), 0x0000, "Realtek ALC293" },
411 { HDA_CODEC (REALTEK, 0x0294), 0x0000, "Realtek ALC294" },
412 { HDA_CODEC (REALTEK, 0x0295), 0x0000, "Realtek ALC295" },
413 { HDA_CODEC (REALTEK, 0x0298), 0x0000, "Realtek ALC298" },
414 { HDA_CODEC (REALTEK, 0x0660), 0x0000, "Realtek ALC660" },
415 { HDA_CODEC (REALTEK, 0x0662), 0x0002, "Realtek ALC662v2" },
416 { HDA_CODEC (REALTEK, 0x0662), 0x0000, "Realtek ALC662" },
417 { HDA_CODEC (REALTEK, 0x0663), 0x0000, "Realtek ALC663" },
418 { HDA_CODEC (REALTEK, 0x0665), 0x0000, "Realtek ALC665" },
419 { HDA_CODEC (REALTEK, 0x0668), 0x0000, "Realtek ALC668" },
420 { HDA_CODEC (REALTEK, 0x0670), 0x0000, "Realtek ALC670" },
421 { HDA_CODEC (REALTEK, 0x0671), 0x0000, "Realtek ALC671" },
422 { HDA_CODEC (REALTEK, 0x0680), 0x0000, "Realtek ALC680" },
423 { HDA_CODEC (REALTEK, 0x0861), 0x0000, "Realtek ALC861" },
424 { HDA_CODEC (REALTEK, 0x0862), 0x0000, "Realtek ALC861-VD" },
425 { HDA_CODEC (REALTEK, 0x0880), 0x0000, "Realtek ALC880" },
426 { HDA_CODEC (REALTEK, 0x0882), 0x0000, "Realtek ALC882" },
427 { HDA_CODEC (REALTEK, 0x0883), 0x0000, "Realtek ALC883" },
428 { HDA_CODEC (REALTEK, 0x0885), 0x0103, "Realtek ALC889A" },
429 { HDA_CODEC (REALTEK, 0x0885), 0x0101, "Realtek ALC889A" },
430 { HDA_CODEC (REALTEK, 0x0885), 0x0000, "Realtek ALC885" },
431 { HDA_CODEC (REALTEK, 0x0887), 0x0302, "Realtek ALC888B" },
432 { HDA_CODEC (REALTEK, 0x0887), 0x0002, "Realtek ALC887-VD2" },
433 { HDA_CODEC (REALTEK, 0x0887), 0x0001, "Realtek ALC887-VD" },
434 { HDA_CODEC (REALTEK, 0x0887), 0x0000, "Realtek ALC887" },
435 { HDA_CODEC (REALTEK, 0x0888), 0x0003, "Realtek ALC888S-VD" },
436 { HDA_CODEC (REALTEK, 0x0888), 0x0002, "Realtek ALC888S-VC" },
437 { HDA_CODEC (REALTEK, 0x0888), 0x0001, "Realtek ALC888S" },
438 { HDA_CODEC (REALTEK, 0x0888), 0x0000, "Realtek ALC888" },
439 { HDA_CODEC (REALTEK, 0x0889), 0x0000, "Realtek ALC889" },
440 { HDA_CODEC (REALTEK, 0x0892), 0x0000, "Realtek ALC892" },
441 { HDA_CODEC (REALTEK, 0x0898), 0x0000, "Realtek ALC898" },
442 { HDA_CODEC (REALTEK, 0x0899), 0x0000, "Realtek ALC899" },
443 { HDA_CODEC (REALTEK, 0x0900), 0x0000, "Realtek ALC1150" },
444 { HDA_CODEC (REALTEK, 0x1220), 0x0000, "Realtek ALC1220" },
445 { HDA_CODEC (REALTEK, 0xFFFF), 0x0000, "Realtek (Unknown)" },
449 { HDA_CODEC (SIGMATEL, 0x7661), 0x0000, "Sigmatel CXD9872RD/K" },
450 { HDA_CODEC (SIGMATEL, 0x7664), 0x0000, "Sigmatel CXD9872AKD" },
451 { HDA_CODEC (SIGMATEL, 0x7691), 0x0000, "Sigmatel STAC9200D" },
452 { HDA_CODEC (SIGMATEL, 0x76A2), 0x0000, "Sigmatel STAC9204X" },
453 { HDA_CODEC (SIGMATEL, 0x76A3), 0x0000, "Sigmatel STAC9204D" },
454 { HDA_CODEC (SIGMATEL, 0x76A0), 0x0000, "Sigmatel STAC9205X" },
455 { HDA_CODEC (SIGMATEL, 0x76A1), 0x0000, "Sigmatel STAC9205D" },
456 { HDA_CODEC (SIGMATEL, 0x7690), 0x0000, "Sigmatel STAC9220" },
457 { HDA_CODEC (SIGMATEL, 0x7882), 0x0000, "Sigmatel STAC9220_A1" },
458 { HDA_CODEC (SIGMATEL, 0x7880), 0x0000, "Sigmatel STAC9220_A2" },
459 { HDA_CODEC (SIGMATEL, 0x7680), 0x0000, "Sigmatel STAC9221" },
460 { HDA_CODEC (SIGMATEL, 0x7682), 0x0000, "Sigmatel STAC9221_A2" },
461 { HDA_CODEC (SIGMATEL, 0x7683), 0x0000, "Sigmatel STAC9221D" },
462 { HDA_CODEC (SIGMATEL, 0x7681), 0x0000, "Sigmatel STAC9220D/9223D" },
463 { HDA_CODEC (SIGMATEL, 0x7618), 0x0000, "Sigmatel STAC9227X" },
464 { HDA_CODEC (SIGMATEL, 0x7619), 0x0000, "Sigmatel STAC9227D" },
465 { HDA_CODEC (SIGMATEL, 0x7616), 0x0000, "Sigmatel STAC9228X" },
466 { HDA_CODEC (SIGMATEL, 0x7617), 0x0000, "Sigmatel STAC9228D" },
467 { HDA_CODEC (SIGMATEL, 0x7614), 0x0000, "Sigmatel STAC9229X" },
468 { HDA_CODEC (SIGMATEL, 0x7615), 0x0000, "Sigmatel STAC9229D" },
469 { HDA_CODEC (SIGMATEL, 0x7612), 0x0000, "Sigmatel STAC9230X" },
470 { HDA_CODEC (SIGMATEL, 0x7613), 0x0000, "Sigmatel STAC9230D" },
471 { HDA_CODEC (SIGMATEL, 0x7634), 0x0000, "Sigmatel STAC9250" },
472 { HDA_CODEC (SIGMATEL, 0x7636), 0x0000, "Sigmatel STAC9251" },
473 { HDA_CODEC (SIGMATEL, 0x76A4), 0x0000, "Sigmatel STAC9255" },
474 { HDA_CODEC (SIGMATEL, 0x76A5), 0x0000, "Sigmatel STAC9255D" },
475 { HDA_CODEC (SIGMATEL, 0x76A6), 0x0000, "Sigmatel STAC9254" },
476 { HDA_CODEC (SIGMATEL, 0x76A7), 0x0000, "Sigmatel STAC9254D" },
477 { HDA_CODEC (SIGMATEL, 0x7626), 0x0000, "Sigmatel STAC9271X" },
478 { HDA_CODEC (SIGMATEL, 0x7627), 0x0000, "Sigmatel STAC9271D" },
479 { HDA_CODEC (SIGMATEL, 0x7624), 0x0000, "Sigmatel STAC9272X" },
480 { HDA_CODEC (SIGMATEL, 0x7625), 0x0000, "Sigmatel STAC9272D" },
481 { HDA_CODEC (SIGMATEL, 0x7622), 0x0000, "Sigmatel STAC9273X" },
482 { HDA_CODEC (SIGMATEL, 0x7623), 0x0000, "Sigmatel STAC9273D" },
483 { HDA_CODEC (SIGMATEL, 0x7620), 0x0000, "Sigmatel STAC9274" },
484 { HDA_CODEC (SIGMATEL, 0x7621), 0x0000, "Sigmatel STAC9274D" },
485 { HDA_CODEC (SIGMATEL, 0x7628), 0x0000, "Sigmatel STAC9274X5NH" },
486 { HDA_CODEC (SIGMATEL, 0x7629), 0x0000, "Sigmatel STAC9274D5NH" },
487 { HDA_CODEC (SIGMATEL, 0x7662), 0x0000, "Sigmatel STAC9872AK" },
488 { HDA_CODEC (SIGMATEL, 0xFFFF), 0x0000, "Sigmatel (Unknown)" },
492 { HDA_CODEC (VIA, 0x1708), 0x0000, "VIA VT1708_8" },
493 { HDA_CODEC (VIA, 0x1709), 0x0000, "VIA VT1708_9" },
494 { HDA_CODEC (VIA, 0x170A), 0x0000, "VIA VT1708_A" },
495 { HDA_CODEC (VIA, 0x170B), 0x0000, "VIA VT1708_B" },
496 { HDA_CODEC (VIA, 0xE710), 0x0000, "VIA VT1709_0" },
497 { HDA_CODEC (VIA, 0xE711), 0x0000, "VIA VT1709_1" },
498 { HDA_CODEC (VIA, 0xE712), 0x0000, "VIA VT1709_2" },
499 { HDA_CODEC (VIA, 0xE713), 0x0000, "VIA VT1709_3" },
500 { HDA_CODEC (VIA, 0xE714), 0x0000, "VIA VT1709_4" },
501 { HDA_CODEC (VIA, 0xE715), 0x0000, "VIA VT1709_5" },
502 { HDA_CODEC (VIA, 0xE716), 0x0000, "VIA VT1709_6" },
503 { HDA_CODEC (VIA, 0xE717), 0x0000, "VIA VT1709_7" },
504 { HDA_CODEC (VIA, 0xE720), 0x0000, "VIA VT1708B_0" },
505 { HDA_CODEC (VIA, 0xE721), 0x0000, "VIA VT1708B_1" },
506 { HDA_CODEC (VIA, 0xE722), 0x0000, "VIA VT1708B_2" },
507 { HDA_CODEC (VIA, 0xE723), 0x0000, "VIA VT1708B_3" },
508 { HDA_CODEC (VIA, 0xE724), 0x0000, "VIA VT1708B_4" },
509 { HDA_CODEC (VIA, 0xE725), 0x0000, "VIA VT1708B_5" },
510 { HDA_CODEC (VIA, 0xE726), 0x0000, "VIA VT1708B_6" },
511 { HDA_CODEC (VIA, 0xE727), 0x0000, "VIA VT1708B_7" },
512 { HDA_CODEC (VIA, 0x0397), 0x0000, "VIA VT1708S_0" },
513 { HDA_CODEC (VIA, 0x1397), 0x0000, "VIA VT1708S_1" },
514 { HDA_CODEC (VIA, 0x2397), 0x0000, "VIA VT1708S_2" },
515 { HDA_CODEC (VIA, 0x3397), 0x0000, "VIA VT1708S_3" },
516 { HDA_CODEC (VIA, 0x4397), 0x0000, "VIA VT1708S_4" },
517 { HDA_CODEC (VIA, 0x5397), 0x0000, "VIA VT1708S_5" },
518 { HDA_CODEC (VIA, 0x6397), 0x0000, "VIA VT1708S_6" },
519 { HDA_CODEC (VIA, 0x7397), 0x0000, "VIA VT1708S_7" },
520 { HDA_CODEC (VIA, 0x0398), 0x0000, "VIA VT1702_0" },
521 { HDA_CODEC (VIA, 0x1398), 0x0000, "VIA VT1702_1" },
522 { HDA_CODEC (VIA, 0x2398), 0x0000, "VIA VT1702_2" },
523 { HDA_CODEC (VIA, 0x3398), 0x0000, "VIA VT1702_3" },
524 { HDA_CODEC (VIA, 0x4398), 0x0000, "VIA VT1702_4" },
525 { HDA_CODEC (VIA, 0x5398), 0x0000, "VIA VT1702_5" },
526 { HDA_CODEC (VIA, 0x6398), 0x0000, "VIA VT1702_6" },
527 { HDA_CODEC (VIA, 0x7398), 0x0000, "VIA VT1702_7" },
528 { HDA_CODEC (VIA, 0x0433), 0x0000, "VIA VT1716S_0" },
529 { HDA_CODEC (VIA, 0xA721), 0x0000, "VIA VT1716S_1" },
530 { HDA_CODEC (VIA, 0x0428), 0x0000, "VIA VT1718S_0" },
531 { HDA_CODEC (VIA, 0x4428), 0x0000, "VIA VT1718S_1" },
532 { HDA_CODEC (VIA, 0x0446), 0x0000, "VIA VT1802_0" },
533 { HDA_CODEC (VIA, 0x8446), 0x0000, "VIA VT1802_1" },
534 { HDA_CODEC (VIA, 0x0448), 0x0000, "VIA VT1812" },
535 { HDA_CODEC (VIA, 0x0440), 0x0000, "VIA VT1818S" },
536 { HDA_CODEC (VIA, 0x4441), 0x0000, "VIA VT1828S" },
537 { HDA_CODEC (VIA, 0x0438), 0x0000, "VIA VT2002P_0" },
538 { HDA_CODEC (VIA, 0x4438), 0x0000, "VIA VT2002P_1" },
539 { HDA_CODEC (VIA, 0x0441), 0x0000, "VIA VT2020" },
540 { HDA_CODEC (VIA, 0xFFFF), 0x0000, "VIA (Unknown)" },
541};
542
543CONST CHAR8 *
545 IN UINT32 ControllerId
546 )
547{
548 UINTN ControllerIndex;
549
550 //
551 // Try to match exact controller name.
552 //
553 for (ControllerIndex = 0; ControllerIndex < ARRAY_SIZE (mHdaControllerList); ++ControllerIndex) {
554 if (mHdaControllerList[ControllerIndex].Id == ControllerId) {
555 return mHdaControllerList[ControllerIndex].Name;
556 }
557 }
558
559 //
560 // Try again with a generic ID on failure.
561 //
562 ControllerId = GET_PCI_GENERIC_ID (ControllerId);
563 for (ControllerIndex = 0; ControllerIndex < ARRAY_SIZE (mHdaControllerList); ++ControllerIndex) {
564 if (mHdaControllerList[ControllerIndex].Id == ControllerId) {
565 return mHdaControllerList[ControllerIndex].Name;
566 }
567 }
568
569 //
570 // Return unknown on failure.
571 //
573}
574
575CONST CHAR8 *
577 IN UINT32 CodecId,
578 IN UINT16 RevisionId
579 )
580{
581 UINTN CodecIndex;
582
583 //
584 // Try to match exact codec name.
585 //
586 for (CodecIndex = 0; CodecIndex < ARRAY_SIZE (mHdaCodecList); ++CodecIndex) {
587 if ((mHdaCodecList[CodecIndex].Id == CodecId) && (mHdaCodecList[CodecIndex].Rev <= RevisionId)) {
588 return mHdaCodecList[CodecIndex].Name;
589 }
590 }
591
592 //
593 // Try again with a generic ID on failure.
594 //
595 CodecId = GET_CODEC_GENERIC_ID (CodecId);
596 for (CodecIndex = 0; CodecIndex < ARRAY_SIZE (mHdaCodecList); ++CodecIndex) {
597 if (mHdaCodecList[CodecIndex].Id == CodecId) {
598 return mHdaCodecList[CodecIndex].Name;
599 }
600 }
601
602 //
603 // Return unknown on failure.
604 //
606}
#define ARRAY_SIZE(Array)
Definition AppleMacEfi.h:34
@ SIS
Definition Driver.h:219
#define HDA_CONTROLLER(vendor, id)
#define HDA_CODEC(vendor, id)
STATIC HDA_CODEC_LIST_ENTRY mHdaCodecList[]
CONST CHAR8 * OcHdaControllerGetName(IN UINT32 ControllerId)
STATIC HDA_CONTROLLER_LIST_ENTRY mHdaControllerList[]
CONST CHAR8 * OcHdaCodecGetName(IN UINT32 CodecId, IN UINT16 RevisionId)
#define GET_CODEC_GENERIC_ID(a)
#define HDA_CONTROLLER_MODEL_GENERIC
#define HDA_CODEC_MODEL_GENERIC
#define GET_PCI_GENERIC_ID(a)