1. 19 9月, 2012 1 次提交
  2. 25 7月, 2012 1 次提交
  3. 17 7月, 2012 1 次提交
  4. 10 7月, 2012 1 次提交
    • A
      EHCI: centralize controller initialization · 1a49e2ac
      Alan Stern 提交于
      This patch (as1564c) converts the EHCI platform drivers to use the
      central ehci_setup() routine for generic controller initialization
      rather than each having its own idiosyncratic approach.
      
      The major point of difficulty lies in ehci-pci's many vendor- and
      device-specific workarounds.  Some of them have to be applied before
      calling ehci_setup() and some after, which necessitates a fair amount
      of code motion.  The other platform drivers require much smaller
      changes.
      
      One point not addressed by the patch is whether ports should be
      powered on or off following initialization.  The different drivers
      appear to handle this pretty much at random.  In fact it shouldn't
      matter, because the hub driver turns on power to all ports when it
      binds to the root hub.  Straightening that out will be left for
      another day.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1a49e2ac
  5. 09 5月, 2012 1 次提交
  6. 14 12月, 2011 1 次提交
  7. 18 9月, 2011 1 次提交
  8. 04 5月, 2011 1 次提交
  9. 18 2月, 2011 1 次提交
  10. 03 3月, 2010 1 次提交
  11. 29 7月, 2009 1 次提交
    • S
      USB: ehci-orion: Call ehci_reset before ehci_halt · bcfa4e68
      Simon Kagstrom 提交于
      I noticed that USB initialization didn't setup correctly on my kirkwood
      based board (OpenRD base) if I hadn't initialized USB in U-boot first.
      The error message looks like this:
      
        ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
        orion-ehci orion-ehci.0: Marvell Orion EHCI
        orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1
        orion-ehci orion-ehci.0: can't setup
        orion-ehci orion-ehci.0: USB bus 1 deregistered
        orion-ehci orion-ehci.0: init orion-ehci.0 fail, -110
        orion-ehci: probe of orion-ehci.0 failed with error -110
      
      which is caused by ehci_halt() timing out in the handshake() call. I
      noticed that U-boot does a reset before calling handshake(), so this
      patch does the same thing for Linux. USB now works for me.
      Signed-off-by: NSimon Kagstrom <simon.kagstrom@netinsight.net>
      Acked-by: NNicolas Pitre <nico@marvell.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      bcfa4e68
  12. 13 7月, 2009 1 次提交
  13. 16 6月, 2009 2 次提交
    • A
      USB: EHCI: update toggle state for linked QHs · b18ffd49
      Alan Stern 提交于
      This patch (as1245) fixes a bug in ehci-hcd.  When an URB is queued
      for an endpoint whose QH is already in the LINKED state, the QH
      doesn't get refreshed.  As a result, if usb_clear_halt() was called
      during the time that the QH was linked but idle, the data toggle value
      in the QH doesn't get reset.
      
      The symptom is that after a clear_halt, data gets lost and transfers
      time out.  This problem is starting to show up now because the
      "ehci-hcd unlink speedups" patch causes QHs with no queued URBs to
      remain linked for a suitable time.
      
      The patch utilizes the new endpoint_reset mechanism to fix the
      problem.  When an endpoint is reset, the new method forcibly unlinks
      the QH (if necessary) and safely updates the toggle value.  This
      allows qh_update() to be simplified and avoids using usb_device's
      toggle bits in a rather unintuitive way.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      CC: David Brownell <david-b@pacbell.net>
      Tested-by: NDavid <david@unsolicited.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      b18ffd49
    • U
      USB: move orion-ehci's probe function to .devinit.text · dc2f2b75
      Uwe Kleine-König 提交于
      A pointer to ehci_orion_drv_probe is passed to the core via
      platform_driver_register and so the function must not disappear when the
      .init sections are discarded.  Otherwise (if also having HOTPLUG=y)
      unbinding and binding a device to the driver via sysfs will result in an
      oops as does a device being registered late.
      
      An alternative to this patch is using platform_driver_probe instead of
      platform_driver_register plus removing the pointer to the probe function
      from the struct platform_driver.
      Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Cc: Ronen Shitrit <rshitrit@marvell.com>
      Cc: Lennert Buytenhek <buytenh@marvell.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: Nicolas Pitre <nico@marvell.com>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Tzachi Perelstein <tzachi@marvell.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      dc2f2b75
  14. 04 12月, 2008 1 次提交
  15. 09 8月, 2008 1 次提交
  16. 22 7月, 2008 1 次提交
  17. 30 5月, 2008 2 次提交
    • A
      USB: EHCI: suppress unwanted error messages · 3a31155c
      Alan Stern 提交于
      This patch (as1096) fixes an annoying problem: When a full-speed or
      low-speed device is plugged into an EHCI controller, it fails to
      enumerate at high speed and then is handed over to the companion
      controller.  But usbcore logs a misleading and unwanted error message
      when the high-speed enumeration fails.
      
      The patch adds a new HCD method, port_handed_over, which asks whether
      a port has been handed over to a companion controller.  If it has, the
      error message is suppressed.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      CC: David Brownell <david-b@pacbell.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      3a31155c
    • A
      USB: EHCI: fix up root-hub TT mess · a8e51775
      Alan Stern 提交于
      This patch (as1095) cleans up the HCD glue and several of the EHCI
      bus-glue files.  The ehci->is_tdi_rh_tt flag is redundant, since it
      means the same thing as the hcd->has_tt flag, so it is removed and the
      other flag used in its place.
      
      Some of the bus-glue files didn't get the relinquish_port method added
      to their hc_driver structures.  Although that routine currently
      doesn't do anything for controllers with an integrated TT, in the
      future it might.  So the patch adds it where it is missing.
      
      Lastly, some of the bus-glue files have erroneous entries for their
      hc_driver's suspend and resume methods.  These method pointers are
      specific to PCI and shouldn't be used otherwise.
      
      (The patch also includes an invisible whitespace fix.)
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Acked-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      a8e51775
  18. 21 5月, 2008 1 次提交
  19. 28 3月, 2008 2 次提交
  20. 02 2月, 2008 1 次提交