usb: xhci-mtk: relax TT periodic bandwidth allocation
authorChunfeng Yun <chunfeng.yun@mediatek.com>
Fri, 19 Aug 2022 08:05:55 +0000 (16:05 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 19 Aug 2022 08:39:05 +0000 (10:39 +0200)
commit8b13ea05117ffad4727b0971ed09122d5c91c4dc
treeb70e974be3fcd4123130f0ef8d4263c031d9b07f
parentc1e5c2f0cb8a22ec2e14af92afc7006491bebabb
usb: xhci-mtk: relax TT periodic bandwidth allocation

Currently uses the worst case byte budgets on FS/LS bus bandwidth,
for example, for an isochronos IN endpoint with 192 bytes budget, it
will consume the whole 5 uframes(188 * 5) while the actual FS bus
budget should be just 192 bytes. It cause that many usb audio headsets
with 3 interfaces (audio input, audio output, and HID) cannot be
configured.
To improve it, changes to use "approximate" best case budget for FS/LS
bandwidth management. For the same endpoint from the above example,
the approximate best case budget is now reduced to (188 * 2) bytes.

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Cc: stable <stable@kernel.org>
Link: https://lore.kernel.org/r/20220819080556.32215-1-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-mtk-sch.c