summaryrefslogtreecommitdiff
path: root/sys/arch/octeon
diff options
context:
space:
mode:
authorPaul Irofti <pirofti@cvs.openbsd.org>2014-07-12 14:37:18 +0000
committerPaul Irofti <pirofti@cvs.openbsd.org>2014-07-12 14:37:18 +0000
commit254effd645eabb9e1a27a50e4708e2b01b1478ce (patch)
tree6577a74f54689b814c57fbeff691cc53b21d5c0f /sys/arch/octeon
parent71b9f122458826a87fba1b2e6f94edd1ba7b8a7d (diff)
I don't need to treat the (half-)empty Tx and Rx FIFO cases.
Only the DMA-challenged host controllers need to, so don't panic! While at it add some more debug messages when the interrupt returns 0.
Diffstat (limited to 'sys/arch/octeon')
-rw-r--r--sys/arch/octeon/dev/octhci.c24
1 files changed, 4 insertions, 20 deletions
diff --git a/sys/arch/octeon/dev/octhci.c b/sys/arch/octeon/dev/octhci.c
index 354164f6c72..c90833e5678 100644
--- a/sys/arch/octeon/dev/octhci.c
+++ b/sys/arch/octeon/dev/octhci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: octhci.c,v 1.7 2014/07/12 14:31:20 pirofti Exp $ */
+/* $OpenBSD: octhci.c,v 1.8 2014/07/12 14:37:17 pirofti Exp $ */
/*
* Copyright (c) 2014 Paul Irofti <pirofti@openbsd.org>
@@ -370,30 +370,14 @@ octhci_intr1(struct octhci_softc *sc)
intsts = octhci_regc_read(sc, USBC_GINTSTS_OFFSET);
intmsk = octhci_regc_read(sc, USBC_GINTMSK_OFFSET);
- if ((intsts & intmsk) == 0)
+ if ((intsts & intmsk) == 0) {
+ DPRINTFN(16, ("%s: masked interrupt\n", DEVNAME(sc)));
return (0);
+ }
sc->sc_bus.intr_context++;
sc->sc_bus.no_intrs++;
- if (intsts & USBC_GINTSTS_RXFLVL) {
- /* Failed assumption: no DMA */
- printf("%s: Packets pending to be read from RxFIFO\n",
- DEVNAME(sc));
- sc->sc_bus.dying = 1;
- sc->sc_bus.intr_context--;
- return (1);
- }
- if ((intsts & USBC_GINTSTS_PTXFEMP) ||
- (intsts & USBC_GINTSTS_NPTXFEMP)) {
- /* Failed assumption: no DMA */
- printf("%s: Packets pending to be written on TxFIFO\n",
- DEVNAME(sc));
- sc->sc_bus.dying = 1;
- sc->sc_bus.intr_context--;
- return (1);
- }
-
octhci_regc_write(sc, USBC_GINTSTS_OFFSET, intsts); /* Acknowledge */
usb_schedsoftintr(&sc->sc_bus);
#if 0