Re: [PATCH v6] usb: xhci-mtk: fix unreleased bandwidth data
From: Chunfeng Yun <chunfeng.yun@mediatek.com>
Date: 2021-01-26 17:14:55
Also in:
linux-mediatek, linux-usb, lkml
Hi Ikjoon, Can I put this patch into my patch series about bandwidth scheduler? the series also include "[RFC PATCH v3 1/5] usb: xhci-mtk: improve bandwidth scheduling with multi-TT", put them together will help to fix dependence issue, meanwhile I try to build xhci-mtk-sch.c into xhci-mtk.ko instead of xhci-hcd.ko. Thanks a lot On Wed, 2021-01-13 at 18:05 +0800, Ikjoon Jang wrote:
xhci-mtk needs XHCI_MTK_HOST quirk functions in add_endpoint() and
drop_endpoint() to handle its own sw bandwidth management.
It stores bandwidth data into an internal table every time
add_endpoint() is called, and drops those in drop_endpoint().
But when bandwidth allocation fails at one endpoint, all earlier
allocation from the same interface could still remain at the table.
This patch moves bandwidth management codes to check_bandwidth() and
reset_bandwidth() path. To do so, this patch also adds those functions
to xhci_driver_overrides and lets mtk-xhci to release all failed
endpoints in reset_bandwidth() path.
Fixes: 08e469de87a2 ("usb: xhci-mtk: supports bandwidth scheduling with multi-TT")
Signed-off-by: Ikjoon Jang <redacted>
---
Changes in v6:
- use xhci overrides instead of quirk functions for
{check|reset}_bandwidth().
Changes in v5:
- Fix a wrong commit id in Fixes tag
Changes in v4:
- bugfix in v3, check_bandwidth() return uninitialized value
when no new endpoints were added.
- change Fixes tag to keep dependency
Changes in v3:
- drop unrelated code cleanups
- change Fixes tag to keep dependency
Changes in v2:
- fix a 0-day warning from unused variable
- split one big patch into three patches
- fix wrong offset in mediatek hw flags
drivers/usb/host/xhci-mtk-sch.c | 123 ++++++++++++++++++++++----------
drivers/usb/host/xhci-mtk.c | 2 +
drivers/usb/host/xhci-mtk.h | 13 ++++
drivers/usb/host/xhci.c | 8 ++-
drivers/usb/host/xhci.h | 4 ++
5 files changed, 111 insertions(+), 39 deletions(-)_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel