Thread (91 messages) 91 messages, 9 authors, 2016-07-06

[PATCH 04/21] usb: chipidea: Only read/write OTGSC from one place

From: Peter Chen <hidden>
Date: 2016-06-28 09:43:07
Also in: linux-arm-msm, lkml

On Mon, Jun 27, 2016 at 12:07:54PM -0700, Stephen Boyd wrote:
Quoting Jun Li (2016-06-27 01:04:39)
quoted
quoted
diff --git a/drivers/usb/chipidea/otg.c b/drivers/usb/chipidea/otg.c index
03b6743461d1..763a8332b009 100644
--- a/drivers/usb/chipidea/otg.c
+++ b/drivers/usb/chipidea/otg.c
@@ -104,7 +104,32 @@ void ci_handle_vbus_change(struct ci_hdrc *ci)
              usb_gadget_vbus_disconnect(&ci->gadget);
 }

-#define CI_VBUS_STABLE_TIMEOUT_MS 5000
+/**
+ * Sometimes, it needs to wait register value before going on.
+ * Eg, when switch to device mode, the vbus value should be lower
+ * than OTGSC_BSV before connects to host.
This should be updated since this API is dedicated for BSV now.
Ok I've updated it to say:

  When we switch to device mode, the vbus value should be lower
  than OTGSC_BSV before connecting to host.
quoted
quoted
+ *
+ * @ci: the controller
+ *
+ * This function returns an error code if timeout  */ static int
+hw_wait_otgsc_bsv(struct ci_hdrc *ci) {
+     unsigned long elapse = jiffies + msecs_to_jiffies(5000);
+     u32 mask = OTGSC_BSV;
+
+     while (!hw_read_otgsc(ci, mask)) {
Reverse logic, should be:
while (hw_read_otgsc(ci, mask)) {
Good catch! Thanks.
Besides above, please delete the declaration at ci.h.

-- 

Best Regards,
Peter Chen
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help