summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2006-01-30 21:43:14 +0000
committermarius <marius@FreeBSD.org>2006-01-30 21:43:14 +0000
commit7c6b3706d9b6a4cf7641ce2292a05f01313ab37f (patch)
treee7836488bb0b40bfe1386778db9e330536c2783f
parent34fbddc052ac927326d1b04f98f3501b52b5fcc4 (diff)
downloadFreeBSD-src-7c6b3706d9b6a4cf7641ce2292a05f01313ab37f.zip
FreeBSD-src-7c6b3706d9b6a4cf7641ce2292a05f01313ab37f.tar.gz
Revert the part of rev. 1.3 which enabled the chaining of the DMA engine
interrupt handler for the LANCE devices and remove dma_setup_intr(). We just can't completely ignore the DMA engine in a LANCE driver anyway and calling the DMA engine interrupt handler in the LANCE driver directly allows to cover it by the LANCE driver lock.
-rw-r--r--sys/sparc64/sbus/dma_sbus.c22
1 files changed, 1 insertions, 21 deletions
diff --git a/sys/sparc64/sbus/dma_sbus.c b/sys/sparc64/sbus/dma_sbus.c
index d68b27b..20cd9d5 100644
--- a/sys/sparc64/sbus/dma_sbus.c
+++ b/sys/sparc64/sbus/dma_sbus.c
@@ -105,7 +105,6 @@ static device_attach_t dma_attach;
static bus_print_child_t dma_print_child;
static bus_probe_nomatch_t dma_probe_nomatch;
static bus_get_resource_list_t dma_get_resource_list;
-static bus_setup_intr_t dma_setup_intr;
static ofw_bus_get_devinfo_t dma_get_devinfo;
static struct dma_devinfo *dma_setup_dinfo(device_t, struct dma_softc *,
@@ -124,7 +123,7 @@ static device_method_t dma_methods[] = {
/* Bus interface */
DEVMETHOD(bus_print_child, dma_print_child),
DEVMETHOD(bus_probe_nomatch, dma_probe_nomatch),
- DEVMETHOD(bus_setup_intr, dma_setup_intr),
+ DEVMETHOD(bus_setup_intr, bus_generic_setup_intr),
DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr),
DEVMETHOD(bus_alloc_resource, bus_generic_rl_alloc_resource),
DEVMETHOD(bus_release_resource, bus_generic_rl_release_resource),
@@ -401,25 +400,6 @@ dma_get_resource_list(device_t dev, device_t child)
return (&ddi->ddi_rl);
}
-static int
-dma_setup_intr(device_t dev, device_t child, struct resource *ires, int flags,
- driver_intr_t *intr, void *arg, void **cookiep)
-{
- struct lsi64854_softc *sc;
-
- sc = (struct lsi64854_softc *)device_get_softc(dev);
- /* XXX - for now only le; do ESP later */
- if (sc->sc_channel == L64854_CHANNEL_ENET) {
- sc->sc_intrchain = intr;
- sc->sc_intrchainarg = arg;
- intr = (driver_intr_t *)lsi64854_enet_intr;
- arg = sc;
- }
-
- return (BUS_SETUP_INTR(device_get_parent(dev), child, ires, flags,
- intr, arg, cookiep));
-}
-
static const struct ofw_bus_devinfo *
dma_get_devinfo(device_t bus, device_t child)
{
OpenPOWER on IntegriCloud