diff options
| author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-08-11 04:18:39 -0400 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2008-11-30 05:09:20 -0500 |
| commit | 58eec4235d63e07b98544527e031e7ae807e15df (patch) | |
| tree | ccc6c6d06deac32bd8bea529eb93d2ea981cc071 | |
| parent | 9cb36c2afc298a2f2085ae0071924b7e3f55e72d (diff) | |
ALSA: hda - More fixes on Gateway entries
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
| -rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 72 |
1 files changed, 33 insertions, 39 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index e70ef0505304..c05d4643afd5 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
| @@ -55,7 +55,8 @@ enum { | |||
| 55 | STAC_9200_DELL_M25, | 55 | STAC_9200_DELL_M25, |
| 56 | STAC_9200_DELL_M26, | 56 | STAC_9200_DELL_M26, |
| 57 | STAC_9200_DELL_M27, | 57 | STAC_9200_DELL_M27, |
| 58 | STAC_9200_GATEWAY, | 58 | STAC_9200_M4, |
| 59 | STAC_9200_M4_2, | ||
| 59 | STAC_9200_PANASONIC, | 60 | STAC_9200_PANASONIC, |
| 60 | STAC_9200_MODELS | 61 | STAC_9200_MODELS |
| 61 | }; | 62 | }; |
| @@ -100,8 +101,6 @@ enum { | |||
| 100 | STAC_M3, | 101 | STAC_M3, |
| 101 | STAC_M5, | 102 | STAC_M5, |
| 102 | STAC_M6, | 103 | STAC_M6, |
| 103 | STAC_MA6, | ||
| 104 | STAC_PA6, | ||
| 105 | STAC_925x_MODELS | 104 | STAC_925x_MODELS |
| 106 | }; | 105 | }; |
| 107 | 106 | ||
| @@ -1375,7 +1374,16 @@ static unsigned int ref9200_pin_configs[8] = { | |||
| 1375 | 0x02a19020, 0x01a19021, 0x90100140, 0x01813122, | 1374 | 0x02a19020, 0x01a19021, 0x90100140, 0x01813122, |
| 1376 | }; | 1375 | }; |
| 1377 | 1376 | ||
| 1378 | /* | 1377 | static unsigned int gateway9200_m4_pin_configs[8] = { |
| 1378 | 0x400000fe, 0x404500f4, 0x400100f0, 0x90110010, | ||
| 1379 | 0x400100f1, 0x02a1902e, 0x500000f2, 0x500000f3, | ||
| 1380 | }; | ||
| 1381 | static unsigned int gateway9200_m4_2_pin_configs[8] = { | ||
| 1382 | 0x400000fe, 0x404500f4, 0x400100f0, 0x90110010, | ||
| 1383 | 0x400100f1, 0x02a1902e, 0x500000f2, 0x500000f3, | ||
| 1384 | }; | ||
| 1385 | |||
| 1386 | /* | ||
| 1379 | STAC 9200 pin configs for | 1387 | STAC 9200 pin configs for |
| 1380 | 102801A8 | 1388 | 102801A8 |
| 1381 | 102801DE | 1389 | 102801DE |
| @@ -1505,6 +1513,8 @@ static unsigned int *stac9200_brd_tbl[STAC_9200_MODELS] = { | |||
| 1505 | [STAC_9200_DELL_M25] = dell9200_m25_pin_configs, | 1513 | [STAC_9200_DELL_M25] = dell9200_m25_pin_configs, |
| 1506 | [STAC_9200_DELL_M26] = dell9200_m26_pin_configs, | 1514 | [STAC_9200_DELL_M26] = dell9200_m26_pin_configs, |
| 1507 | [STAC_9200_DELL_M27] = dell9200_m27_pin_configs, | 1515 | [STAC_9200_DELL_M27] = dell9200_m27_pin_configs, |
| 1516 | [STAC_9200_M4] = gateway9200_m4_pin_configs, | ||
| 1517 | [STAC_9200_M4_2] = gateway9200_m4_2_pin_configs, | ||
| 1508 | [STAC_9200_PANASONIC] = ref9200_pin_configs, | 1518 | [STAC_9200_PANASONIC] = ref9200_pin_configs, |
| 1509 | }; | 1519 | }; |
| 1510 | 1520 | ||
| @@ -1521,7 +1531,8 @@ static const char *stac9200_models[STAC_9200_MODELS] = { | |||
| 1521 | [STAC_9200_DELL_M25] = "dell-m25", | 1531 | [STAC_9200_DELL_M25] = "dell-m25", |
| 1522 | [STAC_9200_DELL_M26] = "dell-m26", | 1532 | [STAC_9200_DELL_M26] = "dell-m26", |
| 1523 | [STAC_9200_DELL_M27] = "dell-m27", | 1533 | [STAC_9200_DELL_M27] = "dell-m27", |
| 1524 | [STAC_9200_GATEWAY] = "gateway", | 1534 | [STAC_9200_M4] = "gateway-m4", |
| 1535 | [STAC_9200_M4_2] = "gateway-m4-2", | ||
| 1525 | [STAC_9200_PANASONIC] = "panasonic", | 1536 | [STAC_9200_PANASONIC] = "panasonic", |
| 1526 | }; | 1537 | }; |
| 1527 | 1538 | ||
| @@ -1591,11 +1602,9 @@ static struct snd_pci_quirk stac9200_cfg_tbl[] = { | |||
| 1591 | /* Panasonic */ | 1602 | /* Panasonic */ |
| 1592 | SND_PCI_QUIRK(0x10f7, 0x8338, "Panasonic CF-74", STAC_9200_PANASONIC), | 1603 | SND_PCI_QUIRK(0x10f7, 0x8338, "Panasonic CF-74", STAC_9200_PANASONIC), |
| 1593 | /* Gateway machines needs EAPD to be set on resume */ | 1604 | /* Gateway machines needs EAPD to be set on resume */ |
| 1594 | SND_PCI_QUIRK(0x107b, 0x0205, "Gateway S-7110M", STAC_9200_GATEWAY), | 1605 | SND_PCI_QUIRK(0x107b, 0x0205, "Gateway S-7110M", STAC_9200_M4), |
| 1595 | SND_PCI_QUIRK(0x107b, 0x0317, "Gateway MT3423, MX341*", | 1606 | SND_PCI_QUIRK(0x107b, 0x0317, "Gateway MT3423, MX341*", STAC_9200_M4_2), |
| 1596 | STAC_9200_GATEWAY), | 1607 | SND_PCI_QUIRK(0x107b, 0x0318, "Gateway ML3019, MT3707", STAC_9200_M4_2), |
| 1597 | SND_PCI_QUIRK(0x107b, 0x0318, "Gateway ML3019, MT3707", | ||
| 1598 | STAC_9200_GATEWAY), | ||
| 1599 | /* OQO Mobile */ | 1608 | /* OQO Mobile */ |
| 1600 | SND_PCI_QUIRK(0x1106, 0x3288, "OQO Model 2", STAC_9200_OQO), | 1609 | SND_PCI_QUIRK(0x1106, 0x3288, "OQO Model 2", STAC_9200_OQO), |
| 1601 | {} /* terminator */ | 1610 | {} /* terminator */ |
| @@ -1610,46 +1619,37 @@ static unsigned int stac925xM1_pin_configs[8] = { | |||
| 1610 | 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020, | 1619 | 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020, |
| 1611 | 0x40a000f0, 0x90100210, 0x400003f1, 0x9033032e, | 1620 | 0x40a000f0, 0x90100210, 0x400003f1, 0x9033032e, |
| 1612 | }; | 1621 | }; |
| 1622 | |||
| 1613 | static unsigned int stac925xM1_2_pin_configs[8] = { | 1623 | static unsigned int stac925xM1_2_pin_configs[8] = { |
| 1614 | 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020, | 1624 | 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020, |
| 1615 | 0x40a000f0, 0x90100210, 0x400003f1, 0x9033032e, | 1625 | 0x40a000f0, 0x90100210, 0x400003f1, 0x9033032e, |
| 1616 | }; | 1626 | }; |
| 1627 | |||
| 1617 | static unsigned int stac925xM2_pin_configs[8] = { | 1628 | static unsigned int stac925xM2_pin_configs[8] = { |
| 1618 | 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020, | 1629 | 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020, |
| 1619 | 0x40a000f0, 0x90100210, 0x400003f1, 0x9033032e, | 1630 | 0x40a000f0, 0x90100210, 0x400003f1, 0x9033032e, |
| 1620 | }; | 1631 | }; |
| 1621 | 1632 | ||
| 1633 | static unsigned int stac925xM2_2_pin_configs[8] = { | ||
| 1634 | 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020, | ||
| 1635 | 0x40a000f0, 0x90100210, 0x400003f1, 0x9033032e, | ||
| 1636 | }; | ||
| 1637 | |||
| 1622 | static unsigned int stac925xM3_pin_configs[8] = { | 1638 | static unsigned int stac925xM3_pin_configs[8] = { |
| 1623 | 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020, | 1639 | 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020, |
| 1624 | 0x40a000f0, 0x90100210, 0x400003f1, 0x503303f3, | 1640 | 0x40a000f0, 0x90100210, 0x400003f1, 0x503303f3, |
| 1625 | }; | 1641 | }; |
| 1642 | |||
| 1626 | static unsigned int stac925xM5_pin_configs[8] = { | 1643 | static unsigned int stac925xM5_pin_configs[8] = { |
| 1627 | 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020, | 1644 | 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020, |
| 1628 | 0x40a000f0, 0x90100210, 0x400003f1, 0x9033032e, | 1645 | 0x40a000f0, 0x90100210, 0x400003f1, 0x9033032e, |
| 1629 | }; | 1646 | }; |
| 1630 | 1647 | ||
| 1631 | /* Original M6 entry at .ini file */ | ||
| 1632 | static unsigned int stac925xM6_pin_configs[8] = { | 1648 | static unsigned int stac925xM6_pin_configs[8] = { |
| 1633 | 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020, | 1649 | 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020, |
| 1634 | 0x40a000f0, 0x90100210, 0x400003f1, 0x90330320, | 1650 | 0x40a000f0, 0x90100210, 0x400003f1, 0x90330320, |
| 1635 | }; | 1651 | }; |
| 1636 | 1652 | ||
| 1637 | static unsigned int stac925x_MA6_pin_configs[8] = { | ||
| 1638 | 0x40c003f0, 0x424503f2, 0x01813022, 0x02a19021, | ||
| 1639 | 0x90a70320, 0x90100211, 0x400003f1, 0x9033032e, | ||
| 1640 | }; | ||
| 1641 | |||
| 1642 | /* This entry should be M2 */ | ||
| 1643 | static unsigned int stac925x_PA6_pin_configs[8] = { | ||
| 1644 | 0x40c003f0, 0x424503f2, 0x01813022, 0x02a19021, | ||
| 1645 | 0x50a103f0, 0x90100211, 0x400003f1, 0x9033032e, | ||
| 1646 | }; | ||
| 1647 | |||
| 1648 | static unsigned int stac925xM2_2_pin_configs[8] = { | ||
| 1649 | 0x40c003f3, 0x424503f2, 0x04180011, 0x02a19020, | ||
| 1650 | 0x50a103f0, 0x90100212, 0x400003f1, 0x9033032e, | ||
| 1651 | }; | ||
| 1652 | |||
| 1653 | static unsigned int *stac925x_brd_tbl[STAC_925x_MODELS] = { | 1653 | static unsigned int *stac925x_brd_tbl[STAC_925x_MODELS] = { |
| 1654 | [STAC_REF] = ref925x_pin_configs, | 1654 | [STAC_REF] = ref925x_pin_configs, |
| 1655 | [STAC_M1] = stac925xM1_pin_configs, | 1655 | [STAC_M1] = stac925xM1_pin_configs, |
| @@ -1659,8 +1659,6 @@ static unsigned int *stac925x_brd_tbl[STAC_925x_MODELS] = { | |||
| 1659 | [STAC_M3] = stac925xM3_pin_configs, | 1659 | [STAC_M3] = stac925xM3_pin_configs, |
| 1660 | [STAC_M5] = stac925xM5_pin_configs, | 1660 | [STAC_M5] = stac925xM5_pin_configs, |
| 1661 | [STAC_M6] = stac925xM6_pin_configs, | 1661 | [STAC_M6] = stac925xM6_pin_configs, |
| 1662 | [STAC_MA6] = stac925x_MA6_pin_configs, | ||
| 1663 | [STAC_PA6] = stac925x_PA6_pin_configs, | ||
| 1664 | }; | 1662 | }; |
| 1665 | 1663 | ||
| 1666 | static const char *stac925x_models[STAC_925x_MODELS] = { | 1664 | static const char *stac925x_models[STAC_925x_MODELS] = { |
| @@ -1672,24 +1670,19 @@ static const char *stac925x_models[STAC_925x_MODELS] = { | |||
| 1672 | [STAC_M3] = "m3", | 1670 | [STAC_M3] = "m3", |
| 1673 | [STAC_M5] = "m5", | 1671 | [STAC_M5] = "m5", |
| 1674 | [STAC_M6] = "m6", | 1672 | [STAC_M6] = "m6", |
| 1675 | [STAC_MA6] = "ma6", | ||
| 1676 | [STAC_PA6] = "pa6", | ||
| 1677 | }; | 1673 | }; |
| 1678 | 1674 | ||
| 1679 | static struct snd_pci_quirk stac925x_codec_id_cfg_tbl[] = { | 1675 | static struct snd_pci_quirk stac925x_codec_id_cfg_tbl[] = { |
| 1680 | SND_PCI_QUIRK(0x107b, 0x0316, "Gateway M255", STAC_REF), | 1676 | SND_PCI_QUIRK(0x107b, 0x0316, "Gateway M255", STAC_M2), |
| 1681 | SND_PCI_QUIRK(0x107b, 0x0366, "Gateway MP6954", STAC_REF), | 1677 | SND_PCI_QUIRK(0x107b, 0x0366, "Gateway MP6954", STAC_M5), |
| 1682 | 1678 | SND_PCI_QUIRK(0x107b, 0x0461, "Gateway NX560XL", STAC_M1), | |
| 1683 | SND_PCI_QUIRK(0x107b, 0x0461, "Gateway NX560XL", STAC_MA6), | 1679 | SND_PCI_QUIRK(0x107b, 0x0681, "Gateway NX860", STAC_M2), |
| 1684 | SND_PCI_QUIRK(0x107b, 0x0681, "Gateway NX860", STAC_PA6), | ||
| 1685 | SND_PCI_QUIRK(0x107b, 0x0367, "Gateway MX6453", STAC_M1_2), | 1680 | SND_PCI_QUIRK(0x107b, 0x0367, "Gateway MX6453", STAC_M1_2), |
| 1686 | |||
| 1687 | /* Not sure about the brand name for those */ | 1681 | /* Not sure about the brand name for those */ |
| 1688 | SND_PCI_QUIRK(0x107b, 0x0281, "Gateway mobile", STAC_M1), | 1682 | SND_PCI_QUIRK(0x107b, 0x0281, "Gateway mobile", STAC_M1), |
| 1689 | SND_PCI_QUIRK(0x107b, 0x0507, "Gateway mobile", STAC_M3), | 1683 | SND_PCI_QUIRK(0x107b, 0x0507, "Gateway mobile", STAC_M3), |
| 1690 | SND_PCI_QUIRK(0x107b, 0x0281, "Gateway mobile", STAC_M6), | 1684 | SND_PCI_QUIRK(0x107b, 0x0281, "Gateway mobile", STAC_M6), |
| 1691 | SND_PCI_QUIRK(0x107b, 0x0685, "Gateway mobile", STAC_M2_2), | 1685 | SND_PCI_QUIRK(0x107b, 0x0685, "Gateway mobile", STAC_M2_2), |
| 1692 | |||
| 1693 | {} /* terminator */ | 1686 | {} /* terminator */ |
| 1694 | }; | 1687 | }; |
| 1695 | 1688 | ||
| @@ -4399,7 +4392,8 @@ static int patch_stac9200(struct hda_codec *codec) | |||
| 4399 | spec->num_adcs = 1; | 4392 | spec->num_adcs = 1; |
| 4400 | spec->num_pwrs = 0; | 4393 | spec->num_pwrs = 0; |
| 4401 | 4394 | ||
| 4402 | if (spec->board_config == STAC_9200_GATEWAY || | 4395 | if (spec->board_config == STAC_9200_M4 || |
| 4396 | spec->board_config == STAC_9200_M4_2 || | ||
| 4403 | spec->board_config == STAC_9200_OQO) | 4397 | spec->board_config == STAC_9200_OQO) |
| 4404 | spec->init = stac9200_eapd_init; | 4398 | spec->init = stac9200_eapd_init; |
| 4405 | else | 4399 | else |
