summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci-mtk.h
diff options
context:
space:
mode:
authorChunfeng Yun <chunfeng.yun@mediatek.com>2021-03-08 10:51:51 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-03-10 09:37:16 +0100
commite19ee44a3d07c232f9241024dab1ebd0748cdf5f (patch)
tree0cb9eba4d87e4521902d28a90015359fd76c0cc1 /drivers/usb/host/xhci-mtk.h
parent5fa5827566e3affa1657ccf9b22706c06a5d021a (diff)
downloadlinux-stable-e19ee44a3d07c232f9241024dab1ebd0748cdf5f.tar.gz
linux-stable-e19ee44a3d07c232f9241024dab1ebd0748cdf5f.tar.bz2
linux-stable-e19ee44a3d07c232f9241024dab1ebd0748cdf5f.zip
usb: xhci-mtk: improve bandwidth scheduling with TT
When the USB headset is plug into an external hub, sometimes can't set config due to not enough bandwidth, so need improve LS/FS INT/ISOC bandwidth scheduling with TT. Fixes: 54f6a8af3722 ("usb: xhci-mtk: skip dropping bandwidth of unchecked endpoints") Cc: stable <stable@vger.kernel.org> Signed-off-by: Yaqii Wu <yaqii.wu@mediatek.com> Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com> Link: https://lore.kernel.org/r/2f30e81400a59afef5f8231c98149169c7520519.1615170625.git.chunfeng.yun@mediatek.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host/xhci-mtk.h')
-rw-r--r--drivers/usb/host/xhci-mtk.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/usb/host/xhci-mtk.h b/drivers/usb/host/xhci-mtk.h
index cbb09dfea62e..f42769c69249 100644
--- a/drivers/usb/host/xhci-mtk.h
+++ b/drivers/usb/host/xhci-mtk.h
@@ -20,13 +20,15 @@
#define XHCI_MTK_MAX_ESIT 64
/**
- * @split_bit_map: used to avoid split microframes overlay
+ * @ss_bit_map: used to avoid start split microframes overlay
+ * @fs_bus_bw: array to keep track of bandwidth already used for FS
* @ep_list: Endpoints using this TT
* @usb_tt: usb TT related
* @tt_port: TT port number
*/
struct mu3h_sch_tt {
- DECLARE_BITMAP(split_bit_map, XHCI_MTK_MAX_ESIT);
+ DECLARE_BITMAP(ss_bit_map, XHCI_MTK_MAX_ESIT);
+ u32 fs_bus_bw[XHCI_MTK_MAX_ESIT];
struct list_head ep_list;
struct usb_tt *usb_tt;
int tt_port;