#
22002cf4 |
|
01-Sep-2021 |
Augustin Cavalier <waddlesplash@gmail.com> |
USB: Rename usb_endpoint_companion_descriptor... ...to usb_endpoint_superspeed_companion_descriptor, as it is really SuperSpeed-specific (there are more companion descriptors introduced in SuperSpeedPlus.) No functional change, and this is a private struct at present.
|
#
086528f6 |
|
16-May-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
USB & XHCI: Refactor endpoint initialization to support SuperSpeed better. SuperSpeed (USB3) devices have a "companion descriptor" along with the endpoint descriptors that describes certain other attributes they have, which are important for the controller to schedule transfers properly. Previously we were just using USB2 values; now we are properly using USB3 ones. Tested on an Intel Lynx Point controller. As far as I can tell, no regressions, but #15000 is not fixed anyway.
|
#
60497373 |
|
21-Feb-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
USB: Pack the usb_request_data struct. We really should not be writing raw structs out to devices for endianness' sake, but that's currently what *all* the USB bus drivers do with this struct. So, add the _PACKED flag to ensure it's always precisely 8 bytes. Additionally, remove memory_chunk, as nothing uses it anymore.
|
#
642ac9c9 |
|
10-Oct-2018 |
Peter Kosyh <p.kosyh@gmail.com> |
xhci: GetPortStatus, ClearPortFeature (PS_PLC, PS_WRC) fix Fixes #13768. Change-Id: Ia783e62a15917a2c8f7b3169ee5204a8d8d6f5ef Reviewed-on: https://review.haiku-os.org/622 Reviewed-by: Jérôme Duval <jerome.duval@gmail.com> Reviewed-by: Alexander von Gluck IV <kallisti5@unixzen.com>
|
#
273c3bc4 |
|
26-Oct-2016 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
usb: Bump max USB_MAX_PORTS to 255 * Seems more common to have > 16 USB ports on xHCI hubs (18 on my XPS 13 root hub) * This fixes 'hub supports more ports than we do' error * The FreeBSD USB driver works a lot like ours and sets the maximum USB ports on a hub to 255 * Doesn't solve #12885 but fixes one of the errors
|
#
22af7532 |
|
27-Apr-2013 |
Michael Lotz <mmlr@mlotz.ch> |
Reduce port reset recovery time from 250ms to 50ms. The specs say the reset recovery time is 10ms only. The extra 40ms are taken from the Linux hub driver.
|
#
827c7224 |
|
27-Apr-2013 |
Michael Lotz <mmlr@mlotz.ch> |
Implement debounce sequence according to USB 2.0 specs. This replaces waiting a fixed time of 300ms for the device power to stabilize. In the ideal case this reduces the boot time by 200ms per connected device (including internal hubs). This is very similar to what Linux implements and we use the same time values. An interval of 25ms is used to check for connection state changes, the stable time is at least 100ms as per the USB specs and the whole process times out after 1.5 seconds.
|
#
d8b4cfc9 |
|
04-Aug-2012 |
Rene Gollent <anevilyak@gmail.com> |
Get USB functional on x86-64. - Various changes to printf format specifiers to make them 32/64 safe. - Adjustments to various descriptor structures since addr_t is not 32-bit on x86-64, and consequently this breaks the physical structure that's expected. Also adjusted padding to accomodate 32-byte boundaries when 64-bit pointers are in use. - Adjustments to make use of phys_addr_t where needed.
|
#
319a3798 |
|
22-Dec-2011 |
Jérôme Duval <jerome.duval@gmail.com> |
Work in progress on XHCI bus driver. * USB Core: Hub: pass more correct speed, port and address for USB3 devices. Transfer: doesn't care for bandwidth computation for super speed. BusManager: Make AllocateDevice() and FreeDevice() virtual, XHCI needs to setup a slot and an address for the device. Add USB_SPEED_WIRELESS usb_speed definition. Add USB2.0 erratum definition and some USB3 definitions * XHCI: Find outs which port supports SuperSpeed or not. Override AllocateDevice() to configure slot and address for a connected device. Override FreeDevice() to free ressources associated to a slot. Add context struct definitions.
|
#
0e76cf0b |
|
31-Mar-2011 |
Jérôme Duval <korli@users.berlios.de> |
added some hub ports information to listusb git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41157 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cc9f959d |
|
14-Apr-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Rename usbspec_p.h to usbspec_private.h and fix header guards. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36248 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
22af7532d1671c0ce1794b6413673fc5f886c953 |
|
27-Apr-2013 |
Michael Lotz <mmlr@mlotz.ch> |
Reduce port reset recovery time from 250ms to 50ms. The specs say the reset recovery time is 10ms only. The extra 40ms are taken from the Linux hub driver.
|
#
827c7224a0aa44530aa8dfe11ec12c0e58bcb054 |
|
27-Apr-2013 |
Michael Lotz <mmlr@mlotz.ch> |
Implement debounce sequence according to USB 2.0 specs. This replaces waiting a fixed time of 300ms for the device power to stabilize. In the ideal case this reduces the boot time by 200ms per connected device (including internal hubs). This is very similar to what Linux implements and we use the same time values. An interval of 25ms is used to check for connection state changes, the stable time is at least 100ms as per the USB specs and the whole process times out after 1.5 seconds.
|
#
d8b4cfc9829119291e68cfe0152c239fd8850b3d |
|
04-Aug-2012 |
Rene Gollent <anevilyak@gmail.com> |
Get USB functional on x86-64. - Various changes to printf format specifiers to make them 32/64 safe. - Adjustments to various descriptor structures since addr_t is not 32-bit on x86-64, and consequently this breaks the physical structure that's expected. Also adjusted padding to accomodate 32-byte boundaries when 64-bit pointers are in use. - Adjustments to make use of phys_addr_t where needed.
|
#
319a3798bc05579e8be813c2524bc89864bae489 |
|
22-Dec-2011 |
Jérôme Duval <jerome.duval@gmail.com> |
Work in progress on XHCI bus driver. * USB Core: Hub: pass more correct speed, port and address for USB3 devices. Transfer: doesn't care for bandwidth computation for super speed. BusManager: Make AllocateDevice() and FreeDevice() virtual, XHCI needs to setup a slot and an address for the device. Add USB_SPEED_WIRELESS usb_speed definition. Add USB2.0 erratum definition and some USB3 definitions * XHCI: Find outs which port supports SuperSpeed or not. Override AllocateDevice() to configure slot and address for a connected device. Override FreeDevice() to free ressources associated to a slot. Add context struct definitions.
|
#
0e76cf0b69324e071618d5a7105d1084d2a27550 |
|
31-Mar-2011 |
Jérôme Duval <korli@users.berlios.de> |
added some hub ports information to listusb git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41157 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cc9f959d8b7f501c488918df8dd0469443263438 |
|
14-Apr-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Rename usbspec_p.h to usbspec_private.h and fix header guards. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36248 a95241bf-73f2-0310-859d-f6bbb57e9c96
|