aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorweitaowang-oc@zhaoxin.com <weitaowang-oc@zhaoxin.com>2020-08-09 14:22:23 +0000
committerGerd Hoffmann <kraxel@redhat.com>2020-09-30 12:52:57 +0200
commit849c5e50b6f474df6cc113130575bcdccfafcd9e (patch)
treef2dab20b5ed1057201eeb7627f264e9ea7c7c5c5
parent41289b83ed3847dc45e7af3f1b7cb3cec6b6e7a5 (diff)
downloadseabios-hppa-849c5e50b6f474df6cc113130575bcdccfafcd9e.zip
seabios-hppa-849c5e50b6f474df6cc113130575bcdccfafcd9e.tar.gz
seabios-hppa-849c5e50b6f474df6cc113130575bcdccfafcd9e.tar.bz2
USB:Fix xHCI initail fail by using longer reset and CNR clear timeout value
Some xHCI controller's reset time than 100ms,such as 120ms. On the on hand, xHCI spec has not specified a timeout value. Maybe setting xHCI HCRST and CNR bit clear timeout value larger is a nice thing.As a compromise between compatibility and latency,we can take 1000ms as a timeout value. Signed-off-by: WeitaoWangoc <WeitaoWang-oc@zhaoxin.com> Message-Id: <159698294308.14.13067234241650533818@b63950293ec5>
-rw-r--r--src/hw/usb-xhci.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/hw/usb-xhci.c b/src/hw/usb-xhci.c
index 08d1e32..21d091f 100644
--- a/src/hw/usb-xhci.c
+++ b/src/hw/usb-xhci.c
@@ -467,9 +467,9 @@ configure_xhci(void *data)
dprintf(3, "%s: resetting\n", __func__);
writel(&xhci->op->usbcmd, XHCI_CMD_HCRST);
- if (wait_bit(&xhci->op->usbcmd, XHCI_CMD_HCRST, 0, 100) != 0)
+ if (wait_bit(&xhci->op->usbcmd, XHCI_CMD_HCRST, 0, 1000) != 0)
goto fail;
- if (wait_bit(&xhci->op->usbsts, XHCI_STS_CNR, 0, 100) != 0)
+ if (wait_bit(&xhci->op->usbsts, XHCI_STS_CNR, 0, 1000) != 0)
goto fail;
writel(&xhci->op->config, xhci->slots);