Tracking issue for XHCI
Support configure endpoint commands through
Support alternate interfaces. Right now though, there should be a way to get the currently selected configuration and interface, because
configure_endpointsjust discards those parameters when the xHC doesn't support multiple configurations.
- Use correct parameters for all device types (this requires the knowing USB2 speed, as in low-speed, high-speed, and full-speed), particularly in the endpoint contexts.
Implement transfers, accessible through the API. The API is currently a bit limited though, as it for example only supports up to 64KiB transactions.
- Implement streams. Streams aren't really implemented as of now, because only one stream is used all the time, which kind of eliminates the point of streams. However, since streams are required for superspeed devices, they are needed for proper xHC operation.
Use IRQs correctly
- For optimal performance, MSI and/or MSI-X
Add an interface between
xhcidand the class specific drivers.
- Support modifying descriptors properly, which would also require implementing the XHCI Evaluate Context command.
- Support stopping and resetting endpoints
- Support resetting devices