Subject: port-i386/15260: emuxki change-request
To: None <gnats-bugs@gnats.netbsd.org>
From: None <glenn@squirrel-net.co.uk>
List: netbsd-bugs
Date: 01/16/2002 00:57:46
>Number: 15260
>Category: port-i386
>Synopsis: emuxki driver non-existent on NetBSD-1.5.x - patch included
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: port-i386-maintainer
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Tue Jan 15 16:58:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: Glenn Richards
>Release: NetBSD 1.5.1 <NetBSD-current source date>
>Organization:
Squirrel Solutions
>Environment:
NetBSD hannah 1.5.1 NetBSD 1.5.1 (HANNAH) #3: Wed Jan 16 00:24:44 GMT 2002 glenn@hannah:/usr/src/sys/arch/i386/compile/HANNAH i386
>Description:
emuxki driver (for Creative SB Live etc) is not present in 1.5.x (driver from netbsd-current).
>How-To-Repeat:
Not applicable
>Fix:
This patch will enable the driver from today's NetBSD-current (15 Jan 2002) to work under NetBSD 1.5.1.
--- emuxki.c.orig Tue Jan 15 22:32:35 2002
+++ emuxki.c Wed Jan 16 00:13:00 2002
@@ -38,7 +38,7 @@
/*
* Driver for Creative Labs SBLive! series and probably PCI512.
- *
+ *
* Known bugs:
* - inversed stereo at ac97 codec level
* (XXX jdolecek - don't see the problem? maybe because auvia(4) has
@@ -210,7 +210,7 @@
emuxki_get_props,
emuxki_trigger_output,
emuxki_trigger_input,
- NULL, /* dev_ioctl */
+ // NULL, /* dev_ioctl */
};
/*
@@ -269,7 +269,7 @@
return (NULL);
}
- if (bus_dmamap_load(dmat, mem->map, mem->kaddr,
+ if (bus_dmamap_load(dmat, mem->map, mem->kaddr,
mem->size, NULL, bus_dma_flags)) {
bus_dmamap_destroy(dmat, mem->map);
bus_dmamem_unmap(dmat, mem->kaddr, mem->size);
@@ -381,7 +381,9 @@
pci_conf_read(pa->pa_pc, pa->pa_tag,
(PCI_COMMAND_STATUS_REG) | PCI_COMMAND_MASTER_ENABLE));
- if (pci_intr_map(pa, &ih)) {
+ // if (pci_intr_map(pa, &ih))
+ if (pci_intr_map(pa->pa_pc, pa->pa_intrtag, pa->pa_intrpin,
+ pa->pa_intrline, &ih)) {
printf("%s: couldn't map interrupt\n",
sc->sc_dev.dv_xname);
bus_space_unmap(sc->sc_iot, sc->sc_ioh, sc->sc_ios);
@@ -1320,7 +1322,7 @@
fxsend.b.level = fxsend.d.level = 0xc0;
emuxki_channel_set_fxsend(voice->dataloc.chan[1],
&fxsend);
- } /* No else : default is good for mono */
+ } /* No else : default is good for mono */
}
return (0);
}
@@ -1373,7 +1375,7 @@
(voice->use & EMU_VOICE_USE_PLAY) ? "play" : "record",
stereo ? "stereo" : "mono", (b16 + 1) * 8, srate);
#endif
-
+
if (voice->stereo != stereo) {
if ((error = emuxki_voice_set_stereo(voice, stereo)))
return (error);
>Release-Note:
>Audit-Trail:
>Unformatted: