dwc_otg: make periodic scheduling behave properly for FS buses
authorP33M <p33m@github.com>
Thu, 25 May 2017 15:04:53 +0000 (16:04 +0100)
committerRaspbian kernel package updater <root@raspbian.org>
Sun, 8 Oct 2017 01:08:10 +0000 (01:08 +0000)
commitde9f4d9f940fb957802f9d50652324ef46675a2c
tree5598c78dc931559a87adbdb749dafcf773bd4263
parentb0ce74915f31d93edf0ba848c44d258f41910c14
dwc_otg: make periodic scheduling behave properly for FS buses

If the root port is in full-speed mode, transfer times at 12mbit/s
would be calculated but matched against high-speed quotas.

Reinitialise hcd->frame_usecs[i] on each port enable event so that
full-speed bandwidth can be tracked sensibly.

Also, don't bother using the FIQ for transfers when in full-speed
mode - at the slower bus speed, interrupt frequency is reduced by
an order of magnitude.

Related issue: https://github.com/raspberrypi/linux/issues/2020
drivers/usb/host/dwc_otg/dwc_otg_hcd.c
drivers/usb/host/dwc_otg/dwc_otg_hcd.h
drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c