From: Peter Mamonov <pmamonov@gmail.com>
To: barebox@lists.infradead.org
Cc: Peter Mamonov <pmamonov@gmail.com>
Subject: [RFC v2 2/3] WIP: usb: ehci-hcd: use non-interruptible version of mdelay()
Date: Fri, 11 Sep 2015 20:27:55 +0300 [thread overview]
Message-ID: <1441992476-11703-3-git-send-email-pmamonov@gmail.com> (raw)
In-Reply-To: <1441992476-11703-1-git-send-email-pmamonov@gmail.com>
Signed-off-by: Peter Mamonov <pmamonov@gmail.com>
---
drivers/usb/host/ehci-hcd.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index c9bf703..3d89ec5 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -133,6 +133,14 @@ static struct descriptor {
},
};
+static inline void mdelay_ni(unsigned long msecs)
+{
+ uint64_t start = get_time_ns();
+
+ while (!is_timeout_non_interruptible(start, msecs * MSECOND))
+ ;
+}
+
#define ehci_is_TDI() (ehci->flags & EHCI_HAS_TT)
static int handshake(uint32_t *ptr, uint32_t mask, uint32_t done, int usec)
@@ -673,7 +681,7 @@ ehci_submit_root(struct usb_device *dev, unsigned long pipe, void *buffer,
* root
*/
ehci_powerup_fixup(ehci);
- mdelay(50);
+ mdelay_ni(50);
ehci->portreset |= 1 << port;
/* terminate the reset */
ehci_writel(status_reg, reg & ~EHCI_PS_PR);
@@ -736,7 +744,7 @@ ehci_submit_root(struct usb_device *dev, unsigned long pipe, void *buffer,
goto unknown;
}
- mdelay(1);
+ mdelay_ni(1);
len = min3(srclen, (int)le16_to_cpu(req->length), length);
if (srcptr != NULL && len > 0)
memcpy(buffer, srcptr, len);
--
2.1.4
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2015-09-11 17:26 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-11 17:27 [RFC v2 0/3] WIP: add usb keyboard driver Peter Mamonov
2015-09-11 17:27 ` [RFC v2 1/3] usb: ehci-hcd: port periodic transactions implementation from the u-boot Peter Mamonov
2015-09-14 6:21 ` Sascha Hauer
2015-09-11 17:27 ` Peter Mamonov [this message]
2015-09-14 6:27 ` [RFC v2 2/3] WIP: usb: ehci-hcd: use non-interruptible version of mdelay() Sascha Hauer
2015-09-11 17:27 ` [RFC v2 3/3] input: port usb keyboard driver from the u-boot Peter Mamonov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1441992476-11703-3-git-send-email-pmamonov@gmail.com \
--to=pmamonov@gmail.com \
--cc=barebox@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.