Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/dev/ic The HCD should no longer restart a repeating tran...
details: https://anonhg.NetBSD.org/src/rev/ba914896aada
branches: trunk
changeset: 345181:ba914896aada
user: skrll <skrll%NetBSD.org@localhost>
date: Wed May 11 21:02:10 2016 +0000
description:
The HCD should no longer restart a repeating transfer (i.e. an interrupt
transfer) as this is now handled in the usb core code.
diffstat:
sys/dev/ic/sl811hs.c | 36 +++---------------------------------
1 files changed, 3 insertions(+), 33 deletions(-)
diffs (82 lines):
diff -r 4fe9c41b1cdc -r ba914896aada sys/dev/ic/sl811hs.c
--- a/sys/dev/ic/sl811hs.c Wed May 11 19:35:08 2016 +0000
+++ b/sys/dev/ic/sl811hs.c Wed May 11 21:02:10 2016 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: sl811hs.c,v 1.61 2016/05/11 06:07:52 skrll Exp $ */
+/* $NetBSD: sl811hs.c,v 1.62 2016/05/11 21:02:10 skrll Exp $ */
/*
* Not (c) 2007 Matthew Orgass
@@ -68,7 +68,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sl811hs.c,v 1.61 2016/05/11 06:07:52 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sl811hs.c,v 1.62 2016/05/11 21:02:10 skrll Exp $");
#include "opt_slhci.h"
@@ -493,7 +493,6 @@
static void slhci_queue_timed(struct slhci_softc *, struct slhci_pipe *);
static void slhci_xfer_timer(struct slhci_softc *, struct slhci_pipe *);
-static void slhci_do_repeat(struct slhci_softc *, struct usbd_xfer *);
static void slhci_callback_schedule(struct slhci_softc *);
static void slhci_do_callback_schedule(struct slhci_softc *);
#if 0
@@ -1474,23 +1473,18 @@
void
slhci_do_callback(struct slhci_softc *sc, struct usbd_xfer *xfer)
{
+ SLHCIHIST_FUNC(); SLHCIHIST_CALLED();
KASSERT(mutex_owned(&sc->sc_intr_lock));
- int repeat;
-
start_cc_time(&t_callback, (u_int)xfer);
mutex_exit(&sc->sc_intr_lock);
mutex_enter(&sc->sc_lock);
- repeat = xfer->ux_pipe->up_repeat;
usb_transfer_complete(xfer);
mutex_exit(&sc->sc_lock);
mutex_enter(&sc->sc_intr_lock);
stop_cc_time(&t_callback);
-
- if (repeat && !sc->sc_bus.ub_usepolling)
- slhci_do_repeat(sc, xfer);
}
int
@@ -2452,30 +2446,6 @@
}
static void
-slhci_do_repeat(struct slhci_softc *sc, struct usbd_xfer *xfer)
-{
- SLHCIHIST_FUNC(); SLHCIHIST_CALLED();
- struct slhci_transfers *t;
- struct slhci_pipe *spipe;
-
- t = &sc->sc_transfers;
- spipe = SLHCI_PIPE2SPIPE(xfer->ux_pipe);
-
- if (xfer == t->rootintr)
- return;
-
- DLOG(D_TRACE, "REPEAT: xfer %p actlen %d frame %u now %u",
- xfer, xfer->ux_actlen, spipe->frame, sc->sc_transfers.frame);
-
- xfer->ux_actlen = 0;
- spipe->xfer = xfer;
- if (spipe->tregs[LEN])
- KASSERT(spipe->buffer == xfer->ux_buf);
- slhci_queue_timed(sc, spipe);
- slhci_dotransfer(sc);
-}
-
-static void
slhci_callback_schedule(struct slhci_softc *sc)
{
struct slhci_transfers *t;
Home |
Main Index |
Thread Index |
Old Index