summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/controller/at91dci_fdt.c
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2014-08-05 18:48:12 +0000
committerhselasky <hselasky@FreeBSD.org>2014-08-05 18:48:12 +0000
commit1d56927a73b079d1d4ba65a37751cf879ca269e4 (patch)
tree174b5e89ea24a54d21d71e365679290db62f633b /sys/dev/usb/controller/at91dci_fdt.c
parent9513739a47728a2ab6f7b2f5938d7ca223a60413 (diff)
downloadFreeBSD-src-1d56927a73b079d1d4ba65a37751cf879ca269e4.zip
FreeBSD-src-1d56927a73b079d1d4ba65a37751cf879ca269e4.tar.gz
- Implement fast interrupt handler to save CPU usage.
- Cleanup some register reads and writes to use existing register access macros. - Ensure code which only applies to the control endpoint is not run for other endpoints in the data transfer path. MFC after: 3 days
Diffstat (limited to 'sys/dev/usb/controller/at91dci_fdt.c')
-rw-r--r--sys/dev/usb/controller/at91dci_fdt.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/sys/dev/usb/controller/at91dci_fdt.c b/sys/dev/usb/controller/at91dci_fdt.c
index e1c5dd8..7329a39 100644
--- a/sys/dev/usb/controller/at91dci_fdt.c
+++ b/sys/dev/usb/controller/at91dci_fdt.c
@@ -218,13 +218,8 @@ at91_udp_attach(device_t dev)
}
device_set_ivars(sc->sc_dci.sc_bus.bdev, &sc->sc_dci.sc_bus);
-#if (__FreeBSD_version >= 700031)
- err = bus_setup_intr(dev, sc->sc_dci.sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE,
- NULL, (driver_intr_t *)at91dci_interrupt, sc, &sc->sc_dci.sc_intr_hdl);
-#else
- err = bus_setup_intr(dev, sc->sc_dci.sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE,
- (driver_intr_t *)at91dci_interrupt, sc, &sc->sc_dci.sc_intr_hdl);
-#endif
+ err = bus_setup_intr(dev, sc->sc_dci.sc_irq_res, INTR_TYPE_TTY | INTR_MPSAFE,
+ at91dci_filter_interrupt, at91dci_interrupt, sc, &sc->sc_dci.sc_intr_hdl);
if (err) {
sc->sc_dci.sc_intr_hdl = NULL;
goto error;
OpenPOWER on IntegriCloud