1. 23 Mar, 2007 6 commits
    • David Brownell's avatar
      musb_hdrc: Update peripheral side suspend support · 68a37991
      David Brownell authored
      Update peripheral side suspend support:
      
       - Work around some IRQ strangeness (disconnect not detected reliably
         while suspended).
      
       - Swaps out clearly-broken SRP logic (from Mentor?) with code which
         at least matches the documentation.
      
       - Track whether peripheral is suspended; this helps detect invalid remote
         wakeup requests, and will also help work around a tusb6010 peripheral
         side issue (separate patch).
      
       - For tusb6010, don't be so noisy with tps65030 idle/suspend messaging;
         among other things, it interferes with debugging.
      
       - In OTG mode, host side can now autosuspend when peripheral side is
         active (connected or otherwise).
      
      USBCV remote wakeup tests now pass.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      68a37991
    • Dirk Behme's avatar
      musb_hdrc: Fix compile warnings in musb debug code · 52405e0d
      Dirk Behme authored
      Fix compile warnings in musb debug code; it should have been checking
      the value of copy_from_user().
      Signed-off-by: default avatarDirk Behme <dirk.behme@gmail.com>
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      52405e0d
    • David Brownell's avatar
      musb_hdrc: Minor root hub cleanups · 0855214a
      David Brownell authored
      Minor root hub cleanups:
      
       - Use unaligned accessors to return status, in case usbcore passes
         a buffer that's not aligned.
      
       - Fix some glitching on restart (e.g. when switching gadget drivers
         while leaving the OTG-mode musb_hdrc driver loaded).
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      0855214a
    • David Brownell's avatar
      musb_hdrc: Update host side EP0 handling for correctness · ea4c46f2
      David Brownell authored
      Update host side EP0 handling for correctness:  handle zero-length data
      stages and continuations of ep0out transfers explicitly, clean up the state
      machine a bit.  This means that the full set of host-side ep0 tests pass.
      Usbtest cases #9 and #10 were ok before; now case #14 works too.
      
      There is however a curious protocol problem in some full speed tests, at
      least on DaVinci:  sometimes the controller won't ack an IN DATA packet,
      causing a retry.  If the peripheral doesn't resend that data correctly,
      that causes a test failure.  (And my test rig doesn't resend correctly...)
      
      This is based on a patch from "ZHENG LEI <realthunder@pmail.ntu.edu.sg>"
      against 2.6.10 code, resolving some of the ep0out problems.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      ea4c46f2
    • David Brownell's avatar
      musb_hdrc: Minor cleanups involving name changes · 8b63229c
      David Brownell authored
      Minor cleanups involving name changes, primarily on the peripheral side:
      
       - musb->bMayWakeup becomes may_wakeup (camelcase bad)
       - musb->bIsSelfPowered becomes is_self_powered (camelcase bad)
       - pThis (as parameter or variable) becomes musb (camelcase bad)
       - tusb_set_power becomes tusb_draw_power (more meaningful name)
       - tusb_set_vbus becomes tusb_source_power (more meaningful name)
      
      Also, add a flag to track if a B-Peripheral device draws any VBUS power
      (currently only tusb6010 can set that).
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      8b63229c
    • Vikram Pandita's avatar
      musb_hdrc: Fix host side remote wakeup · fceaff4d
      Vikram Pandita authored
      An incorrect bit was being set in the hub status mask during
      host side remote wakeup scenarios.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      fceaff4d
  2. 20 Mar, 2007 6 commits
  3. 19 Mar, 2007 28 commits