From 050da2107a7eb2a571a8a3d0cee21cc6a44b72b8 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 7 May 2018 12:07:32 +0200 Subject: mediatek: backport upstream mediatek patches Signed-off-by: John Crispin --- ...k-use-ports-count-from-xhci-in-xhci_mtk_s.patch | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 target/linux/mediatek/patches-4.14/0127-usb-xhci-mtk-use-ports-count-from-xhci-in-xhci_mtk_s.patch (limited to 'target/linux/mediatek/patches-4.14/0127-usb-xhci-mtk-use-ports-count-from-xhci-in-xhci_mtk_s.patch') diff --git a/target/linux/mediatek/patches-4.14/0127-usb-xhci-mtk-use-ports-count-from-xhci-in-xhci_mtk_s.patch b/target/linux/mediatek/patches-4.14/0127-usb-xhci-mtk-use-ports-count-from-xhci-in-xhci_mtk_s.patch new file mode 100644 index 0000000000..67fc84ed3d --- /dev/null +++ b/target/linux/mediatek/patches-4.14/0127-usb-xhci-mtk-use-ports-count-from-xhci-in-xhci_mtk_s.patch @@ -0,0 +1,60 @@ +From f97aa71fe34135e7fc8da6231e61ee06f79d739d Mon Sep 17 00:00:00 2001 +From: Chunfeng Yun +Date: Fri, 13 Oct 2017 16:26:34 +0800 +Subject: [PATCH 127/224] usb: xhci-mtk: use ports count from xhci in + xhci_mtk_sch_init() + +Make use of ports count from xhci but not from ippc in +xhci_mtk_sch_init() + +Signed-off-by: Chunfeng Yun +Acked-by: Mathias Nyman +Signed-off-by: Greg Kroah-Hartman +--- + drivers/usb/host/xhci-mtk-sch.c | 3 ++- + drivers/usb/host/xhci-mtk.c | 3 --- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/drivers/usb/host/xhci-mtk-sch.c b/drivers/usb/host/xhci-mtk-sch.c +index 6e7ddf6cafae..bfc51bc902b8 100644 +--- a/drivers/usb/host/xhci-mtk-sch.c ++++ b/drivers/usb/host/xhci-mtk-sch.c +@@ -287,12 +287,13 @@ static bool need_bw_sch(struct usb_host_endpoint *ep, + + int xhci_mtk_sch_init(struct xhci_hcd_mtk *mtk) + { ++ struct xhci_hcd *xhci = hcd_to_xhci(mtk->hcd); + struct mu3h_sch_bw_info *sch_array; + int num_usb_bus; + int i; + + /* ss IN and OUT are separated */ +- num_usb_bus = mtk->num_u3_ports * 2 + mtk->num_u2_ports; ++ num_usb_bus = xhci->num_usb3_ports * 2 + xhci->num_usb2_ports; + + sch_array = kcalloc(num_usb_bus, sizeof(*sch_array), GFP_KERNEL); + if (sch_array == NULL) +diff --git a/drivers/usb/host/xhci-mtk.c b/drivers/usb/host/xhci-mtk.c +index c197a6d9e157..9502ca408f01 100644 +--- a/drivers/usb/host/xhci-mtk.c ++++ b/drivers/usb/host/xhci-mtk.c +@@ -492,7 +492,6 @@ static void xhci_mtk_quirks(struct device *dev, struct xhci_hcd *xhci) + /* called during probe() after chip reset completes */ + static int xhci_mtk_setup(struct usb_hcd *hcd) + { +- struct xhci_hcd *xhci = hcd_to_xhci(hcd); + struct xhci_hcd_mtk *mtk = hcd_to_mtk(hcd); + int ret; + +@@ -507,8 +506,6 @@ static int xhci_mtk_setup(struct usb_hcd *hcd) + return ret; + + if (usb_hcd_is_primary_hcd(hcd)) { +- mtk->num_u3_ports = xhci->num_usb3_ports; +- mtk->num_u2_ports = xhci->num_usb2_ports; + ret = xhci_mtk_sch_init(mtk); + if (ret) + return ret; +-- +2.11.0 + -- cgit v1.2.3