Commit Graph

2984 Commits

Author SHA1 Message Date
matt
15f84f36ad Regen. 2008-08-30 03:29:56 +00:00
matt
3358bb85e1 Add some more usb devices that the updated if_axe.c supports. 2008-08-30 03:27:48 +00:00
drochner
6ea9cc30bf add a "break" so that the isoc setup code doesn't access uninitialized
data if the frames allocated by a client driver don't use up all the
microframes within a frame
2008-08-28 23:08:00 +00:00
jmcneill
fc513621ad Ignore HID and audio interfaces on iPhone, iPod Touch, and iPhone 3G. Maybe
we'll have better luck driving it with ugen(4)..
2008-08-28 21:43:11 +00:00
jmcneill
d722f149b1 Regen. 2008-08-28 21:41:51 +00:00
jmcneill
42ecdc8c24 Add iPhone, iPod Touch, and iPhone 3G product IDs. 2008-08-28 21:41:19 +00:00
matt
b10d12581a Regen. 2008-08-22 03:23:30 +00:00
matt
0793292db9 Add APPLE ETHERNET 2008-08-22 03:22:25 +00:00
drochner
8991542aa2 use M_NOWAIT in an early allocation for consistency, from Kevin Lo 2008-08-21 12:25:03 +00:00
kent
fb5a41ad3a Implement uhub_rescan(). After this change, "modload uaudio.kmod"
configures an audio device correctly for a device which is already
plugged.

* usb_subr.c
 Add locators parameter to usbd_attachinterfaces()
 Add usbd_reatach_device()

* usbdivar.h
 Export usbd_reatach_device()
2008-08-18 18:03:21 +00:00
cegger
6746e5563f regen. 2008-08-18 11:49:34 +00:00
cegger
64fb7cf189 add Cherry 6000 keyboard 2008-08-18 11:48:23 +00:00
drochner
d564f76750 fix my last commit: add missing "break"s, from Marcus Glocker 2008-08-16 15:41:37 +00:00
drochner
fdb6ecdb00 free memory on detach, fixes memory leak, from Andreas Jacobs per
PR kern/39322
2008-08-13 09:43:56 +00:00
drochner
a1d4089483 fix an off-by-one in isochronous interval check, and streamline some
frame / microframe calculation, avoiding overestimation of frames needed,
reviewed by Jared D. McNeill
2008-08-12 16:35:06 +00:00
drochner
95effdc79e fix an inconsistency in a check for invalid configuration index vs. value;
noticed by Frank Wille in PR kern/39211, but unrelated to the problem
described (The check can practically never be hit.)
2008-08-12 16:30:42 +00:00
cegger
6223c57814 make i386 ALL kernel compile 2008-08-03 07:05:22 +00:00
jmcneill
cd4f8360bb High speed isochronous transfer support, from Jeremy Morse as part of
Google Summer of Code 2008.
2008-08-02 23:14:34 +00:00
jmcneill
c4b944ba64 Update copyright. 2008-08-02 22:57:36 +00:00
jmcneill
4e6a458107 High speed isochronous support, from Jeremy Morse as part of Google
Summer of Code 2008.
2008-08-02 22:23:18 +00:00
drochner
551e75d811 -ubsa needs to be attached as whole device on USB, because it sets
the configuration. The match/attach code was assuming whole-device
 attach args all the time.
-Use the first (ie index 0) configuration for ubsa -- it makes the
 code work in at least one case (PR kern/39211 by Frank Wille), and
 there is no indication that an alternative configuration would
 be needed. (I've admittedly never seen a usb device with more than
 one configuration.)
This fixes mistakes when uhmodem support was added, and the changes were
not tested with a Huawei device yet. So please test if you can.
2008-07-31 22:01:15 +00:00
drochner
6a47db887e -in usbd_probe_and_attach(), split out the code for per-device and
per-interface attachment into individual functions, to ease
 maintainance and allow easier plugin of new attachment functions
-keep a counter of USB interfaces in use on a device, and try to
 keep track of interfaces claimed by drivers behind the framework's
 back
2008-07-28 15:22:01 +00:00
drochner
3126a6b09b Don't pmf_device_deregister() if it was not registered, which happens
if attach() encountered an error before.
In contrast, such a protection should not be needed for the register()
call, so remove it there.
2008-07-28 14:19:26 +00:00
plunky
86cf58d587 remove comment that is no longer true 2008-07-26 20:16:10 +00:00
tonnerre
232e862b92 Don't ignore poor retarded ubt(4) devices which have vendor and product id
== 0. Discovered by mballmer@obsd, ok'd by plucky@.
2008-07-16 08:43:01 +00:00
gmcgarry
bdd7de96c7 Constify most umidi-quirk data. Addresses PR#39017. 2008-07-08 11:34:43 +00:00
uebayasi
83bda9894d Regen. 2008-07-08 08:55:22 +00:00
uebayasi
42185747e6 WILLCOM Advanced W-ZERO3[es] device IDs. From Ryo Shimizu. 2008-07-08 08:47:32 +00:00
uebayasi
36662bbc30 Add a device ID seen in Kojinsha notebook. From Ryo Shimizu. 2008-07-08 08:44:55 +00:00
bouyer
efe8b350b3 Add appropriate bus_dmamap_sync() calls to uhci(4), ohci(4) and ehci(4),
as proposed on tech-kern@.
While all DMA memory used in the USB framework is mapped BUS_DMAMAP_COHERENT
(including data memory, which is memcpy'd from/to USB-private buffers),
the CPU can reorder loads or stores from/to main memory, causing the
controller to have an incoherent view of the DMA descriptors lists for a
short time. bus_dmamap_sync() should contain memory barriers that prevents
the CPU from reordering load/store. Note that BUS_DMAMAP_COHERENT is
still required for the DMA descriptor lists - these can't work properly
with software cache coherency.
This fixes "host controller process error/host controller halted" errors
I'm occasionally seeing with a umodem device on uhci on x86.
Thanks to Michael Lorenz for testing it on his O2, and Izumi Tsutsui on
his Cobalt Qube 2700.
2008-06-28 17:42:53 +00:00
kent
eadd4f5dcf Make uaudio compilable as a kmod.
XXX:
"modload uaudio.kmod" doesn't attach the uaudio driver to
plugged USB devices for now because uhub_rescan() is not
implemented yet.  We need to re-plug USB devices after modload.
2008-06-28 09:14:56 +00:00
kent
b46d745a05 We don't need to include opt_usbverbose.h here. 2008-06-28 09:06:20 +00:00
drochner
04fc7d252f kill some abuse of __strong_alias which is not compatible with
split device/softc, this might fix crashes on umodem disconnect
reported by some people (eg PR kern/39050 from Matthias Pfaller)
2008-06-27 16:05:59 +00:00
jmcneill
8ac9fcb0d7 PR 39023: usbd_new_device: do not set address early, from FreeBSD. 2008-06-22 21:31:51 +00:00
jmcneill
b0ef7c658c Regen for Sony PLAYSTATION(R) Eye 2008-06-22 17:46:01 +00:00
jmcneill
64c6729ddb Add entry for Sony PLAYSTATION(R) Eye 2008-06-22 17:45:45 +00:00
jmcneill
065296bfe0 USB video class definitions, from Patrick Mahoney for GSoC 2008. 2008-06-18 14:20:31 +00:00
drochner
dd989679ec -plug a minimal memory leak on attach/detach
-avoid unnecessary tree walks and port status requests:
 -acknowledge hub status change notifications (but do nothing)
 -clear cached port status change bits earlier (but not on ehci, due
  to an ehci driver bug)
-do the ehci check on attach rather than a string comparision at runtime
2008-06-16 10:37:54 +00:00
drochner
94d328c85c fix selective port resume signaling (not used in normal operation,
just for correctness)
2008-06-16 10:29:41 +00:00
drochner
ad077b5aaa oops, forgot to pass locators when I simplified the autoconf code 2008-06-06 17:52:02 +00:00
jmcneill
06fd33749e uhci_device_intr_done: when re-queueing, pass pipe direction to
uhci_alloc_std_chain instead of always 1 (read). ok drochner
2008-06-06 11:21:16 +00:00
nonaka
0591571b21 Added missing splx() at ohci_resume(). 2008-06-04 12:38:58 +00:00
bouyer
17471e2294 Fix probable cut-n-paste error: make the virtual QH link match the physical
one. The effect of this was just that the virtual list missed the
chsqh entry, it only shows up when looking at debug outputs.
2008-06-02 20:53:29 +00:00
jmcneill
e09ade91de Set sc_suspend properly so we can avoid a potential HCH on resume. 2008-06-02 01:02:21 +00:00
jmcneill
5e10ee6416 PR kern/38774: cosmetic typo in umidireg.h: SubType/Subtype, from
Patrick Mahoney
2008-05-28 12:59:30 +00:00
drochner
0936812690 kill USB_DO_ATTACH 2008-05-27 20:46:16 +00:00
drochner
1f3341612f minor unifdef and cleanup, no functional change 2008-05-27 20:44:28 +00:00
drochner
a87b5494b4 Fix a dereference if a softc pointer which can legally be zero, leading
to a crash reported by Christoph Egger in a followup to PR kern/38528.
For consistency, keep track of the device_t pointer to child devices
rather than the softc. We really shouldn't mess with child's softc data.
2008-05-26 19:01:51 +00:00
drochner
736f4fcd27 some cleanup:
-unifdef
-since the roothub attach doesn't use locators, don't call
 config_stdsubmatch() -- it is a no-op in that case
-ifsubmatch has configuration and interface always set to useful values,
 remove unnecessary checks
-remove now unused locator definitions from shared header
2008-05-26 18:00:33 +00:00
jmcneill
07b705df60 Cleanup, use pmf, and ensure that we keep the device active in the
non-pearl case where power is sufficient.
2008-05-26 03:20:56 +00:00