#
edd8e471 |
|
11-Jun-2023 |
X512 <danger_mail@list.ru> |
xhci: fix root hub endpoint companion descriptor size Fixes "SuperSpeed device without an endpoint companion descriptor!" error on riscv64. Change-Id: Ie4d02997f17b68ea89bb3f3c8ab1ead99a2fc07a Reviewed-on: https://review.haiku-os.org/c/haiku/+/6596 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
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.
|
#
6e2bbbb1 |
|
12-Jul-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
USB: Rename USB_SPEED_SUPER to USB_SPEED_SUPERSPEED. For consistency's sake with the others.
|
#
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.
|
#
2b31b4a8 |
|
01-May-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
Work in progress on xHCI bus driver. * added more traces, coding style * added xhci_td, xhci_endpoint structs. * SubmitRequest: this links a 3-stage TD control request into the endpoint ring. * _InsertEndpointForPipe: when a pipe is created, configure the endpoint and set up the controller cookie. * CreateDescriptor and FreeDescriptor: allocates memory for a TD. * _LinkDescriptorForPipe: link a TD in an endpoint ring. * _UnlinkDescriptorForPipe: unlink a TD * AllocateDevice: slot number zero isn't valid. stick the slot number to the device struct. configure the default endpoint before calling SetAddress. address is found in the device context instead of the input context. device address passed to the USB stack has to begin with 1. * Ring: check for invalid slot/endpoint combination. ring the slot doorbell instead of the doorbell 0. * Root hub: fixed USB version. * HandleTransferComplete: finds out the TD which submitted a transfer.
|
#
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.
|
#
d6e4f54f |
|
29-Jul-2011 |
Jérôme Duval <korli@users.berlios.de> |
Patch by Jian Chiang as part of his GSoc Project (coding style fixes by myself): * xhci controller start operation * command ring and event ring initialization * No-Op Command test and real xhci irq handle * xhci root hub support * add Super Speed enumeration and xhci_rh.cpp into jamfile git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42511 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2b31b4a88cdcc94b3db80cd453b9fd366420873c |
|
01-May-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
Work in progress on xHCI bus driver. * added more traces, coding style * added xhci_td, xhci_endpoint structs. * SubmitRequest: this links a 3-stage TD control request into the endpoint ring. * _InsertEndpointForPipe: when a pipe is created, configure the endpoint and set up the controller cookie. * CreateDescriptor and FreeDescriptor: allocates memory for a TD. * _LinkDescriptorForPipe: link a TD in an endpoint ring. * _UnlinkDescriptorForPipe: unlink a TD * AllocateDevice: slot number zero isn't valid. stick the slot number to the device struct. configure the default endpoint before calling SetAddress. address is found in the device context instead of the input context. device address passed to the USB stack has to begin with 1. * Ring: check for invalid slot/endpoint combination. ring the slot doorbell instead of the doorbell 0. * Root hub: fixed USB version. * HandleTransferComplete: finds out the TD which submitted a transfer.
|
#
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.
|
#
d6e4f54f2de4c76fbfbe85fc348a8fde8c296dc6 |
|
29-Jul-2011 |
Jérôme Duval <korli@users.berlios.de> |
Patch by Jian Chiang as part of his GSoc Project (coding style fixes by myself): * xhci controller start operation * command ring and event ring initialization * No-Op Command test and real xhci irq handle * xhci root hub support * add Super Speed enumeration and xhci_rh.cpp into jamfile git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42511 a95241bf-73f2-0310-859d-f6bbb57e9c96
|