diff --git a/sys/dev/pcm/isa/sb.c b/sys/dev/pcm/isa/sb.c index 9e453a281ee..7544dae7332 100644 --- a/sys/dev/pcm/isa/sb.c +++ b/sys/dev/pcm/isa/sb.c @@ -1271,9 +1271,10 @@ ess1868_attach(u_long csn, u_long vend_id, char *name, /* * A driver for some SB16pnp and compatibles... * - * Avance Asound 100 -- 0x01009305 - * Avance Logic ALS100+ -- 0x10019305 - * xxx -- 0x2b008c0e + * Avance Asound 100 -- 0x01009305 + * Avance Logic ALS100+ -- 0x10019305 + * 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" ; else if (vend_id == 0x10019305) s = "Avance Logic 100+" ; /* Vibra16X-class */ + else if (vend_id == 0x20019305) + s = "Avance Logic ALS120" ; /* Vibra16X-class */ if (s) { struct pnp_cinfo d; 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 */ 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... * And remember, must change tmp_d, not diff --git a/sys/dev/sound/isa/sb.c b/sys/dev/sound/isa/sb.c index 9e453a281ee..7544dae7332 100644 --- a/sys/dev/sound/isa/sb.c +++ b/sys/dev/sound/isa/sb.c @@ -1271,9 +1271,10 @@ ess1868_attach(u_long csn, u_long vend_id, char *name, /* * A driver for some SB16pnp and compatibles... * - * Avance Asound 100 -- 0x01009305 - * Avance Logic ALS100+ -- 0x10019305 - * xxx -- 0x2b008c0e + * Avance Asound 100 -- 0x01009305 + * Avance Logic ALS100+ -- 0x10019305 + * 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" ; else if (vend_id == 0x10019305) s = "Avance Logic 100+" ; /* Vibra16X-class */ + else if (vend_id == 0x20019305) + s = "Avance Logic ALS120" ; /* Vibra16X-class */ if (s) { struct pnp_cinfo d; 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 */ 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... * And remember, must change tmp_d, not diff --git a/sys/dev/sound/isa/sb16.c b/sys/dev/sound/isa/sb16.c index 9e453a281ee..7544dae7332 100644 --- a/sys/dev/sound/isa/sb16.c +++ b/sys/dev/sound/isa/sb16.c @@ -1271,9 +1271,10 @@ ess1868_attach(u_long csn, u_long vend_id, char *name, /* * A driver for some SB16pnp and compatibles... * - * Avance Asound 100 -- 0x01009305 - * Avance Logic ALS100+ -- 0x10019305 - * xxx -- 0x2b008c0e + * Avance Asound 100 -- 0x01009305 + * Avance Logic ALS100+ -- 0x10019305 + * 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" ; else if (vend_id == 0x10019305) s = "Avance Logic 100+" ; /* Vibra16X-class */ + else if (vend_id == 0x20019305) + s = "Avance Logic ALS120" ; /* Vibra16X-class */ if (s) { struct pnp_cinfo d; 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 */ 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... * And remember, must change tmp_d, not diff --git a/sys/dev/sound/isa/sb8.c b/sys/dev/sound/isa/sb8.c index 9e453a281ee..7544dae7332 100644 --- a/sys/dev/sound/isa/sb8.c +++ b/sys/dev/sound/isa/sb8.c @@ -1271,9 +1271,10 @@ ess1868_attach(u_long csn, u_long vend_id, char *name, /* * A driver for some SB16pnp and compatibles... * - * Avance Asound 100 -- 0x01009305 - * Avance Logic ALS100+ -- 0x10019305 - * xxx -- 0x2b008c0e + * Avance Asound 100 -- 0x01009305 + * Avance Logic ALS100+ -- 0x10019305 + * 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" ; else if (vend_id == 0x10019305) s = "Avance Logic 100+" ; /* Vibra16X-class */ + else if (vend_id == 0x20019305) + s = "Avance Logic ALS120" ; /* Vibra16X-class */ if (s) { struct pnp_cinfo d; 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 */ 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... * And remember, must change tmp_d, not diff --git a/sys/i386/isa/snd/CARDS b/sys/i386/isa/snd/CARDS index 62be3e8c416..c8f28158d3d 100644 --- a/sys/i386/isa/snd/CARDS +++ b/sys/i386/isa/snd/CARDS @@ -77,12 +77,6 @@ COMMENTS: 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: @@ -215,11 +209,14 @@ COMMENTS: -------------------------- CHIPSET: - ALS100, ALS110, ... + ALS100, ALS110, ALS120, ... Avance Asound 100: PnP id 0x01009305 + Avance Asound 100+: PnP id 0x10019305 + Avance Logic ALS120: PnP id 0x20019305 MANUFACTURER: Realtek (also Avance Asound and possibly other names) + Asound Gold (AS007) has an ALS120 DOCUMENTATION: diff --git a/sys/i386/isa/snd/sb_dsp.c b/sys/i386/isa/snd/sb_dsp.c index 9e453a281ee..7544dae7332 100644 --- a/sys/i386/isa/snd/sb_dsp.c +++ b/sys/i386/isa/snd/sb_dsp.c @@ -1271,9 +1271,10 @@ ess1868_attach(u_long csn, u_long vend_id, char *name, /* * A driver for some SB16pnp and compatibles... * - * Avance Asound 100 -- 0x01009305 - * Avance Logic ALS100+ -- 0x10019305 - * xxx -- 0x2b008c0e + * Avance Asound 100 -- 0x01009305 + * Avance Logic ALS100+ -- 0x10019305 + * 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" ; else if (vend_id == 0x10019305) s = "Avance Logic 100+" ; /* Vibra16X-class */ + else if (vend_id == 0x20019305) + s = "Avance Logic ALS120" ; /* Vibra16X-class */ if (s) { struct pnp_cinfo d; 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 */ 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... * And remember, must change tmp_d, not