summaryrefslogtreecommitdiff
path: root/sys/src/9/port/devusb.c
AgeCommit message (Collapse)Author
2022-07-31usb: fix ehci isochronous "in" split transactionscinap_lenrek
For "in" transactions, the "Total Bytes to Transfer" field in the siTD is decremented by the controller by the actual transfer size, so what remains in the field is the residue number of bytes. Also, handle restart when we get a zero byte read on a isochronous "in" endpoint in devusb itself (removing the restart code for xhci drivers). This fixes audio recording with a usb1.1 audio device connected to ehci controller.
2020-06-21devusb: keep isochronous ep->hz consistent with maxpkt, ntds and pollivalcinap_lenrek
The sample frequency is an artificial parameter used for isochronous out transfers to better match the target frequency (usually, a sound card). when hz is set, devusb adjusts the endpoint's maxpkt to get the requested frequency and a multiple of the samplesize per packet. however, when hz is not set, then we should calculate the frequency from maxpkt, ntds and pollival, so all parameters will be consistent with each other.
2020-06-06devpnp, devether, devusb: cast ISAConf.port to uvlong (for 32-bit ↵cinap_lenrek
implementations) The ISAConf.port might still be 32-bit on some archs.
2020-06-06devusb: print Hci.port as 64-bit uvlongcinap_lenrek
2018-10-20devusb: use Enotconf[] string constantcinap_lenrek
2018-06-03kernel: stop the practice of passing DMDIR to devir() perm argumentcinap_lenrek
devdir internally replicates the qid in ther perm stat field already and the practice of explicitely passing just causing confusion when done inconsistently.
2018-03-17devusb: fix format print warnings for ep->ntds and ep->uframescinap_lenrek
2018-03-06usbehci: add uframes control request to return uframes one at a timeaiju
2017-08-11devusb: superspeed bandwidth allocation handled by controller, skip ↵cinap_lenrek
usbload() calculation with xhci, bandwidth allocations are handled by the controller and there are various speed settings possible that currently not exposed in the Udev. so just keep usbload() as it is for usb2 and keep ep->load as zero for superspeed.
2017-08-02usbxhci: handle out of memory in controller initializationcinap_lenrek
2017-07-31xhci: experimental usb3 supportcinap_lenrek
2017-07-24usb: fix wrong pollival calculation in setmaxpkt()cinap_lenrek
2017-07-16usbxhci: commit work in progress xhci driver, no config yetcinap_lenrek
2016-05-05kernel: fix cb->f[0] nil dereferences due to short control requestcinap_lenrek
2015-02-20devusb: check for nil hp->dump and hp->seprintepcinap_lenrek
2015-02-20devusb: fix debug ctl nil crashcinap_lenrek
2012-12-06move devusb to portcinap_lenrek
moved devusb to port, shifting the responsibility of how to enable interrupts to the arch specific hci driver.