5 Commits
Author SHA1 Message Date
Akshay Jaggi f91361e0db XHCI: Even more fixes.
* Fix Endpoint Context Initialisation (Refer xHCI v1.1 - 6.2.3)
 * Fix Interval Calculation (Refer xHCI v1.1 - 6.2.3.6 , USB 2.0 - 9.6.6 page 271)
 * Fix MaxBurst, MaxPacketSize Calculation (Refer xHCI v1.1 - 6.2.3.5, USB 2.0 - 9.6.6 page 271)
 * Fix MaxESITPayload Calculation (Refer xHCI v1.1 - 4.14.2)
 * Remove Link TRBs as they were never being used
 * Increase Number of TRBs per endpoint (to utilise the whole area allocated for Device TRBs)
 * Fix usage of XHCI_MAX_ENDPOINTS (most of the checks were failing at corner cases)
 * Some coding style fixes.

Signed-off-by: Augustin Cavalier <[email protected]>
Before this patch, writes to USB disks on XHCI in VirtualBox (which emulates
an Intel C210) stalled or failed. After this patch, they apparently work,
although I got mixed results - a BFS disk seemed to work perfectly, a FAT32
one also seemed to work OK but after a reboot there was data corruption. USB
mouse is still as busted as ever.
2015-12-29 13:06:33 -05:00
Akshay Jaggi b1c9a1a31d Fix Short Packet EHCI Transfers
Signed-off-by: Adrien Destugues <[email protected]>

Fixes #10867.
2014-08-06 22:19:31 +02:00
Akshay Jaggi 15777340b1 Fix UHCI Short Packet Transfers 2014-07-23 09:21:39 +02:00
Akshay Jaggi 192f01c669 XHCI USB: Some more fixes.
* Fix device speed identification.
* Fix Max Packet Size for Full-Speed devices.
* Fix IRQ rate.
* Update slot context for LS/FS devices connected to non-root HS hub.
* Fix typo.

Signed-off-by: Jérôme Duval <[email protected]>
2014-07-12 00:11:39 +02:00
Akshay Jaggi 17aa359b5d XHCI USB: Fixes.
* Add support for hubs in AllocateDevice().
* Prevent page fault in FinishTransfers().
* Set fCapabilityLength
* Correct in BIOS ownership code
* Fix context errors in _InsertEndpointForPipe().
* Update constants according to latest Specification (v1.1)
* Fix SMI code (reference
http://lkml.iu.edu/hypermail/linux/kernel/1204.2/02460.html).
* Fix Memory/Device-Slot leaks.
* Fix area allocation for TRBs.
* Fix for Intel Lynx Point and Panther Point chipsets. Also move init
of xhci before ehci, to switch USB 2.0 ports before the ehci module
discovers them.

Signed-off-by: Jérôme Duval <[email protected]>
2014-07-11 22:14:05 +02:00