lkml.org 
[lkml]   [2000]   [Feb]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] drivers/sound/sb_card.c: ALS007 update for 2.3.48 with isapnp support
I've updated the ALS007 stuff in the Soundblaster driver mainly for isapnp.
Please test it and report me if it works or not.

regards, Gaël Quéri <gqueri@mail.dotcom.fr>
diff -ur linux.orig/Documentation/sound/ALS007 linux/Documentation/sound/ALS007
--- linux.orig/Documentation/sound/ALS007 Fri Jul 10 23:03:35 1998
+++ linux/Documentation/sound/ALS007 Sun Feb 27 23:22:08 2000
@@ -8,22 +8,23 @@
code is integrated as part of the Sound Blaster 16 driver (adding only 800
bytes to the SB16 driver).

-To use an ALS-007 sound card under Linux, enable the following options in the
+To use an ALS-007 sound card under Linux, enable the following modules in the
sound configuration section of the kernel config:
- 100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support
- FM synthesizer (YM3812/OPL-3) support
-Since the ALS-007 is a PnP card, the sound driver probably should be
-compiled as a module, with the isapnptools used to wake up the sound card.
-Set the "I/O base for SB", "Sound Blaster IRQ" and "Sound Blaster DMA" (8 bit -
-either 0, 1 or 3) to the values used in your particular installation (they
-should match the values used to configure the card using isapnp). The
-ALS-007 does NOT implement 16 bit DMA, so the "Sound Blaster 16 bit DMA"
-should be set to -1. If you wish to use the external MPU-401 interface on
-the card, "MPU401 I/O base of SB16" and "SB MPU401 IRQ" should be set to
-the appropriate values for your installation. (Note that the ALS-007
-requires a separate IRQ for the MPU-401, so don't specify -1 here). (Note
-that the base port of the internal FM synth is fixed at 0x388 on the ALS007;
-in any case the FM synth location cannot be set in the kernel configuration).
+Since the ALS-007 is a PnP card, you should also enable the following options
+in the Plug and Play section of the kernel config to configure the card
+automatically at startup:
+ - Plug and Play support
+ - ISA Plug and Play support
+
+Alternatively, you can use isapnptools to wake up the sound card.
+You will then need to tell the module what is in /etc/isapnp.conf by adding
+a line in /etc/modules.conf like:
+options sb io=0x220 irq=5 dma=1 dma16=-1 mpu_io=0x330 mpu_irq=11
+These options are the same as in Documentation/Soundblaster except that:
+ - dma16 should always be set to -1
+ - the mpu401 has an irq that you have to set with mpu_irq

The resulting sound driver will provide the following capabilities:
- 8 and 16 bit audio playback
@@ -38,3 +39,6 @@
Jonathan Woithe
jwoithe@physics.adelaide.edu.au
30 March 1998
+
+Updated for the 2.3 kernel by Gaël Quéri <gqueri@mail.dotcom.fr>
+27 February 2000
diff -ur linux.orig/drivers/sound/sb_card.c linux/drivers/sound/sb_card.c
--- linux.orig/drivers/sound/sb_card.c Mon Feb 28 00:03:50 2000
+++ linux/drivers/sound/sb_card.c Mon Feb 28 01:15:58 2000
@@ -26,6 +26,9 @@
* 13-02-2000 Hopefully fixed awe/sb16 related bugs, code cleanup.
* Alessandro Zummo <azummo@ita.flashnet.it>
*
+ * 27-02-2000 Added ALS007 PnP support
+ * Gaël Quéri <gqueri@mail.dotcom.fr>
+ *
*/

#include <linux/config.h>
@@ -139,7 +142,8 @@
*wss_dev = NULL,
*jp_dev = NULL,
*mpu_dev = NULL,
- *wt_dev = NULL;
+ *wt_dev = NULL,
+ *opl3_dev = NULL;
/*
* Note DMA2 of -1 has the right meaning in the SB16 driver as well
* as here. It will cause either an error if it is needed or a fallback
@@ -147,6 +151,7 @@
*/

int mpu_io = 0;
+int mpu_irq = -1;
int io = -1;
int irq = -1;
int dma = -1;
@@ -174,6 +179,7 @@
MODULE_PARM(dma, "i");
MODULE_PARM(dma16, "i");
MODULE_PARM(mpu_io, "i");
+MODULE_PARM(mpu_irq, "i");
MODULE_PARM(type, "i");
MODULE_PARM(mad16, "i");
MODULE_PARM(support, "i");
@@ -196,7 +202,8 @@
MODULE_PARM_DESC(irq, "IRQ (5,7,9,10)");
MODULE_PARM_DESC(dma, "8-bit DMA channel (0,1,3)");
MODULE_PARM_DESC(dma16, "16-bit DMA channel (5,6,7)");
-MODULE_PARM_DESC(mpu_io, "Mpu base address");
+MODULE_PARM_DESC(mpu_io, "MPU base address");
+MODULE_PARM_DESC(mpu_irq, "MPU IRQ (only for ALS007)");
MODULE_PARM_DESC(type, "You can set this to specific card type");
MODULE_PARM_DESC(mad16, "Enable MAD16 support");
MODULE_PARM_DESC(trix, "Enable Audiotrix support");
@@ -475,6 +482,77 @@
return(sb_dev);
}
\
 
 \ /
  Last update: 2005-03-22 13:56    [W:0.048 / U:0.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site