diff options
author | Vitaliy Kulikov <Vitaliy.Kulikov@idt.com> | 2013-11-14 12:52:16 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-11-15 05:57:54 -0500 |
commit | d009f3deb788f7d06fe04c52eaf812b657a0ca68 (patch) | |
tree | ce8111d77c724613c929282a7731e5d92ac2ac53 /sound | |
parent | 32b8544296b944b204b33f9837701d4d0b9adefe (diff) |
ALSA: hda - load EQ params into IDT codec on HP bNB13 systems
Adds linear EQ filtering for integrated speaker protection
Signed-off-by: Vitaliy Kulikov <vitaliy.kulikov@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 532 |
1 files changed, 531 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 69a549a82345..d2cc0041d9d3 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -100,6 +100,7 @@ enum { | |||
100 | STAC_92HD83XXX_HEADSET_JACK, | 100 | STAC_92HD83XXX_HEADSET_JACK, |
101 | STAC_92HD83XXX_HP, | 101 | STAC_92HD83XXX_HP, |
102 | STAC_HP_ENVY_BASS, | 102 | STAC_HP_ENVY_BASS, |
103 | STAC_HP_BNB13_EQ, | ||
103 | STAC_92HD83XXX_MODELS | 104 | STAC_92HD83XXX_MODELS |
104 | }; | 105 | }; |
105 | 106 | ||
@@ -2106,6 +2107,434 @@ static void stac92hd83xxx_fixup_headset_jack(struct hda_codec *codec, | |||
2106 | spec->headset_jack = 1; | 2107 | spec->headset_jack = 1; |
2107 | } | 2108 | } |
2108 | 2109 | ||
2110 | static const struct hda_verb hp_bnb13_eq_verbs[] = { | ||
2111 | /* 44.1KHz base */ | ||
2112 | { 0x22, 0x7A6, 0x3E }, | ||
2113 | { 0x22, 0x7A7, 0x68 }, | ||
2114 | { 0x22, 0x7A8, 0x17 }, | ||
2115 | { 0x22, 0x7A9, 0x3E }, | ||
2116 | { 0x22, 0x7AA, 0x68 }, | ||
2117 | { 0x22, 0x7AB, 0x17 }, | ||
2118 | { 0x22, 0x7AC, 0x00 }, | ||
2119 | { 0x22, 0x7AD, 0x80 }, | ||
2120 | { 0x22, 0x7A6, 0x83 }, | ||
2121 | { 0x22, 0x7A7, 0x2F }, | ||
2122 | { 0x22, 0x7A8, 0xD1 }, | ||
2123 | { 0x22, 0x7A9, 0x83 }, | ||
2124 | { 0x22, 0x7AA, 0x2F }, | ||
2125 | { 0x22, 0x7AB, 0xD1 }, | ||
2126 | { 0x22, 0x7AC, 0x01 }, | ||
2127 | { 0x22, 0x7AD, 0x80 }, | ||
2128 | { 0x22, 0x7A6, 0x3E }, | ||
2129 | { 0x22, 0x7A7, 0x68 }, | ||
2130 | { 0x22, 0x7A8, 0x17 }, | ||
2131 | { 0x22, 0x7A9, 0x3E }, | ||
2132 | { 0x22, 0x7AA, 0x68 }, | ||
2133 | { 0x22, 0x7AB, 0x17 }, | ||
2134 | { 0x22, 0x7AC, 0x02 }, | ||
2135 | { 0x22, 0x7AD, 0x80 }, | ||
2136 | { 0x22, 0x7A6, 0x7C }, | ||
2137 | { 0x22, 0x7A7, 0xC6 }, | ||
2138 | { 0x22, 0x7A8, 0x0C }, | ||
2139 | { 0x22, 0x7A9, 0x7C }, | ||
2140 | { 0x22, 0x7AA, 0xC6 }, | ||
2141 | { 0x22, 0x7AB, 0x0C }, | ||
2142 | { 0x22, 0x7AC, 0x03 }, | ||
2143 | { 0x22, 0x7AD, 0x80 }, | ||
2144 | { 0x22, 0x7A6, 0xC3 }, | ||
2145 | { 0x22, 0x7A7, 0x25 }, | ||
2146 | { 0x22, 0x7A8, 0xAF }, | ||
2147 | { 0x22, 0x7A9, 0xC3 }, | ||
2148 | { 0x22, 0x7AA, 0x25 }, | ||
2149 | { 0x22, 0x7AB, 0xAF }, | ||
2150 | { 0x22, 0x7AC, 0x04 }, | ||
2151 | { 0x22, 0x7AD, 0x80 }, | ||
2152 | { 0x22, 0x7A6, 0x3E }, | ||
2153 | { 0x22, 0x7A7, 0x85 }, | ||
2154 | { 0x22, 0x7A8, 0x73 }, | ||
2155 | { 0x22, 0x7A9, 0x3E }, | ||
2156 | { 0x22, 0x7AA, 0x85 }, | ||
2157 | { 0x22, 0x7AB, 0x73 }, | ||
2158 | { 0x22, 0x7AC, 0x05 }, | ||
2159 | { 0x22, 0x7AD, 0x80 }, | ||
2160 | { 0x22, 0x7A6, 0x85 }, | ||
2161 | { 0x22, 0x7A7, 0x39 }, | ||
2162 | { 0x22, 0x7A8, 0xC7 }, | ||
2163 | { 0x22, 0x7A9, 0x85 }, | ||
2164 | { 0x22, 0x7AA, 0x39 }, | ||
2165 | { 0x22, 0x7AB, 0xC7 }, | ||
2166 | { 0x22, 0x7AC, 0x06 }, | ||
2167 | { 0x22, 0x7AD, 0x80 }, | ||
2168 | { 0x22, 0x7A6, 0x3C }, | ||
2169 | { 0x22, 0x7A7, 0x90 }, | ||
2170 | { 0x22, 0x7A8, 0xB0 }, | ||
2171 | { 0x22, 0x7A9, 0x3C }, | ||
2172 | { 0x22, 0x7AA, 0x90 }, | ||
2173 | { 0x22, 0x7AB, 0xB0 }, | ||
2174 | { 0x22, 0x7AC, 0x07 }, | ||
2175 | { 0x22, 0x7AD, 0x80 }, | ||
2176 | { 0x22, 0x7A6, 0x7A }, | ||
2177 | { 0x22, 0x7A7, 0xC6 }, | ||
2178 | { 0x22, 0x7A8, 0x39 }, | ||
2179 | { 0x22, 0x7A9, 0x7A }, | ||
2180 | { 0x22, 0x7AA, 0xC6 }, | ||
2181 | { 0x22, 0x7AB, 0x39 }, | ||
2182 | { 0x22, 0x7AC, 0x08 }, | ||
2183 | { 0x22, 0x7AD, 0x80 }, | ||
2184 | { 0x22, 0x7A6, 0xC4 }, | ||
2185 | { 0x22, 0x7A7, 0xE9 }, | ||
2186 | { 0x22, 0x7A8, 0xDC }, | ||
2187 | { 0x22, 0x7A9, 0xC4 }, | ||
2188 | { 0x22, 0x7AA, 0xE9 }, | ||
2189 | { 0x22, 0x7AB, 0xDC }, | ||
2190 | { 0x22, 0x7AC, 0x09 }, | ||
2191 | { 0x22, 0x7AD, 0x80 }, | ||
2192 | { 0x22, 0x7A6, 0x3D }, | ||
2193 | { 0x22, 0x7A7, 0xE1 }, | ||
2194 | { 0x22, 0x7A8, 0x0D }, | ||
2195 | { 0x22, 0x7A9, 0x3D }, | ||
2196 | { 0x22, 0x7AA, 0xE1 }, | ||
2197 | { 0x22, 0x7AB, 0x0D }, | ||
2198 | { 0x22, 0x7AC, 0x0A }, | ||
2199 | { 0x22, 0x7AD, 0x80 }, | ||
2200 | { 0x22, 0x7A6, 0x89 }, | ||
2201 | { 0x22, 0x7A7, 0xB6 }, | ||
2202 | { 0x22, 0x7A8, 0xEB }, | ||
2203 | { 0x22, 0x7A9, 0x89 }, | ||
2204 | { 0x22, 0x7AA, 0xB6 }, | ||
2205 | { 0x22, 0x7AB, 0xEB }, | ||
2206 | { 0x22, 0x7AC, 0x0B }, | ||
2207 | { 0x22, 0x7AD, 0x80 }, | ||
2208 | { 0x22, 0x7A6, 0x39 }, | ||
2209 | { 0x22, 0x7A7, 0x9D }, | ||
2210 | { 0x22, 0x7A8, 0xFE }, | ||
2211 | { 0x22, 0x7A9, 0x39 }, | ||
2212 | { 0x22, 0x7AA, 0x9D }, | ||
2213 | { 0x22, 0x7AB, 0xFE }, | ||
2214 | { 0x22, 0x7AC, 0x0C }, | ||
2215 | { 0x22, 0x7AD, 0x80 }, | ||
2216 | { 0x22, 0x7A6, 0x76 }, | ||
2217 | { 0x22, 0x7A7, 0x49 }, | ||
2218 | { 0x22, 0x7A8, 0x15 }, | ||
2219 | { 0x22, 0x7A9, 0x76 }, | ||
2220 | { 0x22, 0x7AA, 0x49 }, | ||
2221 | { 0x22, 0x7AB, 0x15 }, | ||
2222 | { 0x22, 0x7AC, 0x0D }, | ||
2223 | { 0x22, 0x7AD, 0x80 }, | ||
2224 | { 0x22, 0x7A6, 0xC8 }, | ||
2225 | { 0x22, 0x7A7, 0x80 }, | ||
2226 | { 0x22, 0x7A8, 0xF5 }, | ||
2227 | { 0x22, 0x7A9, 0xC8 }, | ||
2228 | { 0x22, 0x7AA, 0x80 }, | ||
2229 | { 0x22, 0x7AB, 0xF5 }, | ||
2230 | { 0x22, 0x7AC, 0x0E }, | ||
2231 | { 0x22, 0x7AD, 0x80 }, | ||
2232 | { 0x22, 0x7A6, 0x40 }, | ||
2233 | { 0x22, 0x7A7, 0x00 }, | ||
2234 | { 0x22, 0x7A8, 0x00 }, | ||
2235 | { 0x22, 0x7A9, 0x40 }, | ||
2236 | { 0x22, 0x7AA, 0x00 }, | ||
2237 | { 0x22, 0x7AB, 0x00 }, | ||
2238 | { 0x22, 0x7AC, 0x0F }, | ||
2239 | { 0x22, 0x7AD, 0x80 }, | ||
2240 | { 0x22, 0x7A6, 0x90 }, | ||
2241 | { 0x22, 0x7A7, 0x68 }, | ||
2242 | { 0x22, 0x7A8, 0xF1 }, | ||
2243 | { 0x22, 0x7A9, 0x90 }, | ||
2244 | { 0x22, 0x7AA, 0x68 }, | ||
2245 | { 0x22, 0x7AB, 0xF1 }, | ||
2246 | { 0x22, 0x7AC, 0x10 }, | ||
2247 | { 0x22, 0x7AD, 0x80 }, | ||
2248 | { 0x22, 0x7A6, 0x34 }, | ||
2249 | { 0x22, 0x7A7, 0x47 }, | ||
2250 | { 0x22, 0x7A8, 0x6C }, | ||
2251 | { 0x22, 0x7A9, 0x34 }, | ||
2252 | { 0x22, 0x7AA, 0x47 }, | ||
2253 | { 0x22, 0x7AB, 0x6C }, | ||
2254 | { 0x22, 0x7AC, 0x11 }, | ||
2255 | { 0x22, 0x7AD, 0x80 }, | ||
2256 | { 0x22, 0x7A6, 0x6F }, | ||
2257 | { 0x22, 0x7A7, 0x97 }, | ||
2258 | { 0x22, 0x7A8, 0x0F }, | ||
2259 | { 0x22, 0x7A9, 0x6F }, | ||
2260 | { 0x22, 0x7AA, 0x97 }, | ||
2261 | { 0x22, 0x7AB, 0x0F }, | ||
2262 | { 0x22, 0x7AC, 0x12 }, | ||
2263 | { 0x22, 0x7AD, 0x80 }, | ||
2264 | { 0x22, 0x7A6, 0xCB }, | ||
2265 | { 0x22, 0x7A7, 0xB8 }, | ||
2266 | { 0x22, 0x7A8, 0x94 }, | ||
2267 | { 0x22, 0x7A9, 0xCB }, | ||
2268 | { 0x22, 0x7AA, 0xB8 }, | ||
2269 | { 0x22, 0x7AB, 0x94 }, | ||
2270 | { 0x22, 0x7AC, 0x13 }, | ||
2271 | { 0x22, 0x7AD, 0x80 }, | ||
2272 | { 0x22, 0x7A6, 0x40 }, | ||
2273 | { 0x22, 0x7A7, 0x00 }, | ||
2274 | { 0x22, 0x7A8, 0x00 }, | ||
2275 | { 0x22, 0x7A9, 0x40 }, | ||
2276 | { 0x22, 0x7AA, 0x00 }, | ||
2277 | { 0x22, 0x7AB, 0x00 }, | ||
2278 | { 0x22, 0x7AC, 0x14 }, | ||
2279 | { 0x22, 0x7AD, 0x80 }, | ||
2280 | { 0x22, 0x7A6, 0x95 }, | ||
2281 | { 0x22, 0x7A7, 0x76 }, | ||
2282 | { 0x22, 0x7A8, 0x5B }, | ||
2283 | { 0x22, 0x7A9, 0x95 }, | ||
2284 | { 0x22, 0x7AA, 0x76 }, | ||
2285 | { 0x22, 0x7AB, 0x5B }, | ||
2286 | { 0x22, 0x7AC, 0x15 }, | ||
2287 | { 0x22, 0x7AD, 0x80 }, | ||
2288 | { 0x22, 0x7A6, 0x31 }, | ||
2289 | { 0x22, 0x7A7, 0xAC }, | ||
2290 | { 0x22, 0x7A8, 0x31 }, | ||
2291 | { 0x22, 0x7A9, 0x31 }, | ||
2292 | { 0x22, 0x7AA, 0xAC }, | ||
2293 | { 0x22, 0x7AB, 0x31 }, | ||
2294 | { 0x22, 0x7AC, 0x16 }, | ||
2295 | { 0x22, 0x7AD, 0x80 }, | ||
2296 | { 0x22, 0x7A6, 0x6A }, | ||
2297 | { 0x22, 0x7A7, 0x89 }, | ||
2298 | { 0x22, 0x7A8, 0xA5 }, | ||
2299 | { 0x22, 0x7A9, 0x6A }, | ||
2300 | { 0x22, 0x7AA, 0x89 }, | ||
2301 | { 0x22, 0x7AB, 0xA5 }, | ||
2302 | { 0x22, 0x7AC, 0x17 }, | ||
2303 | { 0x22, 0x7AD, 0x80 }, | ||
2304 | { 0x22, 0x7A6, 0xCE }, | ||
2305 | { 0x22, 0x7A7, 0x53 }, | ||
2306 | { 0x22, 0x7A8, 0xCF }, | ||
2307 | { 0x22, 0x7A9, 0xCE }, | ||
2308 | { 0x22, 0x7AA, 0x53 }, | ||
2309 | { 0x22, 0x7AB, 0xCF }, | ||
2310 | { 0x22, 0x7AC, 0x18 }, | ||
2311 | { 0x22, 0x7AD, 0x80 }, | ||
2312 | { 0x22, 0x7A6, 0x40 }, | ||
2313 | { 0x22, 0x7A7, 0x00 }, | ||
2314 | { 0x22, 0x7A8, 0x00 }, | ||
2315 | { 0x22, 0x7A9, 0x40 }, | ||
2316 | { 0x22, 0x7AA, 0x00 }, | ||
2317 | { 0x22, 0x7AB, 0x00 }, | ||
2318 | { 0x22, 0x7AC, 0x19 }, | ||
2319 | { 0x22, 0x7AD, 0x80 }, | ||
2320 | /* 48KHz base */ | ||
2321 | { 0x22, 0x7A6, 0x3E }, | ||
2322 | { 0x22, 0x7A7, 0x88 }, | ||
2323 | { 0x22, 0x7A8, 0xDC }, | ||
2324 | { 0x22, 0x7A9, 0x3E }, | ||
2325 | { 0x22, 0x7AA, 0x88 }, | ||
2326 | { 0x22, 0x7AB, 0xDC }, | ||
2327 | { 0x22, 0x7AC, 0x1A }, | ||
2328 | { 0x22, 0x7AD, 0x80 }, | ||
2329 | { 0x22, 0x7A6, 0x82 }, | ||
2330 | { 0x22, 0x7A7, 0xEE }, | ||
2331 | { 0x22, 0x7A8, 0x46 }, | ||
2332 | { 0x22, 0x7A9, 0x82 }, | ||
2333 | { 0x22, 0x7AA, 0xEE }, | ||
2334 | { 0x22, 0x7AB, 0x46 }, | ||
2335 | { 0x22, 0x7AC, 0x1B }, | ||
2336 | { 0x22, 0x7AD, 0x80 }, | ||
2337 | { 0x22, 0x7A6, 0x3E }, | ||
2338 | { 0x22, 0x7A7, 0x88 }, | ||
2339 | { 0x22, 0x7A8, 0xDC }, | ||
2340 | { 0x22, 0x7A9, 0x3E }, | ||
2341 | { 0x22, 0x7AA, 0x88 }, | ||
2342 | { 0x22, 0x7AB, 0xDC }, | ||
2343 | { 0x22, 0x7AC, 0x1C }, | ||
2344 | { 0x22, 0x7AD, 0x80 }, | ||
2345 | { 0x22, 0x7A6, 0x7D }, | ||
2346 | { 0x22, 0x7A7, 0x09 }, | ||
2347 | { 0x22, 0x7A8, 0x28 }, | ||
2348 | { 0x22, 0x7A9, 0x7D }, | ||
2349 | { 0x22, 0x7AA, 0x09 }, | ||
2350 | { 0x22, 0x7AB, 0x28 }, | ||
2351 | { 0x22, 0x7AC, 0x1D }, | ||
2352 | { 0x22, 0x7AD, 0x80 }, | ||
2353 | { 0x22, 0x7A6, 0xC2 }, | ||
2354 | { 0x22, 0x7A7, 0xE5 }, | ||
2355 | { 0x22, 0x7A8, 0xB4 }, | ||
2356 | { 0x22, 0x7A9, 0xC2 }, | ||
2357 | { 0x22, 0x7AA, 0xE5 }, | ||
2358 | { 0x22, 0x7AB, 0xB4 }, | ||
2359 | { 0x22, 0x7AC, 0x1E }, | ||
2360 | { 0x22, 0x7AD, 0x80 }, | ||
2361 | { 0x22, 0x7A6, 0x3E }, | ||
2362 | { 0x22, 0x7A7, 0xA3 }, | ||
2363 | { 0x22, 0x7A8, 0x1F }, | ||
2364 | { 0x22, 0x7A9, 0x3E }, | ||
2365 | { 0x22, 0x7AA, 0xA3 }, | ||
2366 | { 0x22, 0x7AB, 0x1F }, | ||
2367 | { 0x22, 0x7AC, 0x1F }, | ||
2368 | { 0x22, 0x7AD, 0x80 }, | ||
2369 | { 0x22, 0x7A6, 0x84 }, | ||
2370 | { 0x22, 0x7A7, 0xCA }, | ||
2371 | { 0x22, 0x7A8, 0xF1 }, | ||
2372 | { 0x22, 0x7A9, 0x84 }, | ||
2373 | { 0x22, 0x7AA, 0xCA }, | ||
2374 | { 0x22, 0x7AB, 0xF1 }, | ||
2375 | { 0x22, 0x7AC, 0x20 }, | ||
2376 | { 0x22, 0x7AD, 0x80 }, | ||
2377 | { 0x22, 0x7A6, 0x3C }, | ||
2378 | { 0x22, 0x7A7, 0xD5 }, | ||
2379 | { 0x22, 0x7A8, 0x9C }, | ||
2380 | { 0x22, 0x7A9, 0x3C }, | ||
2381 | { 0x22, 0x7AA, 0xD5 }, | ||
2382 | { 0x22, 0x7AB, 0x9C }, | ||
2383 | { 0x22, 0x7AC, 0x21 }, | ||
2384 | { 0x22, 0x7AD, 0x80 }, | ||
2385 | { 0x22, 0x7A6, 0x7B }, | ||
2386 | { 0x22, 0x7A7, 0x35 }, | ||
2387 | { 0x22, 0x7A8, 0x0F }, | ||
2388 | { 0x22, 0x7A9, 0x7B }, | ||
2389 | { 0x22, 0x7AA, 0x35 }, | ||
2390 | { 0x22, 0x7AB, 0x0F }, | ||
2391 | { 0x22, 0x7AC, 0x22 }, | ||
2392 | { 0x22, 0x7AD, 0x80 }, | ||
2393 | { 0x22, 0x7A6, 0xC4 }, | ||
2394 | { 0x22, 0x7A7, 0x87 }, | ||
2395 | { 0x22, 0x7A8, 0x45 }, | ||
2396 | { 0x22, 0x7A9, 0xC4 }, | ||
2397 | { 0x22, 0x7AA, 0x87 }, | ||
2398 | { 0x22, 0x7AB, 0x45 }, | ||
2399 | { 0x22, 0x7AC, 0x23 }, | ||
2400 | { 0x22, 0x7AD, 0x80 }, | ||
2401 | { 0x22, 0x7A6, 0x3E }, | ||
2402 | { 0x22, 0x7A7, 0x0A }, | ||
2403 | { 0x22, 0x7A8, 0x78 }, | ||
2404 | { 0x22, 0x7A9, 0x3E }, | ||
2405 | { 0x22, 0x7AA, 0x0A }, | ||
2406 | { 0x22, 0x7AB, 0x78 }, | ||
2407 | { 0x22, 0x7AC, 0x24 }, | ||
2408 | { 0x22, 0x7AD, 0x80 }, | ||
2409 | { 0x22, 0x7A6, 0x88 }, | ||
2410 | { 0x22, 0x7A7, 0xE2 }, | ||
2411 | { 0x22, 0x7A8, 0x05 }, | ||
2412 | { 0x22, 0x7A9, 0x88 }, | ||
2413 | { 0x22, 0x7AA, 0xE2 }, | ||
2414 | { 0x22, 0x7AB, 0x05 }, | ||
2415 | { 0x22, 0x7AC, 0x25 }, | ||
2416 | { 0x22, 0x7AD, 0x80 }, | ||
2417 | { 0x22, 0x7A6, 0x3A }, | ||
2418 | { 0x22, 0x7A7, 0x1A }, | ||
2419 | { 0x22, 0x7A8, 0xA3 }, | ||
2420 | { 0x22, 0x7A9, 0x3A }, | ||
2421 | { 0x22, 0x7AA, 0x1A }, | ||
2422 | { 0x22, 0x7AB, 0xA3 }, | ||
2423 | { 0x22, 0x7AC, 0x26 }, | ||
2424 | { 0x22, 0x7AD, 0x80 }, | ||
2425 | { 0x22, 0x7A6, 0x77 }, | ||
2426 | { 0x22, 0x7A7, 0x1D }, | ||
2427 | { 0x22, 0x7A8, 0xFB }, | ||
2428 | { 0x22, 0x7A9, 0x77 }, | ||
2429 | { 0x22, 0x7AA, 0x1D }, | ||
2430 | { 0x22, 0x7AB, 0xFB }, | ||
2431 | { 0x22, 0x7AC, 0x27 }, | ||
2432 | { 0x22, 0x7AD, 0x80 }, | ||
2433 | { 0x22, 0x7A6, 0xC7 }, | ||
2434 | { 0x22, 0x7A7, 0xDA }, | ||
2435 | { 0x22, 0x7A8, 0xE5 }, | ||
2436 | { 0x22, 0x7A9, 0xC7 }, | ||
2437 | { 0x22, 0x7AA, 0xDA }, | ||
2438 | { 0x22, 0x7AB, 0xE5 }, | ||
2439 | { 0x22, 0x7AC, 0x28 }, | ||
2440 | { 0x22, 0x7AD, 0x80 }, | ||
2441 | { 0x22, 0x7A6, 0x40 }, | ||
2442 | { 0x22, 0x7A7, 0x00 }, | ||
2443 | { 0x22, 0x7A8, 0x00 }, | ||
2444 | { 0x22, 0x7A9, 0x40 }, | ||
2445 | { 0x22, 0x7AA, 0x00 }, | ||
2446 | { 0x22, 0x7AB, 0x00 }, | ||
2447 | { 0x22, 0x7AC, 0x29 }, | ||
2448 | { 0x22, 0x7AD, 0x80 }, | ||
2449 | { 0x22, 0x7A6, 0x8E }, | ||
2450 | { 0x22, 0x7A7, 0xD7 }, | ||
2451 | { 0x22, 0x7A8, 0x22 }, | ||
2452 | { 0x22, 0x7A9, 0x8E }, | ||
2453 | { 0x22, 0x7AA, 0xD7 }, | ||
2454 | { 0x22, 0x7AB, 0x22 }, | ||
2455 | { 0x22, 0x7AC, 0x2A }, | ||
2456 | { 0x22, 0x7AD, 0x80 }, | ||
2457 | { 0x22, 0x7A6, 0x35 }, | ||
2458 | { 0x22, 0x7A7, 0x26 }, | ||
2459 | { 0x22, 0x7A8, 0xC6 }, | ||
2460 | { 0x22, 0x7A9, 0x35 }, | ||
2461 | { 0x22, 0x7AA, 0x26 }, | ||
2462 | { 0x22, 0x7AB, 0xC6 }, | ||
2463 | { 0x22, 0x7AC, 0x2B }, | ||
2464 | { 0x22, 0x7AD, 0x80 }, | ||
2465 | { 0x22, 0x7A6, 0x71 }, | ||
2466 | { 0x22, 0x7A7, 0x28 }, | ||
2467 | { 0x22, 0x7A8, 0xDE }, | ||
2468 | { 0x22, 0x7A9, 0x71 }, | ||
2469 | { 0x22, 0x7AA, 0x28 }, | ||
2470 | { 0x22, 0x7AB, 0xDE }, | ||
2471 | { 0x22, 0x7AC, 0x2C }, | ||
2472 | { 0x22, 0x7AD, 0x80 }, | ||
2473 | { 0x22, 0x7A6, 0xCA }, | ||
2474 | { 0x22, 0x7A7, 0xD9 }, | ||
2475 | { 0x22, 0x7A8, 0x3A }, | ||
2476 | { 0x22, 0x7A9, 0xCA }, | ||
2477 | { 0x22, 0x7AA, 0xD9 }, | ||
2478 | { 0x22, 0x7AB, 0x3A }, | ||
2479 | { 0x22, 0x7AC, 0x2D }, | ||
2480 | { 0x22, 0x7AD, 0x80 }, | ||
2481 | { 0x22, 0x7A6, 0x40 }, | ||
2482 | { 0x22, 0x7A7, 0x00 }, | ||
2483 | { 0x22, 0x7A8, 0x00 }, | ||
2484 | { 0x22, 0x7A9, 0x40 }, | ||
2485 | { 0x22, 0x7AA, 0x00 }, | ||
2486 | { 0x22, 0x7AB, 0x00 }, | ||
2487 | { 0x22, 0x7AC, 0x2E }, | ||
2488 | { 0x22, 0x7AD, 0x80 }, | ||
2489 | { 0x22, 0x7A6, 0x93 }, | ||
2490 | { 0x22, 0x7A7, 0x5E }, | ||
2491 | { 0x22, 0x7A8, 0xD8 }, | ||
2492 | { 0x22, 0x7A9, 0x93 }, | ||
2493 | { 0x22, 0x7AA, 0x5E }, | ||
2494 | { 0x22, 0x7AB, 0xD8 }, | ||
2495 | { 0x22, 0x7AC, 0x2F }, | ||
2496 | { 0x22, 0x7AD, 0x80 }, | ||
2497 | { 0x22, 0x7A6, 0x32 }, | ||
2498 | { 0x22, 0x7A7, 0xB7 }, | ||
2499 | { 0x22, 0x7A8, 0xB1 }, | ||
2500 | { 0x22, 0x7A9, 0x32 }, | ||
2501 | { 0x22, 0x7AA, 0xB7 }, | ||
2502 | { 0x22, 0x7AB, 0xB1 }, | ||
2503 | { 0x22, 0x7AC, 0x30 }, | ||
2504 | { 0x22, 0x7AD, 0x80 }, | ||
2505 | { 0x22, 0x7A6, 0x6C }, | ||
2506 | { 0x22, 0x7A7, 0xA1 }, | ||
2507 | { 0x22, 0x7A8, 0x28 }, | ||
2508 | { 0x22, 0x7A9, 0x6C }, | ||
2509 | { 0x22, 0x7AA, 0xA1 }, | ||
2510 | { 0x22, 0x7AB, 0x28 }, | ||
2511 | { 0x22, 0x7AC, 0x31 }, | ||
2512 | { 0x22, 0x7AD, 0x80 }, | ||
2513 | { 0x22, 0x7A6, 0xCD }, | ||
2514 | { 0x22, 0x7A7, 0x48 }, | ||
2515 | { 0x22, 0x7A8, 0x4F }, | ||
2516 | { 0x22, 0x7A9, 0xCD }, | ||
2517 | { 0x22, 0x7AA, 0x48 }, | ||
2518 | { 0x22, 0x7AB, 0x4F }, | ||
2519 | { 0x22, 0x7AC, 0x32 }, | ||
2520 | { 0x22, 0x7AD, 0x80 }, | ||
2521 | { 0x22, 0x7A6, 0x40 }, | ||
2522 | { 0x22, 0x7A7, 0x00 }, | ||
2523 | { 0x22, 0x7A8, 0x00 }, | ||
2524 | { 0x22, 0x7A9, 0x40 }, | ||
2525 | { 0x22, 0x7AA, 0x00 }, | ||
2526 | { 0x22, 0x7AB, 0x00 }, | ||
2527 | { 0x22, 0x7AC, 0x33 }, | ||
2528 | { 0x22, 0x7AD, 0x80 }, | ||
2529 | /* common */ | ||
2530 | { 0x22, 0x782, 0xC1 }, | ||
2531 | { 0x22, 0x771, 0x2C }, | ||
2532 | { 0x22, 0x772, 0x2C }, | ||
2533 | { 0x22, 0x788, 0x04 }, | ||
2534 | { 0x01, 0x7B0, 0x08 }, | ||
2535 | {} | ||
2536 | }; | ||
2537 | |||
2109 | static const struct hda_fixup stac92hd83xxx_fixups[] = { | 2538 | static const struct hda_fixup stac92hd83xxx_fixups[] = { |
2110 | [STAC_92HD83XXX_REF] = { | 2539 | [STAC_92HD83XXX_REF] = { |
2111 | .type = HDA_FIXUP_PINS, | 2540 | .type = HDA_FIXUP_PINS, |
@@ -2174,6 +2603,12 @@ static const struct hda_fixup stac92hd83xxx_fixups[] = { | |||
2174 | {} | 2603 | {} |
2175 | }, | 2604 | }, |
2176 | }, | 2605 | }, |
2606 | [STAC_HP_BNB13_EQ] = { | ||
2607 | .type = HDA_FIXUP_VERBS, | ||
2608 | .v.verbs = hp_bnb13_eq_verbs, | ||
2609 | .chained = true, | ||
2610 | .chain_id = STAC_92HD83XXX_HP_MIC_LED, | ||
2611 | }, | ||
2177 | }; | 2612 | }; |
2178 | 2613 | ||
2179 | static const struct hda_model_fixup stac92hd83xxx_models[] = { | 2614 | static const struct hda_model_fixup stac92hd83xxx_models[] = { |
@@ -2189,6 +2624,7 @@ static const struct hda_model_fixup stac92hd83xxx_models[] = { | |||
2189 | { .id = STAC_92HD83XXX_HP_MIC_LED, .name = "hp-mic-led" }, | 2624 | { .id = STAC_92HD83XXX_HP_MIC_LED, .name = "hp-mic-led" }, |
2190 | { .id = STAC_92HD83XXX_HEADSET_JACK, .name = "headset-jack" }, | 2625 | { .id = STAC_92HD83XXX_HEADSET_JACK, .name = "headset-jack" }, |
2191 | { .id = STAC_HP_ENVY_BASS, .name = "hp-envy-bass" }, | 2626 | { .id = STAC_HP_ENVY_BASS, .name = "hp-envy-bass" }, |
2627 | { .id = STAC_HP_BNB13_EQ, .name = "hp-bnb13-eq" }, | ||
2192 | {} | 2628 | {} |
2193 | }; | 2629 | }; |
2194 | 2630 | ||
@@ -2235,7 +2671,101 @@ static const struct snd_pci_quirk stac92hd83xxx_fixup_tbl[] = { | |||
2235 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1888, | 2671 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1888, |
2236 | "HP Envy Spectre", STAC_HP_ENVY_BASS), | 2672 | "HP Envy Spectre", STAC_HP_ENVY_BASS), |
2237 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x18df, | 2673 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x18df, |
2238 | "HP Folio", STAC_92HD83XXX_HP_MIC_LED), | 2674 | "HP Folio", STAC_HP_BNB13_EQ), |
2675 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x18F8, | ||
2676 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2677 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1909, | ||
2678 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2679 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x190A, | ||
2680 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2681 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1940, | ||
2682 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2683 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1941, | ||
2684 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2685 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1942, | ||
2686 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2687 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1943, | ||
2688 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2689 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1944, | ||
2690 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2691 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1945, | ||
2692 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2693 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1946, | ||
2694 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2695 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1948, | ||
2696 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2697 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1949, | ||
2698 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2699 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x194A, | ||
2700 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2701 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x194B, | ||
2702 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2703 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x194C, | ||
2704 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2705 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x194E, | ||
2706 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2707 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x194F, | ||
2708 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2709 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1950, | ||
2710 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2711 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1951, | ||
2712 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2713 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x195A, | ||
2714 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2715 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x195B, | ||
2716 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2717 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x195C, | ||
2718 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2719 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1991, | ||
2720 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2721 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2103, | ||
2722 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2723 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2104, | ||
2724 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2725 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2105, | ||
2726 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2727 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2106, | ||
2728 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2729 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2107, | ||
2730 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2731 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2108, | ||
2732 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2733 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2109, | ||
2734 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2735 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x210A, | ||
2736 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2737 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x210B, | ||
2738 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2739 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x211C, | ||
2740 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2741 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x211D, | ||
2742 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2743 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x211E, | ||
2744 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2745 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x211F, | ||
2746 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2747 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2120, | ||
2748 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2749 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2121, | ||
2750 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2751 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2122, | ||
2752 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2753 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2123, | ||
2754 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2755 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x213E, | ||
2756 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2757 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x213F, | ||
2758 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2759 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2140, | ||
2760 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2761 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x21B2, | ||
2762 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2763 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x21B3, | ||
2764 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2765 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x21B5, | ||
2766 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2767 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x21B6, | ||
2768 | "HP bNB13", STAC_HP_BNB13_EQ), | ||
2239 | SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xff00, 0x1900, | 2769 | SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xff00, 0x1900, |
2240 | "HP", STAC_92HD83XXX_HP_MIC_LED), | 2770 | "HP", STAC_92HD83XXX_HP_MIC_LED), |
2241 | SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xff00, 0x2000, | 2771 | SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xff00, 0x2000, |