summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/ohcivar.h
diff options
context:
space:
mode:
authorn_hibma <n_hibma@FreeBSD.org>2000-03-15 22:27:24 +0000
committern_hibma <n_hibma@FreeBSD.org>2000-03-15 22:27:24 +0000
commit8dc02eb79c1e2c112eb0d0a237a050f5107f4ede (patch)
tree54316f5e2817b77292269d5d1e981ae8339d90c2 /sys/dev/usb/ohcivar.h
parentb5dac19635d11fb35b3efb4588becad7f396ac33 (diff)
downloadFreeBSD-src-8dc02eb79c1e2c112eb0d0a237a050f5107f4ede.zip
FreeBSD-src-8dc02eb79c1e2c112eb0d0a237a050f5107f4ede.tar.gz
Add the TD's to the hash when they are created not when they are used.
This makes it possible to handle the done queue even when the end of tail TD has ended up on the done queue as well (the xfer in this case is NULL but the next field is valid, so we simply skip that element. Make sure we mark all the handled transfers as handled. Stop using powerhooks. They are a NetBSD-ism.
Diffstat (limited to 'sys/dev/usb/ohcivar.h')
-rw-r--r--sys/dev/usb/ohcivar.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/usb/ohcivar.h b/sys/dev/usb/ohcivar.h
index 9d8005c..bd7000b 100644
--- a/sys/dev/usb/ohcivar.h
+++ b/sys/dev/usb/ohcivar.h
@@ -57,6 +57,7 @@ typedef struct ohci_soft_td {
u_int16_t flags;
#define OHCI_CALL_DONE 0x0001
#define OHCI_ADD_LEN 0x0002
+#define OHCI_TD_HANDLED 0x0004 /* signal process_done has seen it */
} ohci_soft_td_t;
#define OHCI_STD_SIZE ((sizeof (struct ohci_soft_td) + OHCI_TD_ALIGN - 1) / OHCI_TD_ALIGN * OHCI_TD_ALIGN)
#define OHCI_STD_CHUNK 128
@@ -106,8 +107,10 @@ typedef struct ohci_softc {
char sc_vendor[16];
int sc_id_vendor;
+#if defined(__NetBSD__) || defined(__OpenBSD__)
void *sc_powerhook;
void *sc_shutdownhook; /* cookie from shutdown hook */
+#endif
device_ptr_t sc_child;
} ohci_softc_t;
OpenPOWER on IntegriCloud