1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00

the turtle beach santacruz implements ac97 eapd in an inverted sense -

inform the ac97 code of this.
This commit is contained in:
Cameron Grant 2001-06-23 18:00:06 +00:00
parent f40be3e157
commit 8e81760b1a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=78673
3 changed files with 15 additions and 13 deletions

View File

@ -54,7 +54,6 @@
#define CS4610_PCI_ID 0x60011013
#define CS4614_PCI_ID 0x60031013
#define CS4615_PCI_ID 0x60041013
#define CS4281_PCI_ID 0x60051013
/* Here is the parameter structure per a device. */
struct csa_softc {
@ -149,27 +148,27 @@ clkrun_hack(int run)
}
static struct csa_card cards_4610[] = {
{0, 0, "Unknown/invalid SSID (CS4610)", NULL, NULL, NULL },
{0, 0, "Unknown/invalid SSID (CS4610)", NULL, NULL, NULL, 0},
};
static struct csa_card cards_4614[] = {
{0x1489, 0x7001, "Genius Soundmaker 128 value", amp_none, NULL, NULL},
{0x5053, 0x3357, "Turtle Beach Santa Cruz", amp_voyetra, NULL, NULL},
{0x1071, 0x6003, "Mitac MI6020/21", amp_voyetra, NULL, NULL},
{0x14AF, 0x0050, "Hercules Game Theatre XP", NULL, NULL, NULL},
{0x1681, 0x0050, "Hercules Game Theatre XP", NULL, NULL, NULL},
{0x1489, 0x7001, "Genius Soundmaker 128 value", amp_none, NULL, NULL, 0},
{0x5053, 0x3357, "Turtle Beach Santa Cruz", amp_voyetra, NULL, NULL, 1},
{0x1071, 0x6003, "Mitac MI6020/21", amp_voyetra, NULL, NULL, 0},
{0x14AF, 0x0050, "Hercules Game Theatre XP", NULL, NULL, NULL, 0},
{0x1681, 0x0050, "Hercules Game Theatre XP", NULL, NULL, NULL, 0},
/* Not sure if the 570 needs the clkrun hack */
{0x1014, 0x0132, "Thinkpad 570", amp_none, NULL, clkrun_hack},
{0x1014, 0x0153, "Thinkpad 600X/A20/T20", amp_none, NULL, clkrun_hack},
{0x1014, 0x1010, "Thinkpad 600E (unsupported)", NULL, NULL, NULL},
{0, 0, "Unknown/invalid SSID (CS4614)", NULL, NULL, NULL },
{0x1014, 0x0132, "Thinkpad 570", amp_none, NULL, clkrun_hack, 0},
{0x1014, 0x0153, "Thinkpad 600X/A20/T20", amp_none, NULL, clkrun_hack, 0},
{0x1014, 0x1010, "Thinkpad 600E (unsupported)", NULL, NULL, NULL, 0},
{0, 0, "Unknown/invalid SSID (CS4614)", NULL, NULL, NULL, 0},
};
static struct csa_card cards_4615[] = {
{0, 0, "Unknown/invalid SSID (CS4615)", NULL, NULL, NULL },
{0, 0, "Unknown/invalid SSID (CS4615)", NULL, NULL, NULL, 0},
};
static struct csa_card nocard = {0, 0, "unknown", NULL, NULL, NULL };
static struct csa_card nocard = {0, 0, "unknown", NULL, NULL, NULL, 0};
struct card_type {
u_int32_t devid;

View File

@ -779,6 +779,8 @@ pcmcsa_attach(device_t dev)
csa_releaseres(csa, dev);
return (ENXIO);
}
if (csa->card->inv_eapd)
ac97_setflags(codec, AC97_F_EAPD_INV);
if (mixer_init(dev, ac97_getmixerclass(), codec) == -1) {
ac97_destroy(codec);
csa_releaseres(csa, dev);

View File

@ -34,6 +34,7 @@ struct csa_card {
void *amp;
void *amp_init;
int (*active)(int);
int inv_eapd;
};
/* Resources. */