usb: add plumbing for updating interrupt endpoint interval state
authorJonathan Bell <jonathan@raspberrypi.org>
Tue, 11 Jun 2019 09:55:00 +0000 (10:55 +0100)
committerpopcornmix <popcornmix@gmail.com>
Thu, 13 Jun 2019 10:54:35 +0000 (11:54 +0100)
commited37a9faa3e7e0525c15cd6ce2d75c0570e4ff38
tree8a402d516441bba92752e3e44a7cf6c51d7c6c73
parent9fb65a12d5506e75ec58a6679bf44b656f5f8fb2
usb: add plumbing for updating interrupt endpoint interval state

xHCI caches device and endpoint data after the interface is configured,
so an explicit command needs to be issued for any device driver wanting
to alter the polling interval of an endpoint.

Add usb_fixup_endpoint() to allow drivers to do this. The fixup must be
called after calculating endpoint bandwidth requirements but before any
URBs are submitted.

If polling intervals are shortened, any bandwidth reservations are no
longer valid but in practice polling intervals are only ever relaxed.

Limit the scope to interrupt transfers for now.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
drivers/usb/core/hcd.c
drivers/usb/core/message.c
include/linux/usb.h
include/linux/usb/hcd.h