1. 03 3月, 2010 13 次提交
  2. 16 2月, 2010 1 次提交
  3. 24 12月, 2009 3 次提交
  4. 16 12月, 2009 1 次提交
  5. 12 12月, 2009 1 次提交
  6. 01 12月, 2009 1 次提交
  7. 23 9月, 2009 1 次提交
  8. 29 7月, 2009 2 次提交
  9. 22 7月, 2009 1 次提交
  10. 16 6月, 2009 6 次提交
    • A
      musb: add high bandwidth ISO support · a483d706
      Ajay Kumar Gupta 提交于
      Tested on OMAP3 host side with Creative (Live! Cam Optia) USB camera
      which uses high bandwidth isochronous IN endpoints.  FIFO mode 4 is
      updated to provide the needed 4K endpoint buffer without breaking
      the g_nokia composite gadget configuration.  (This is the only
      gadget driver known to use enough endpoints to notice the change.)
      Signed-off-by: NAjay Kumar Gupta <ajay.gupta@ti.com>
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      a483d706
    • D
      musb: support disconnect after HNP roleswitch · ab983f2a
      David Brownell 提交于
      Adjust HNP state machines in MUSB driver so that they handle the
      case where the cable is disconnected.  The A-side machine was
      very wrong (unrecoverable); the B-Side was much less so.
      
       - A_PERIPHERAL ... as usual, the non-observability of the ID
         pin through Mentor's registers makes trouble.  We can't go
         directly to A_WAIT_VFALL to end the session and start the
         disconnect processing.  We can however sense link suspending,
         go to A_WAIT_BCON, and from there use OTG timeouts to finally
         trigger that A_WAIT_VFALL transition.  (Hoping that nobody
         reconnects quickly to that port and notices the wrong state.)
      
       - B_HOST ... actually clear the Host Request (HR) bit as the
         messages say, disconnect the peripheral from the root hub,
         and don't detour through a suspend state.  (In some cases
         this would eventually have cleaned up.)
      
      Also adjust the A_SUSPEND transition to respect the A_AIDL_BDIS
      timeout, so if HNP doesn't trigger quickly enough the A_WAIT_VFALL
      transition happens as it should.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      ab983f2a
    • D
      musb: make initial HNP roleswitch work (v2) · 1de00dae
      David Brownell 提交于
      Minor HNP bugfixes, so the initial role switch works:
      
       - A-Device:
           * disconnect-during-suspend enters A_PERIPHERAL state
           * kill OTG timer after reset as A_PERIPHERAL ...
           * ... and also pass that reset to the gadget
           * once HNP succeeds, clear the "ignore_disconnect" flag
           * from A_PERIPHERAL, disconnect transitions to A_WAIT_BCON
      
       - B-Device:
           * kill OTG timer on entry to B_HOST state (HNP succeeded)
           * once HNP succeeds, clear "ignore_disconnect" flag
           * kick the root hub only _after_ the state is adjusted
      
      Other state transitions are left alone.  Notably, exit paths from
      the "roles have switched" state ... A_PERIPHERAL handling of that
      stays seriously broken.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      1de00dae
    • D
      musb: otg timer cleanup · f7f9d63e
      David Brownell 提交于
      Minor cleanup of OTG timer handling:
          * unify decls for OTG time constants, in the core header
          * set up and use that timer in a more normal way
          * move to the driver struct, so it's usable outside core
      
      And tighten use and setup of T(a_wait_bcon) so that if it's used,
      it's always valid.  (If that timer expires, the A-device will
      stop powering VBUS.  For non-OTG systems, that will be a surprise.)
      No behavioral changes, other than more consistency when applying
      that core HNP timeout.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      f7f9d63e
    • D
      musb: proper hookup to transceiver drivers · 84e250ff
      David Brownell 提交于
      Let the otg_transceiver in MUSB be managed by an external driver;
      don't assume it's integrated.  OMAP3 chips need it to be external,
      and there may be ways to interact with the transceiver which add
      functionality to the system.
      
      Platform init code is responsible for setting up the transeciver,
      probably using the NOP transceiver for integrated transceivers.
      External ones will use whatever the board init code provided,
      such as twl4030 or something more hands-off.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      84e250ff
    • S
      musb_gadget: fix unhandled endpoint 0 IRQs · a5073b52
      Sergei Shtylyov 提交于
      The gadget EP0 code routinely ignores an interrupt at end of
      the data phase because of musb_g_ep0_giveback() resetting the
      state machine to "idle, waiting for SETUP" phase prematurely.
      
      The driver also prematurely leaves the status phase on
      receiving the SetupEnd interrupt.
      
      As there were still unhandled endpoint 0 interrupts happening
      from time to time after fixing these issues, there turned to
      be yet another culprit: two distinct gadget states collapsed
      into one.
      
      The (missing) state that comes after STATUS IN/OUT states was
      typically indiscernible from them since the corresponding
      interrupts tend to happen within too little period of time
      (due to only a zero-length status packet in between) and so
      they got coalesced; yet this state is not the same as the next
      one which is associated with the reception of a SETUP packet.
      
      Adding this extra state seems to have fixed the rest of the
      unhandled interrupts that generic_interrupt() and
      davinci_interrupt() hid by faking their result and only
      emitting a debug message -- so, stop doing that.
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      a5073b52
  11. 24 4月, 2009 1 次提交
  12. 18 4月, 2009 1 次提交
  13. 25 3月, 2009 1 次提交
    • A
      USB: musb: only turn off vbus in OTG hosts · 74382171
      Ajay Kumar Gupta 提交于
      Except on DaVinci, VBUS is now switched off as part of idling the
      USB link (after a_wait_bcon) whenever a device is disconnected
      from host.  This is correct for OTG hosts, where either SRP or
      an ID interrupt could turn VBUS on again.
      
      However, for non-OTG hosts there's no way to turn VBUS on again,
      so the host becomes unusable.  And the procfs entry which once
      allowed a manual workaround for this is now gone.
      
      This patch adds an is_otg_enabled() check before scheduling the
      switch-off timer in disconnect path, supporting a "classic host"
      mode where SRP is unavailable.
      
      [ dbrownell@users.sourceforge.net: tweak patch description ]
      Signed-off-by: NAjay Kumar Gupta <ajay.gupta@ti.com>
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      74382171
  14. 28 2月, 2009 3 次提交
  15. 28 1月, 2009 1 次提交
  16. 08 1月, 2009 3 次提交