1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-10-20 02:38:43 +00:00

Add support for ASound Gold card using the ALS120

chipset (a vibra 16x clone)
Identified automatically by its PnP ID

Approved by: Luigi
This commit is contained in:
Roger Hardiman 1999-05-27 06:12:40 +00:00
parent b5fcc9783f
commit 229cf3c335
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=47536
6 changed files with 44 additions and 27 deletions

View File

@ -1271,9 +1271,10 @@ ess1868_attach(u_long csn, u_long vend_id, char *name,
/* /*
* A driver for some SB16pnp and compatibles... * A driver for some SB16pnp and compatibles...
* *
* Avance Asound 100 -- 0x01009305 * Avance Asound 100 -- 0x01009305
* Avance Logic ALS100+ -- 0x10019305 * Avance Logic ALS100+ -- 0x10019305
* xxx -- 0x2b008c0e * Avance Logic ASound Gold ALS120 -- 0x20019305
* xxx -- 0x2b008c0e
* *
*/ */
@ -1311,6 +1312,8 @@ sb16pnp_probe(u_long csn, u_long vend_id)
s = "Avance Asound 100" ; s = "Avance Asound 100" ;
else if (vend_id == 0x10019305) else if (vend_id == 0x10019305)
s = "Avance Logic 100+" ; /* Vibra16X-class */ s = "Avance Logic 100+" ; /* Vibra16X-class */
else if (vend_id == 0x20019305)
s = "Avance Logic ALS120" ; /* Vibra16X-class */
if (s) { if (s) {
struct pnp_cinfo d; struct pnp_cinfo d;
read_pnp_parms(&d, 0); read_pnp_parms(&d, 0);
@ -1348,7 +1351,8 @@ sb16pnp_attach(u_long csn, u_long vend_id, char *name,
pcm_info[dev->id_unit] = tmp_d; /* pcm_info[] will be reinitialized after */ pcm_info[dev->id_unit] = tmp_d; /* pcm_info[] will be reinitialized after */
snddev_last_probed->probe(dev); /* not really necessary but doesn't harm */ snddev_last_probed->probe(dev); /* not really necessary but doesn't harm */
if (vend_id == 0x10019305 || vend_id == 0xf0008c0e) { if (vend_id == 0x10019305 || vend_id == 0xf0008c0e
|| vend_id == 0x20019305) {
/* /*
* XXX please add here the vend_id for other vibra16X cards... * XXX please add here the vend_id for other vibra16X cards...
* And remember, must change tmp_d, not * And remember, must change tmp_d, not

View File

@ -1271,9 +1271,10 @@ ess1868_attach(u_long csn, u_long vend_id, char *name,
/* /*
* A driver for some SB16pnp and compatibles... * A driver for some SB16pnp and compatibles...
* *
* Avance Asound 100 -- 0x01009305 * Avance Asound 100 -- 0x01009305
* Avance Logic ALS100+ -- 0x10019305 * Avance Logic ALS100+ -- 0x10019305
* xxx -- 0x2b008c0e * Avance Logic ASound Gold ALS120 -- 0x20019305
* xxx -- 0x2b008c0e
* *
*/ */
@ -1311,6 +1312,8 @@ sb16pnp_probe(u_long csn, u_long vend_id)
s = "Avance Asound 100" ; s = "Avance Asound 100" ;
else if (vend_id == 0x10019305) else if (vend_id == 0x10019305)
s = "Avance Logic 100+" ; /* Vibra16X-class */ s = "Avance Logic 100+" ; /* Vibra16X-class */
else if (vend_id == 0x20019305)
s = "Avance Logic ALS120" ; /* Vibra16X-class */
if (s) { if (s) {
struct pnp_cinfo d; struct pnp_cinfo d;
read_pnp_parms(&d, 0); read_pnp_parms(&d, 0);
@ -1348,7 +1351,8 @@ sb16pnp_attach(u_long csn, u_long vend_id, char *name,
pcm_info[dev->id_unit] = tmp_d; /* pcm_info[] will be reinitialized after */ pcm_info[dev->id_unit] = tmp_d; /* pcm_info[] will be reinitialized after */
snddev_last_probed->probe(dev); /* not really necessary but doesn't harm */ snddev_last_probed->probe(dev); /* not really necessary but doesn't harm */
if (vend_id == 0x10019305 || vend_id == 0xf0008c0e) { if (vend_id == 0x10019305 || vend_id == 0xf0008c0e
|| vend_id == 0x20019305) {
/* /*
* XXX please add here the vend_id for other vibra16X cards... * XXX please add here the vend_id for other vibra16X cards...
* And remember, must change tmp_d, not * And remember, must change tmp_d, not

View File

@ -1271,9 +1271,10 @@ ess1868_attach(u_long csn, u_long vend_id, char *name,
/* /*
* A driver for some SB16pnp and compatibles... * A driver for some SB16pnp and compatibles...
* *
* Avance Asound 100 -- 0x01009305 * Avance Asound 100 -- 0x01009305
* Avance Logic ALS100+ -- 0x10019305 * Avance Logic ALS100+ -- 0x10019305
* xxx -- 0x2b008c0e * Avance Logic ASound Gold ALS120 -- 0x20019305
* xxx -- 0x2b008c0e
* *
*/ */
@ -1311,6 +1312,8 @@ sb16pnp_probe(u_long csn, u_long vend_id)
s = "Avance Asound 100" ; s = "Avance Asound 100" ;
else if (vend_id == 0x10019305) else if (vend_id == 0x10019305)
s = "Avance Logic 100+" ; /* Vibra16X-class */ s = "Avance Logic 100+" ; /* Vibra16X-class */
else if (vend_id == 0x20019305)
s = "Avance Logic ALS120" ; /* Vibra16X-class */
if (s) { if (s) {
struct pnp_cinfo d; struct pnp_cinfo d;
read_pnp_parms(&d, 0); read_pnp_parms(&d, 0);
@ -1348,7 +1351,8 @@ sb16pnp_attach(u_long csn, u_long vend_id, char *name,
pcm_info[dev->id_unit] = tmp_d; /* pcm_info[] will be reinitialized after */ pcm_info[dev->id_unit] = tmp_d; /* pcm_info[] will be reinitialized after */
snddev_last_probed->probe(dev); /* not really necessary but doesn't harm */ snddev_last_probed->probe(dev); /* not really necessary but doesn't harm */
if (vend_id == 0x10019305 || vend_id == 0xf0008c0e) { if (vend_id == 0x10019305 || vend_id == 0xf0008c0e
|| vend_id == 0x20019305) {
/* /*
* XXX please add here the vend_id for other vibra16X cards... * XXX please add here the vend_id for other vibra16X cards...
* And remember, must change tmp_d, not * And remember, must change tmp_d, not

View File

@ -1271,9 +1271,10 @@ ess1868_attach(u_long csn, u_long vend_id, char *name,
/* /*
* A driver for some SB16pnp and compatibles... * A driver for some SB16pnp and compatibles...
* *
* Avance Asound 100 -- 0x01009305 * Avance Asound 100 -- 0x01009305
* Avance Logic ALS100+ -- 0x10019305 * Avance Logic ALS100+ -- 0x10019305
* xxx -- 0x2b008c0e * Avance Logic ASound Gold ALS120 -- 0x20019305
* xxx -- 0x2b008c0e
* *
*/ */
@ -1311,6 +1312,8 @@ sb16pnp_probe(u_long csn, u_long vend_id)
s = "Avance Asound 100" ; s = "Avance Asound 100" ;
else if (vend_id == 0x10019305) else if (vend_id == 0x10019305)
s = "Avance Logic 100+" ; /* Vibra16X-class */ s = "Avance Logic 100+" ; /* Vibra16X-class */
else if (vend_id == 0x20019305)
s = "Avance Logic ALS120" ; /* Vibra16X-class */
if (s) { if (s) {
struct pnp_cinfo d; struct pnp_cinfo d;
read_pnp_parms(&d, 0); read_pnp_parms(&d, 0);
@ -1348,7 +1351,8 @@ sb16pnp_attach(u_long csn, u_long vend_id, char *name,
pcm_info[dev->id_unit] = tmp_d; /* pcm_info[] will be reinitialized after */ pcm_info[dev->id_unit] = tmp_d; /* pcm_info[] will be reinitialized after */
snddev_last_probed->probe(dev); /* not really necessary but doesn't harm */ snddev_last_probed->probe(dev); /* not really necessary but doesn't harm */
if (vend_id == 0x10019305 || vend_id == 0xf0008c0e) { if (vend_id == 0x10019305 || vend_id == 0xf0008c0e
|| vend_id == 0x20019305) {
/* /*
* XXX please add here the vend_id for other vibra16X cards... * XXX please add here the vend_id for other vibra16X cards...
* And remember, must change tmp_d, not * And remember, must change tmp_d, not

View File

@ -77,12 +77,6 @@ COMMENTS:
device pcm0 at isa ? port 0x52C ... device pcm0 at isa ? port 0x52C ...
Actual product: Turtle Beach Malibu soundcard (CS4237). The pnp
config here is adjusted to leave dma 3 clear for lpr use:
pnp 1 0 os irq0 15 irq1 0 drq0 1 drq1 0 port0 1332
That line is in my /boot/kernel.conf (C. Robey, 3/24/99)
-------------------------- --------------------------
CHIPSET: CHIPSET:
@ -215,11 +209,14 @@ COMMENTS:
-------------------------- --------------------------
CHIPSET: CHIPSET:
ALS100, ALS110, ... ALS100, ALS110, ALS120, ...
Avance Asound 100: PnP id 0x01009305 Avance Asound 100: PnP id 0x01009305
Avance Asound 100+: PnP id 0x10019305
Avance Logic ALS120: PnP id 0x20019305
MANUFACTURER: MANUFACTURER:
Realtek (also Avance Asound and possibly other names) Realtek (also Avance Asound and possibly other names)
Asound Gold (AS007) has an ALS120
DOCUMENTATION: DOCUMENTATION:

View File

@ -1271,9 +1271,10 @@ ess1868_attach(u_long csn, u_long vend_id, char *name,
/* /*
* A driver for some SB16pnp and compatibles... * A driver for some SB16pnp and compatibles...
* *
* Avance Asound 100 -- 0x01009305 * Avance Asound 100 -- 0x01009305
* Avance Logic ALS100+ -- 0x10019305 * Avance Logic ALS100+ -- 0x10019305
* xxx -- 0x2b008c0e * Avance Logic ASound Gold ALS120 -- 0x20019305
* xxx -- 0x2b008c0e
* *
*/ */
@ -1311,6 +1312,8 @@ sb16pnp_probe(u_long csn, u_long vend_id)
s = "Avance Asound 100" ; s = "Avance Asound 100" ;
else if (vend_id == 0x10019305) else if (vend_id == 0x10019305)
s = "Avance Logic 100+" ; /* Vibra16X-class */ s = "Avance Logic 100+" ; /* Vibra16X-class */
else if (vend_id == 0x20019305)
s = "Avance Logic ALS120" ; /* Vibra16X-class */
if (s) { if (s) {
struct pnp_cinfo d; struct pnp_cinfo d;
read_pnp_parms(&d, 0); read_pnp_parms(&d, 0);
@ -1348,7 +1351,8 @@ sb16pnp_attach(u_long csn, u_long vend_id, char *name,
pcm_info[dev->id_unit] = tmp_d; /* pcm_info[] will be reinitialized after */ pcm_info[dev->id_unit] = tmp_d; /* pcm_info[] will be reinitialized after */
snddev_last_probed->probe(dev); /* not really necessary but doesn't harm */ snddev_last_probed->probe(dev); /* not really necessary but doesn't harm */
if (vend_id == 0x10019305 || vend_id == 0xf0008c0e) { if (vend_id == 0x10019305 || vend_id == 0xf0008c0e
|| vend_id == 0x20019305) {
/* /*
* XXX please add here the vend_id for other vibra16X cards... * XXX please add here the vend_id for other vibra16X cards...
* And remember, must change tmp_d, not * And remember, must change tmp_d, not