Re: ESS Solo 1 MIDI

Thomas Sailer (sailer@ife.ee.ethz.ch)
Fri, 24 Sep 1999 12:50:04 +0200


This is a multi-part message in MIME format.
--------------BCB1702F2199E007B0338DB1
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Ari Pollak wrote:

> alright, and sox & ESD sound, etc. work fine. But, the docs for the solo1
> driver says that it's supposed to support opl3 FM synth. When I run
> something that uses MIDI/FM synth (e.g. playmidi), it complains about

Currently the solo1 driver grabs too many ioports, so the opl3 module
won't load. How does the attached fix work? You still need to load
the opl3 module

Tom
--------------BCB1702F2199E007B0338DB1
Content-Type: text/plain; charset=us-ascii;
name="solo1.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="solo1.diff"

--- esssolo1.c 1999/09/24 10:45:40 1.1
+++ esssolo1.c 1999/09/24 10:48:21
@@ -2113,14 +2113,14 @@
s->gpbase = RSRCADDRESS(pcidev, 4);
s->irq = pcidev->irq;
if (check_region(s->iobase, IOBASE_EXTENT) ||
- check_region(s->sbbase, SBBASE_EXTENT) ||
+ check_region(s->sbbase+4, SBBASE_EXTENT-4) ||
check_region(s->ddmabase, DDMABASE_EXTENT) ||
check_region(s->mpubase, MPUBASE_EXTENT)) {
printk(KERN_ERR "solo1: io ports in use\n");
goto err_region;
}
request_region(s->iobase, IOBASE_EXTENT, "ESS Solo1");
- request_region(s->sbbase, SBBASE_EXTENT, "ESS Solo1");
+ request_region(s->sbbase+4, SBBASE_EXTENT-4, "ESS Solo1"); /* allow OPL3 synth module */
request_region(s->ddmabase, DDMABASE_EXTENT, "ESS Solo1");
request_region(s->mpubase, MPUBASE_EXTENT, "ESS Solo1");
if (request_irq(s->irq, solo1_interrupt, SA_SHIRQ, "ESS Solo1", s)) {
@@ -2192,7 +2192,7 @@
free_irq(s->irq, s);
err_irq:
release_region(s->iobase, IOBASE_EXTENT);
- release_region(s->sbbase, SBBASE_EXTENT);
+ release_region(s->sbbase+4, SBBASE_EXTENT-4);
release_region(s->ddmabase, DDMABASE_EXTENT);
release_region(s->mpubase, MPUBASE_EXTENT);
err_region:
@@ -2222,7 +2222,7 @@
pci_write_config_word(s->pcidev, 0x60, 0); /* turn off DDMA controller address space */
free_irq(s->irq, s);
release_region(s->iobase, IOBASE_EXTENT);
- release_region(s->sbbase, SBBASE_EXTENT);
+ release_region(s->sbbase+4, SBBASE_EXTENT-4);
release_region(s->ddmabase, DDMABASE_EXTENT);
release_region(s->mpubase, MPUBASE_EXTENT);
unregister_sound_dsp(s->dev_audio);

--------------BCB1702F2199E007B0338DB1--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/