Module Name: src
Committed By: mrg
Date: Thu Feb 23 09:25:04 UTC 2012
Modified Files:
src/sys/dev/usb [jmcneill-usbmp]: ehci.c ohci.c uhci.c usb.c usbdi.c
usbdi_util.c usbdivar.h
Log Message:
update a bunch of comments for reality. usb lock isn't a "thread lock",
which is terminology we copied from the audiomp code.
To generate a diff of this commit:
cvs rdiff -u -r1.181.6.10 -r1.181.6.11 src/sys/dev/usb/ehci.c
cvs rdiff -u -r1.218.6.11 -r1.218.6.12 src/sys/dev/usb/ohci.c
cvs rdiff -u -r1.240.6.10 -r1.240.6.11 src/sys/dev/usb/uhci.c
cvs rdiff -u -r1.125.6.9 -r1.125.6.10 src/sys/dev/usb/usb.c
cvs rdiff -u -r1.134.2.10 -r1.134.2.11 src/sys/dev/usb/usbdi.c
cvs rdiff -u -r1.55.12.1 -r1.55.12.2 src/sys/dev/usb/usbdi_util.c
cvs rdiff -u -r1.93.8.7 -r1.93.8.8 src/sys/dev/usb/usbdivar.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/usb/ehci.c
diff -u src/sys/dev/usb/ehci.c:1.181.6.10 src/sys/dev/usb/ehci.c:1.181.6.11
--- src/sys/dev/usb/ehci.c:1.181.6.10 Mon Feb 20 22:42:24 2012
+++ src/sys/dev/usb/ehci.c Thu Feb 23 09:25:04 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: ehci.c,v 1.181.6.10 2012/02/20 22:42:24 mrg Exp $ */
+/* $NetBSD: ehci.c,v 1.181.6.11 2012/02/23 09:25:04 mrg Exp $ */
/*
* Copyright (c) 2004-2011 The NetBSD Foundation, Inc.
@@ -53,7 +53,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ehci.c,v 1.181.6.10 2012/02/20 22:42:24 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ehci.c,v 1.181.6.11 2012/02/23 09:25:04 mrg Exp $");
#include "ohci.h"
#include "uhci.h"
@@ -1406,11 +1406,11 @@ ehci_freex(struct usbd_bus *bus, usbd_xf
}
Static void
-ehci_get_lock(struct usbd_bus *bus, kmutex_t **thread)
+ehci_get_lock(struct usbd_bus *bus, kmutex_t **lock)
{
struct ehci_softc *sc = bus->hci_private;
- *thread = &sc->sc_lock;
+ *lock = &sc->sc_lock;
}
Static void
@@ -1811,7 +1811,7 @@ ehci_open(usbd_pipe_handle pipe)
}
/*
- * Add an ED to the schedule. Called with USB thread lock held.
+ * Add an ED to the schedule. Called with USB lock held.
*/
Static void
ehci_add_qh(ehci_softc_t *sc, ehci_soft_qh_t *sqh, ehci_soft_qh_t *head)
@@ -1839,7 +1839,7 @@ ehci_add_qh(ehci_softc_t *sc, ehci_soft_
}
/*
- * Remove an ED from the schedule. Called with USB thread lock held.
+ * Remove an ED from the schedule. Called with USB lock held.
*/
Static void
ehci_rem_qh(ehci_softc_t *sc, ehci_soft_qh_t *sqh, ehci_soft_qh_t *head)
Index: src/sys/dev/usb/ohci.c
diff -u src/sys/dev/usb/ohci.c:1.218.6.11 src/sys/dev/usb/ohci.c:1.218.6.12
--- src/sys/dev/usb/ohci.c:1.218.6.11 Mon Feb 20 06:50:21 2012
+++ src/sys/dev/usb/ohci.c Thu Feb 23 09:25:04 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: ohci.c,v 1.218.6.11 2012/02/20 06:50:21 mrg Exp $ */
+/* $NetBSD: ohci.c,v 1.218.6.12 2012/02/23 09:25:04 mrg Exp $ */
/* $FreeBSD: src/sys/dev/usb/ohci.c,v 1.22 1999/11/17 22:33:40 n_hibma Exp $ */
/*
@@ -42,7 +42,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ohci.c,v 1.218.6.11 2012/02/20 06:50:21 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ohci.c,v 1.218.6.12 2012/02/23 09:25:04 mrg Exp $");
#include "opt_usb.h"
@@ -991,11 +991,11 @@ ohci_freex(struct usbd_bus *bus, usbd_xf
}
Static void
-ohci_get_lock(struct usbd_bus *bus, kmutex_t **thread)
+ohci_get_lock(struct usbd_bus *bus, kmutex_t **lock)
{
struct ohci_softc *sc = bus->hci_private;
- *thread = &sc->sc_lock;
+ *lock = &sc->sc_lock;
}
/*
@@ -1865,7 +1865,7 @@ ohci_device_request(usbd_xfer_handle xfe
}
/*
- * Add an ED to the schedule. Called with USB thread lock held.
+ * Add an ED to the schedule. Called with USB lock held.
*/
Static void
ohci_add_ed(ohci_softc_t *sc, ohci_soft_ed_t *sed, ohci_soft_ed_t *head)
@@ -1890,7 +1890,7 @@ ohci_add_ed(ohci_softc_t *sc, ohci_soft_
}
/*
- * Remove an ED from the schedule. Called with USB thread lock held.
+ * Remove an ED from the schedule. Called with USB lock held.
*/
Static void
ohci_rem_ed(ohci_softc_t *sc, ohci_soft_ed_t *sed, ohci_soft_ed_t *head)
@@ -1925,7 +1925,7 @@ ohci_rem_ed(ohci_softc_t *sc, ohci_soft_
*/
#define HASH(a) (((a) >> 4) % OHCI_HASH_SIZE)
-/* Called with USB thread lock held. */
+/* Called with USB lock held. */
void
ohci_hash_add_td(ohci_softc_t *sc, ohci_soft_td_t *std)
{
@@ -1936,7 +1936,7 @@ ohci_hash_add_td(ohci_softc_t *sc, ohci_
LIST_INSERT_HEAD(&sc->sc_hash_tds[h], std, hnext);
}
-/* Called with USB thread lock held. */
+/* Called with USB lock held. */
void
ohci_hash_rem_td(ohci_softc_t *sc, ohci_soft_td_t *std)
{
@@ -1960,7 +1960,7 @@ ohci_hash_find_td(ohci_softc_t *sc, ohci
return (NULL);
}
-/* Called with USB thread lock held. */
+/* Called with USB lock held. */
void
ohci_hash_add_itd(ohci_softc_t *sc, ohci_soft_itd_t *sitd)
{
@@ -1974,7 +1974,7 @@ ohci_hash_add_itd(ohci_softc_t *sc, ohci
LIST_INSERT_HEAD(&sc->sc_hash_itds[h], sitd, hnext);
}
-/* Called with USB thread lock held. */
+/* Called with USB lock held. */
void
ohci_hash_rem_itd(ohci_softc_t *sc, ohci_soft_itd_t *sitd)
{
Index: src/sys/dev/usb/uhci.c
diff -u src/sys/dev/usb/uhci.c:1.240.6.10 src/sys/dev/usb/uhci.c:1.240.6.11
--- src/sys/dev/usb/uhci.c:1.240.6.10 Mon Feb 20 06:50:21 2012
+++ src/sys/dev/usb/uhci.c Thu Feb 23 09:25:04 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: uhci.c,v 1.240.6.10 2012/02/20 06:50:21 mrg Exp $ */
+/* $NetBSD: uhci.c,v 1.240.6.11 2012/02/23 09:25:04 mrg Exp $ */
/* $FreeBSD: src/sys/dev/usb/uhci.c,v 1.33 1999/11/17 22:33:41 n_hibma Exp $ */
/*
@@ -43,7 +43,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uhci.c,v 1.240.6.10 2012/02/20 06:50:21 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uhci.c,v 1.240.6.11 2012/02/23 09:25:04 mrg Exp $");
#include "opt_usb.h"
@@ -698,11 +698,11 @@ uhci_freex(struct usbd_bus *bus, usbd_xf
}
Static void
-uhci_get_lock(struct usbd_bus *bus, kmutex_t **thread)
+uhci_get_lock(struct usbd_bus *bus, kmutex_t **lock)
{
struct uhci_softc *sc = bus->hci_private;
- *thread = &sc->sc_lock;
+ *lock = &sc->sc_lock;
}
@@ -1089,7 +1089,7 @@ uhci_rem_loop(uhci_softc_t *sc) {
}
}
-/* Add high speed control QH, called with thread lock held. */
+/* Add high speed control QH, called with lock held. */
void
uhci_add_hs_ctrl(uhci_softc_t *sc, uhci_soft_qh_t *sqh)
{
@@ -1116,7 +1116,7 @@ uhci_add_hs_ctrl(uhci_softc_t *sc, uhci_
#endif
}
-/* Remove high speed control QH, called with thread lock held. */
+/* Remove high speed control QH, called with lock held. */
void
uhci_remove_hs_ctrl(uhci_softc_t *sc, uhci_soft_qh_t *sqh)
{
@@ -1166,7 +1166,7 @@ uhci_remove_hs_ctrl(uhci_softc_t *sc, uh
sc->sc_hctl_end = pqh;
}
-/* Add low speed control QH, called with thread lock held. */
+/* Add low speed control QH, called with lock held. */
void
uhci_add_ls_ctrl(uhci_softc_t *sc, uhci_soft_qh_t *sqh)
{
@@ -1189,7 +1189,7 @@ uhci_add_ls_ctrl(uhci_softc_t *sc, uhci_
sc->sc_lctl_end = sqh;
}
-/* Remove low speed control QH, called with thread lock held. */
+/* Remove low speed control QH, called with lock held. */
void
uhci_remove_ls_ctrl(uhci_softc_t *sc, uhci_soft_qh_t *sqh)
{
@@ -1223,7 +1223,7 @@ uhci_remove_ls_ctrl(uhci_softc_t *sc, uh
sc->sc_lctl_end = pqh;
}
-/* Add bulk QH, called with thread lock held. */
+/* Add bulk QH, called with lock held. */
void
uhci_add_bulk(uhci_softc_t *sc, uhci_soft_qh_t *sqh)
{
@@ -1247,7 +1247,7 @@ uhci_add_bulk(uhci_softc_t *sc, uhci_sof
uhci_add_loop(sc);
}
-/* Remove bulk QH, called with thread lock held. */
+/* Remove bulk QH, called with lock held. */
void
uhci_remove_bulk(uhci_softc_t *sc, uhci_soft_qh_t *sqh)
{
@@ -1499,7 +1499,7 @@ uhci_check_intr(uhci_softc_t *sc, uhci_i
uhci_idone(ii);
}
-/* Called with USB thread lock held. */
+/* Called with USB lock held. */
void
uhci_idone(uhci_intr_info_t *ii)
{
Index: src/sys/dev/usb/usb.c
diff -u src/sys/dev/usb/usb.c:1.125.6.9 src/sys/dev/usb/usb.c:1.125.6.10
--- src/sys/dev/usb/usb.c:1.125.6.9 Mon Feb 20 06:50:21 2012
+++ src/sys/dev/usb/usb.c Thu Feb 23 09:25:04 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: usb.c,v 1.125.6.9 2012/02/20 06:50:21 mrg Exp $ */
+/* $NetBSD: usb.c,v 1.125.6.10 2012/02/23 09:25:04 mrg Exp $ */
/*
* Copyright (c) 1998, 2002, 2008 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: usb.c,v 1.125.6.9 2012/02/20 06:50:21 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: usb.c,v 1.125.6.10 2012/02/23 09:25:04 mrg Exp $");
#include "opt_compat_netbsd.h"
#include "opt_usb.h"
@@ -420,7 +420,7 @@ usb_event_thread(void *arg)
cv_signal(&sc->sc_bus->needs_explore_cv);
mutex_exit(sc->sc_bus->lock);
} else
- wakeup(sc);
+ wakeup(sc); /* XXXSMP ok */
DPRINTF(("usb_event_thread: exit\n"));
kthread_exit(0);
@@ -839,7 +839,7 @@ usb_needs_explore(usbd_device_handle dev
cv_signal(&dev->bus->needs_explore_cv);
mutex_exit(dev->bus->lock);
} else
- wakeup(&dev->bus->needs_explore);
+ wakeup(&dev->bus->needs_explore); /* XXXSMP ok */
}
void
@@ -854,7 +854,7 @@ usb_needs_reattach(usbd_device_handle de
cv_signal(&dev->bus->needs_explore_cv);
mutex_exit(dev->bus->lock);
} else
- wakeup(&dev->bus->needs_explore);
+ wakeup(&dev->bus->needs_explore); /* XXXSMP ok */
}
/* Called at with usb_event_lock held. */
@@ -1038,7 +1038,7 @@ usb_detach(device_t self, int flags)
sc->sc_bus->lock, hz * 60);
mutex_exit(sc->sc_bus->lock);
} else {
- wakeup(&sc->sc_bus->needs_explore);
+ wakeup(&sc->sc_bus->needs_explore); /* XXXSMP ok */
tsleep(sc, PWAIT, "usbdet", hz * 60);
}
}
Index: src/sys/dev/usb/usbdi.c
diff -u src/sys/dev/usb/usbdi.c:1.134.2.10 src/sys/dev/usb/usbdi.c:1.134.2.11
--- src/sys/dev/usb/usbdi.c:1.134.2.10 Mon Feb 20 22:42:47 2012
+++ src/sys/dev/usb/usbdi.c Thu Feb 23 09:25:04 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: usbdi.c,v 1.134.2.10 2012/02/20 22:42:47 mrg Exp $ */
+/* $NetBSD: usbdi.c,v 1.134.2.11 2012/02/23 09:25:04 mrg Exp $ */
/* $FreeBSD: src/sys/dev/usb/usbdi.c,v 1.28 1999/11/17 22:33:49 n_hibma Exp $ */
/*
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: usbdi.c,v 1.134.2.10 2012/02/20 22:42:47 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: usbdi.c,v 1.134.2.11 2012/02/23 09:25:04 mrg Exp $");
#include "opt_compat_netbsd.h"
#include "opt_usb.h"
@@ -756,7 +756,7 @@ usbd_ar_pipe(usbd_pipe_handle pipe)
return (USBD_NORMAL_COMPLETION);
}
-/* Called with USB thread lock held. */
+/* Called with USB lock held. */
void
usb_transfer_complete(usbd_xfer_handle xfer)
{
@@ -861,7 +861,7 @@ usb_transfer_complete(usbd_xfer_handle x
if (pipe->device->bus->lock)
cv_broadcast(&xfer->cv);
else
- wakeup(xfer);
+ wakeup(xfer); /* XXXSMP ok */
}
if (!repeat) {
@@ -873,7 +873,7 @@ usb_transfer_complete(usbd_xfer_handle x
}
}
-/* Called with USB thread lock held. */
+/* Called with USB lock held. */
usbd_status
usb_insert_transfer(usbd_xfer_handle xfer)
{
@@ -903,7 +903,7 @@ usb_insert_transfer(usbd_xfer_handle xfe
return (err);
}
-/* Called with USB thread lock held. */
+/* Called with USB lock held. */
void
usbd_start_next(usbd_pipe_handle pipe)
{
Index: src/sys/dev/usb/usbdi_util.c
diff -u src/sys/dev/usb/usbdi_util.c:1.55.12.1 src/sys/dev/usb/usbdi_util.c:1.55.12.2
--- src/sys/dev/usb/usbdi_util.c:1.55.12.1 Thu Dec 8 03:10:09 2011
+++ src/sys/dev/usb/usbdi_util.c Thu Feb 23 09:25:03 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: usbdi_util.c,v 1.55.12.1 2011/12/08 03:10:09 mrg Exp $ */
+/* $NetBSD: usbdi_util.c,v 1.55.12.2 2012/02/23 09:25:03 mrg Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: usbdi_util.c,v 1.55.12.1 2011/12/08 03:10:09 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: usbdi_util.c,v 1.55.12.2 2012/02/23 09:25:03 mrg Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -425,7 +425,7 @@ usbd_bulk_transfer_cb(usbd_xfer_handle x
if (xfer->pipe->device->bus->lock)
cv_broadcast(&xfer->cv);
else
- wakeup(xfer);
+ wakeup(xfer); /* XXXSMP ok */
}
usbd_status
@@ -474,7 +474,7 @@ usbd_intr_transfer_cb(usbd_xfer_handle x
if (xfer->pipe->device->bus->lock)
cv_broadcast(&xfer->cv);
else
- wakeup(xfer);
+ wakeup(xfer); /* XXXSMP ok */
}
usbd_status
Index: src/sys/dev/usb/usbdivar.h
diff -u src/sys/dev/usb/usbdivar.h:1.93.8.7 src/sys/dev/usb/usbdivar.h:1.93.8.8
--- src/sys/dev/usb/usbdivar.h:1.93.8.7 Mon Feb 20 22:43:12 2012
+++ src/sys/dev/usb/usbdivar.h Thu Feb 23 09:25:03 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: usbdivar.h,v 1.93.8.7 2012/02/20 22:43:12 mrg Exp $ */
+/* $NetBSD: usbdivar.h,v 1.93.8.8 2012/02/23 09:25:03 mrg Exp $ */
/* $FreeBSD: src/sys/dev/usb/usbdivar.h,v 1.11 1999/11/17 22:33:51 n_hibma Exp $ */
/*
@@ -37,28 +37,26 @@
/*
* Discussion about locking in the USB code:
*
- * This is one lock presented by the host controller: the thread lock.
- * Host controller drivers are expected to manage interrupt state
- * internally.
+ * The host controller presents one lock at IPL_USB.
*
* List of hardware interface methods, and which locks are held when each
* is called by this module:
*
- * BUS METHOD THREAD NOTES
+ * BUS METHOD LOCK NOTES
* ----------------------- ------- -------------------------
- * open_pipe - might want to take thread lock?
+ * open_pipe - might want to take lock?
* soft_intr x
- * do_poll - might want to take thread lock?
+ * do_poll - might want to take lock?
* allocm -
* freem -
* allocx -
* freex -
* get_lock - Called at attach time
*
- * PIPE METHOD THREAD NOTES
+ * PIPE METHOD LOCK NOTES
* ----------------------- ------- -------------------------
* transfer -
- * start - Might want to take this?
+ * start - might want to take lock?
* abort x
* close x
* cleartoggle -
@@ -66,8 +64,8 @@
*
* The above semantics are likely to change.
*
- * USB functions known to expect the thread lock taken include (this
- * list is probably not exhaustive):
+ * USB functions known to expect the lock taken include (this list is
+ * probably not exhaustive):
* usb_transfer_complete()
* usb_insert_transfer()
* usb_start_next()