Lines 244-249
static void ad_fixup_inv_jack_detect(struct hda_codec *codec,
Link Here
|
244 |
} |
244 |
} |
245 |
} |
245 |
} |
246 |
|
246 |
|
|
|
247 |
/* Toshiba Satellite L40 implements EAPD in a standard way unlike others */ |
248 |
static void ad1986a_fixup_toshiba(struct hda_codec *codec, |
249 |
const struct hda_fixup *fix, int action) |
250 |
{ |
251 |
struct ad198x_spec *spec = codec->spec; |
252 |
|
253 |
if (action == HDA_FIXUP_ACT_PRE_PROBE) { |
254 |
codec->no_jack_detect = 1; |
255 |
codec->inv_eapd = 0; |
256 |
spec->gen.keep_eapd_on = 1; |
257 |
spec->eapd_nid = 0x1b; |
258 |
} |
259 |
} |
260 |
|
247 |
enum { |
261 |
enum { |
248 |
AD1986A_FIXUP_INV_JACK_DETECT, |
262 |
AD1986A_FIXUP_INV_JACK_DETECT, |
249 |
AD1986A_FIXUP_ULTRA, |
263 |
AD1986A_FIXUP_ULTRA, |
Lines 251-256
enum {
Link Here
|
251 |
AD1986A_FIXUP_3STACK, |
265 |
AD1986A_FIXUP_3STACK, |
252 |
AD1986A_FIXUP_LAPTOP, |
266 |
AD1986A_FIXUP_LAPTOP, |
253 |
AD1986A_FIXUP_LAPTOP_IMIC, |
267 |
AD1986A_FIXUP_LAPTOP_IMIC, |
|
|
268 |
AD1986A_FIXUP_TOSHIBA, |
254 |
}; |
269 |
}; |
255 |
|
270 |
|
256 |
static const struct hda_fixup ad1986a_fixups[] = { |
271 |
static const struct hda_fixup ad1986a_fixups[] = { |
Lines 311-316
static const struct hda_fixup ad1986a_fixups[] = {
Link Here
|
311 |
.chained_before = 1, |
326 |
.chained_before = 1, |
312 |
.chain_id = AD1986A_FIXUP_LAPTOP, |
327 |
.chain_id = AD1986A_FIXUP_LAPTOP, |
313 |
}, |
328 |
}, |
|
|
329 |
[AD1986A_FIXUP_TOSHIBA] = { |
330 |
.type = HDA_FIXUP_FUNC, |
331 |
.v.func = ad1986a_fixup_toshiba, |
332 |
}, |
314 |
}; |
333 |
}; |
315 |
|
334 |
|
316 |
static const struct snd_pci_quirk ad1986a_fixup_tbl[] = { |
335 |
static const struct snd_pci_quirk ad1986a_fixup_tbl[] = { |
Lines 318-323
static const struct snd_pci_quirk ad1986a_fixup_tbl[] = {
Link Here
|
318 |
SND_PCI_QUIRK_MASK(0x1043, 0xff00, 0x8100, "ASUS P5", AD1986A_FIXUP_3STACK), |
337 |
SND_PCI_QUIRK_MASK(0x1043, 0xff00, 0x8100, "ASUS P5", AD1986A_FIXUP_3STACK), |
319 |
SND_PCI_QUIRK_MASK(0x1043, 0xff00, 0x8200, "ASUS M2", AD1986A_FIXUP_3STACK), |
338 |
SND_PCI_QUIRK_MASK(0x1043, 0xff00, 0x8200, "ASUS M2", AD1986A_FIXUP_3STACK), |
320 |
SND_PCI_QUIRK(0x10de, 0xcb84, "ASUS A8N-VM", AD1986A_FIXUP_3STACK), |
339 |
SND_PCI_QUIRK(0x10de, 0xcb84, "ASUS A8N-VM", AD1986A_FIXUP_3STACK), |
|
|
340 |
SND_PCI_QUIRK(0x1179, 0xff40, "Toshiba Satellite L40", AD1986A_FIXUP_TOSHIBA), |
321 |
SND_PCI_QUIRK(0x144d, 0xc01e, "FSC V2060", AD1986A_FIXUP_LAPTOP), |
341 |
SND_PCI_QUIRK(0x144d, 0xc01e, "FSC V2060", AD1986A_FIXUP_LAPTOP), |
322 |
SND_PCI_QUIRK_MASK(0x144d, 0xff00, 0xc000, "Samsung", AD1986A_FIXUP_SAMSUNG), |
342 |
SND_PCI_QUIRK_MASK(0x144d, 0xff00, 0xc000, "Samsung", AD1986A_FIXUP_SAMSUNG), |
323 |
SND_PCI_QUIRK(0x144d, 0xc027, "Samsung Q1", AD1986A_FIXUP_ULTRA), |
343 |
SND_PCI_QUIRK(0x144d, 0xc027, "Samsung Q1", AD1986A_FIXUP_ULTRA), |