MFNetBSD.
rev. 1.67, author: mycroft Fix a byte order error. rev. 1.68, author: mycroft Adjust some silliness that was causing us to do extra work for "frame list rollover" interrupts, which we pretty much ignore. Obtained from: NetBSD
This commit is contained in:
parent
0d3dd6d003
commit
e65b8f47b3
@ -6,6 +6,8 @@
|
||||
* up to
|
||||
* $NetBSD: ehci.c,v 1.64 2004/06/23 06:45:56 mycroft Exp $
|
||||
* $NetBSD: ehci.c,v 1.66 2004/06/30 03:11:56 mycroft Exp $
|
||||
* $NetBSD: ehci.c,v 1.67 2004/07/06 04:18:05 mycroft Exp $
|
||||
* $NetBSD: ehci.c,v 1.68 2004/07/09 05:07:06 mycroft Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -534,11 +536,9 @@ ehci_intr1(ehci_softc_t *sc)
|
||||
}
|
||||
|
||||
intrs = EHCI_STS_INTRS(EOREAD4(sc, EHCI_USBSTS));
|
||||
|
||||
if (!intrs)
|
||||
return (0);
|
||||
|
||||
EOWRITE4(sc, EHCI_USBSTS, intrs); /* Acknowledge */
|
||||
eintrs = intrs & sc->sc_eintrs;
|
||||
DPRINTFN(7, ("ehci_intr: sc=%p intrs=0x%x(0x%x) eintrs=0x%x\n",
|
||||
sc, (u_int)intrs, EOREAD4(sc, EHCI_USBSTS),
|
||||
@ -546,6 +546,7 @@ ehci_intr1(ehci_softc_t *sc)
|
||||
if (!eintrs)
|
||||
return (0);
|
||||
|
||||
EOWRITE4(sc, EHCI_USBSTS, intrs); /* Acknowledge */
|
||||
sc->sc_bus.intr_context++;
|
||||
sc->sc_bus.no_intrs++;
|
||||
if (eintrs & EHCI_STS_IAA) {
|
||||
@ -2155,13 +2156,12 @@ ehci_alloc_sqtd_chain(struct ehci_pipe *epipe, ehci_softc_t *sc,
|
||||
printf("status=%08x toggle=%d\n", epipe->sqh->qh.qh_qtd.qtd_status,
|
||||
epipe->nexttoggle);
|
||||
#endif
|
||||
qtdstatus = htole32(
|
||||
EHCI_QTD_ACTIVE |
|
||||
qtdstatus = EHCI_QTD_ACTIVE |
|
||||
EHCI_QTD_SET_PID(rd ? EHCI_QTD_PID_IN : EHCI_QTD_PID_OUT) |
|
||||
EHCI_QTD_SET_CERR(3)
|
||||
/* IOC set below */
|
||||
/* BYTES set below */
|
||||
);
|
||||
;
|
||||
mps = UGETW(epipe->pipe.endpoint->edesc->wMaxPacketSize);
|
||||
tog = epipe->nexttoggle;
|
||||
qtdstatus |= EHCI_QTD_SET_TOGGLE(tog);
|
||||
@ -2250,7 +2250,7 @@ printf("status=%08x toggle=%d\n", epipe->sqh->qh.qh_qtd.qtd_status,
|
||||
cur->nextqtd = next;
|
||||
cur->qtd.qtd_next = cur->qtd.qtd_altnext = nextphys;
|
||||
cur->qtd.qtd_status =
|
||||
qtdstatus | htole32(EHCI_QTD_SET_BYTES(curlen));
|
||||
htole32(qtdstatus | EHCI_QTD_SET_BYTES(curlen));
|
||||
cur->xfer = xfer;
|
||||
cur->len = curlen;
|
||||
DPRINTFN(10,("ehci_alloc_sqtd_chain: cbp=0x%08x end=0x%08x\n",
|
||||
|
Loading…
Reference in New Issue
Block a user