summaryrefslogtreecommitdiffstats
path: root/configs/platform-v7a/patches/barebox-2021.04.0/0001-usb-dwc2-increase-timeout-for-waiting-on-host-mode.patch
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2021-06-02 13:18:03 +0200
committerRobert Schwebel <r.schwebel@pengutronix.de>2021-06-02 14:47:11 +0200
commit0327845e38e69f1551954139404dee5d202fa800 (patch)
tree7ddc2bcff7964612a1cdcfd5b3b18a4c2a180f6f /configs/platform-v7a/patches/barebox-2021.04.0/0001-usb-dwc2-increase-timeout-for-waiting-on-host-mode.patch
parent28a9ba420a1afa1e02d5e735edb3bcafbc1f8881 (diff)
downloadDistroKit-0327845e38e69f1551954139404dee5d202fa800.tar.gz
DistroKit-0327845e38e69f1551954139404dee5d202fa800.tar.xz
v7a: barebox: version bump v2021.04.0 → v2021.05.0
Updating to v2021.05.0 lets us drop the single patch we have, as it went upstream in revised form. Kconfig changes are those produced by oldconfig. One notable new option is CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW_IKCONFIG, which allows barebox to embed its configuration as /env/data/config analogously to /proc/config.gz, which we already enable for Linux. This is not enabled here, but might be something we want to use eventually. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20210602111803.15832-1-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
Diffstat (limited to 'configs/platform-v7a/patches/barebox-2021.04.0/0001-usb-dwc2-increase-timeout-for-waiting-on-host-mode.patch')
-rw-r--r--configs/platform-v7a/patches/barebox-2021.04.0/0001-usb-dwc2-increase-timeout-for-waiting-on-host-mode.patch67
1 files changed, 0 insertions, 67 deletions
diff --git a/configs/platform-v7a/patches/barebox-2021.04.0/0001-usb-dwc2-increase-timeout-for-waiting-on-host-mode.patch b/configs/platform-v7a/patches/barebox-2021.04.0/0001-usb-dwc2-increase-timeout-for-waiting-on-host-mode.patch
deleted file mode 100644
index 06908ca..0000000
--- a/configs/platform-v7a/patches/barebox-2021.04.0/0001-usb-dwc2-increase-timeout-for-waiting-on-host-mode.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 91d5f4dfeaa72957bb8349c8af2da36a615b05a4 Mon Sep 17 00:00:00 2001
-From: Ahmad Fatoum <a.fatoum@pengutronix.de>
-Date: Wed, 21 Apr 2021 09:27:04 +0200
-Subject: [PATCH master] usb: dwc2: increase timeout for waiting on host mode
-
-Commit 26459ab7803a ("usb: dwc2: Rework wait for host mode during
-core reset") effectively reduced the timeout on switch to host mode
-from 200ms to 110 us, which is insufficient for the IP on the Raspberry
-Pi 3b, leading to:
-
- dwc2 3f980000.usb@7e980000.of: dwc2_wait_for_mode: Couldn't set host mode
-
-and an unusable USB (and Ethernet) after.
-
-Bump up the timeout to 200ms and help future debugging by logging how
-much time it actually took. For the Raspberry 3b I got a value of 49ms.
-
-Note that this is also called from dwc2_force_mode, so worst case is
-that a stuck IP delays barebox startup by 200ms.
-An error message would alert to this fact, so it can be corrected.
-
-Fixes: 26459ab7803a ("usb: dwc2: Rework wait for host mode during core reset")
-Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
-Link: https://lore.pengutronix.de/20210421072704.520-1-a.fatoum@pengutronix.de
----
- drivers/usb/dwc2/core.c | 20 ++++++++++++--------
- 1 file changed, 12 insertions(+), 8 deletions(-)
-
-diff --git a/drivers/usb/dwc2/core.c b/drivers/usb/dwc2/core.c
-index 5d04a07b0393..7813344ffa65 100644
---- a/drivers/usb/dwc2/core.c
-+++ b/drivers/usb/dwc2/core.c
-@@ -688,19 +688,23 @@ int dwc2_get_dr_mode(struct dwc2 *dwc2)
- */
- void dwc2_wait_for_mode(struct dwc2 *dwc2, bool host_mode)
- {
-- unsigned int timeout = 110 * USECOND;
-- int ret;
-+ unsigned int timeout = 200 * MSECOND;
-+ uint64_t start;
-
- dev_vdbg(dwc2->dev, "Waiting for %s mode\n",
- host_mode ? "host" : "device");
-
-- ret = wait_on_timeout(timeout, dwc2_is_host_mode(dwc2) == host_mode);
-- if (ret)
-- dev_err(dwc2->dev, "%s: Couldn't set %s mode\n",
-- __func__, host_mode ? "host" : "device");
-+ start = get_time_ns();
-+ while (dwc2_is_host_mode(dwc2) != host_mode) {
-+ if (is_timeout(start, timeout)) {
-+ dev_err(dwc2->dev, "%s: Couldn't set %s mode\n",
-+ __func__, host_mode ? "host" : "device");
-+ return;
-+ }
-+ }
-
-- dev_vdbg(dwc2->dev, "%s mode set\n",
-- host_mode ? "Host" : "Device");
-+ dev_vdbg(dwc2->dev, "%s mode set after %lluns\n",
-+ host_mode ? "Host" : "Device", get_time_ns() - start);
- }
-
- /**
---
-2.29.2
-