diff mbox series

[v3,4/4] usb: xhci-mtk: use first-fit for LS/FS

Message ID 20210507021127.54717-4-chunfeng.yun@mediatek.com
State New
Headers show
Series [v3,1/4] usb: xhci-mtk: use bitfield instead of bool | expand

Commit Message

Chunfeng Yun (云春峰) May 7, 2021, 2:11 a.m. UTC
Use first-fit instead of best-fit for LS/FS devices under TT,
we found that best-fit will consume more bandwidth for some
cases.

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
v3: no changes
---
 drivers/usb/host/xhci-mtk-sch.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Ikjoon Jang June 10, 2021, 3:40 a.m. UTC | #1
On Fri, May 7, 2021 at 10:11 AM Chunfeng Yun <chunfeng.yun@mediatek.com> wrote:
>

> Use first-fit instead of best-fit for LS/FS devices under TT,

> we found that best-fit will consume more bandwidth for some

> cases.

>

> Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>


Reviewed-and-Tested-by: Ikjoon Jang <ikjn@chromium.org>

> ---

> v3: no changes

> ---

>  drivers/usb/host/xhci-mtk-sch.c | 5 +++++

>  1 file changed, 5 insertions(+)

>

> diff --git a/drivers/usb/host/xhci-mtk-sch.c b/drivers/usb/host/xhci-mtk-sch.c

> index 9fb75085e40f..c07411d9b16f 100644

> --- a/drivers/usb/host/xhci-mtk-sch.c

> +++ b/drivers/usb/host/xhci-mtk-sch.c

> @@ -634,6 +634,11 @@ static int check_sch_bw(struct mu3h_sch_bw_info *sch_bw,

>                         min_bw = worst_bw;

>                         min_index = offset;

>                 }

> +

> +               /* use first-fit for LS/FS */

> +               if (sch_ep->sch_tt && min_index >= 0)

> +                       break;

> +

>                 if (min_bw == 0)

>                         break;

>         }

> --

> 2.18.0

>
diff mbox series

Patch

diff --git a/drivers/usb/host/xhci-mtk-sch.c b/drivers/usb/host/xhci-mtk-sch.c
index 9fb75085e40f..c07411d9b16f 100644
--- a/drivers/usb/host/xhci-mtk-sch.c
+++ b/drivers/usb/host/xhci-mtk-sch.c
@@ -634,6 +634,11 @@  static int check_sch_bw(struct mu3h_sch_bw_info *sch_bw,
 			min_bw = worst_bw;
 			min_index = offset;
 		}
+
+		/* use first-fit for LS/FS */
+		if (sch_ep->sch_tt && min_index >= 0)
+			break;
+
 		if (min_bw == 0)
 			break;
 	}