1. 17 12月, 2015 2 次提交
  2. 15 12月, 2015 1 次提交
  3. 09 12月, 2015 1 次提交
  4. 08 12月, 2015 1 次提交
    • T
      usb: musb: core: Fix pm runtime for deferred probe · 4d055910
      Tony Lindgren 提交于
      If musb_init_controller fails at musb_platform_init, we have already
      called pm_runtime_irq_safe for musb and that causes the pm runtime count
      to be enabled for parent before the parent has completed initialization.
      This causes pm to stop working as on unload nothing gets idled.
      
      This issue can be reproduced at least with:
      
      # modprobe omap2430
      HS USB OTG: no transceiver configured
      musb-hdrc musb-hdrc.0.auto: musb_init_controller failed with status -517
      # modprobe phy-twl4030-usb
      # rmmod omap2430
      
      And after the steps above omap2430 will block deeper idle states on
      omap3.
      
      To fix this, let's not enable pm runtime until we need to and the
      parent has been initialized. Note that this does not fix the issue of
      PM being broken for musb during runtime.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      4d055910
  5. 19 11月, 2015 1 次提交
    • A
      usb: musb: USB_TI_CPPI41_DMA requires dmaengine support · 183e53e8
      Arnd Bergmann 提交于
      The CPPI-4.1 driver selects TI_CPPI41, which is a dmaengine
      driver and that may not be available when CONFIG_DMADEVICES
      is not set:
      
      warning: (USB_TI_CPPI41_DMA) selects TI_CPPI41 which has unmet direct dependencies (DMADEVICES && ARCH_OMAP)
      
      This adds an extra dependency to avoid generating warnings in randconfig
      builds. Ideally we'd remove the 'select' statement, but that has the
      potential to break defconfig files.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Fixes: 411dd19c ("usb: musb: Kconfig: Select the DMA driver if DMA mode of MUSB is enabled")
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      183e53e8
  6. 18 11月, 2015 2 次提交
    • B
      usb: musb: enable usb_dma parameter · 51676c8d
      Bin Liu 提交于
      Change the permission of usb_dma parameter so it can
      be used for runtime debug without reboot.
      Signed-off-by: NBin Liu <b-liu@ti.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      51676c8d
    • B
      usb: musb: fix tx fifo flush handling · 68fe05e2
      Bin Liu 提交于
      Here are a few changes in musb_h_tx_flush_fifo().
      
      - It has been observed that sometimes (if not always) musb is unable
        to flush tx fifo during urb dequeue when disconnect a device. But
        it seems to be harmless, since the tx fifo flush is done again in
        musb_ep_program() when re-use the hw_ep.
      
        But the WARN() floods the console in the case when multiple tx urbs
        are queued, so change it to dev_WARN_ONCE().
      
      - applications could queue up many tx urbs, then the 1ms delay could
        causes minutes of delay in device disconnect. So remove it to get
        better user experience. The 1ms delay does not help the flushing
        anyway.
      
      - cleanup the debug code - related to lastcsr.
      
      ----
      Note: The tx fifo flush issue has been observed during device disconnect
      on AM335x.
      
      To reproduce the issue, ensure tx urb(s) are queued when unplug the usb
      device which is connected to AM335x usb host port.
      
      I found using a usb-ethernet device and running iperf (client on AM335x)
      has very high chance to trigger the problem.
      
      Better to turn on dev_dbg() in musb_cleanup_urb() with CPPI enabled to
      see the issue when aborting the tx channel.
      Signed-off-by: NBin Liu <b-liu@ti.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      68fe05e2
  7. 17 11月, 2015 1 次提交
    • U
      usb: musb: core: fix order of arguments to ulpi write callback · 705e63d2
      Uwe Kleine-König 提交于
      There is a bit of a mess in the order of arguments to the ulpi write
      callback. There is
      
      	int ulpi_write(struct ulpi *ulpi, u8 addr, u8 val)
      
      in drivers/usb/common/ulpi.c;
      
      	struct usb_phy_io_ops {
      		...
      		int (*write)(struct usb_phy *x, u32 val, u32 reg);
      	}
      
      in include/linux/usb/phy.h.
      
      The callback registered by the musb driver has to comply to the latter,
      but up to now had "offset" first which effectively made the function
      broken for correct users. So flip the order and while at it also
      switch to the parameter names of struct usb_phy_io_ops's write.
      
      Fixes: ffb865b1 ("usb: musb: add ulpi access operations")
      Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      705e63d2
  8. 29 10月, 2015 1 次提交
    • T
      usb: musb: omap2430: Fix regression caused by driver core change · 8f2279d5
      Tony Lindgren 提交于
      Commit ddef08dd ("Driver core: wakeup the parent device before trying
      probe") started automatically ensuring the parent device is enabled when
      the child gets probed.
      
      This however caused a regression for MUSB omap2430 interface as the
      runtime PM for the parent device needs the child initialized to access
      the MUSB hardware registers.
      
      Let's delay the enabling of PM runtime for the parent until the child
      has been properly initialized as suggested in an earlier patch by
      Grygorii Strashko <grygorii.strashko@ti.com>.
      
      In addition to delaying pm_runtime_enable, we now also need to make sure
      the parent is enabled during omap2430_musb_init. We also want to propagate
      an error from omap2430_runtime_resume if struct musb is not initialized.
      
      Note that we use pm_runtime_put_noidle here for both the child and parent
      to prevent an extra runtime_suspend/resume cycle.
      
      Let's also add some comments to avoid confusion between the
      two different devices.
      
      Fixes: ddef08dd ("Driver core: wakeup the parent device before
      trying probe")
      Suggested-by: NGrygorii Strashko <grygorii.strashko@ti.com>
      Reviewed-by: NGrygorii Strashko <grygorii.strashko@ti.com>
      Acked-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      8f2279d5
  9. 16 10月, 2015 1 次提交
  10. 10 10月, 2015 1 次提交
  11. 27 9月, 2015 4 次提交
  12. 22 9月, 2015 2 次提交
  13. 14 9月, 2015 3 次提交
  14. 07 8月, 2015 1 次提交
  15. 06 8月, 2015 4 次提交
  16. 05 8月, 2015 2 次提交
  17. 03 8月, 2015 1 次提交
  18. 31 7月, 2015 1 次提交
  19. 29 7月, 2015 3 次提交
  20. 07 7月, 2015 1 次提交
    • F
      usb: musb: host: rely on port_mode to call musb_start() · be9d3988
      Felipe Balbi 提交于
      Currently, we're calling musb_start() twice for DRD ports
      in some situations. This has been observed to cause enumeration
      issues after suspend/resume cycles with AM335x.
      
      In order to fix the problem, we just have to fix the check
      on musb_has_gadget() so that it only returns true if
      current mode is Host and ignore the fact that we have or
      not a gadget driver loaded.
      
      Fixes: ae44df2e (usb: musb: call musb_start() only once in OTG mode)
      Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
      Cc: <stable@vger.kernel.org> # v3.11+
      Tested-by: NSekhar Nori <nsekhar@ti.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      be9d3988
  21. 28 5月, 2015 2 次提交
    • F
      usb: musb: ux500: fix build warnings · 30d09223
      Felipe Balbi 提交于
      This patch fixes the following build warnings:
      
      drivers/usb/musb/ux500.c:346:12: warning: ‘ux500_suspend’ defined but
      not used [-Wunused-function]
      drivers/usb/musb/ux500.c:357:12: warning: ‘ux500_resume’ defined but not
      used [-Wunused-function]
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      30d09223
    • F
      usb: musb: am35x: fix build warnings · fea2fc6e
      Felipe Balbi 提交于
      This patch fixes the following build warnings:
      
      drivers/usb/musb/am35x.c:573:12: warning: ‘am35x_suspend’ defined but
      not used [-Wunused-function]
      drivers/usb/musb/am35x.c:589:12: warning: ‘am35x_resume’ defined but not
      used [-Wunused-function]
      drivers/usb/musb/am35x.c:573:12: warning: ‘am35x_suspend’ defined but
      not used [-Wunused-function]
      drivers/usb/musb/am35x.c:589:12: warning: ‘am35x_resume’ defined but not
      used [-Wunused-function]
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      fea2fc6e
  22. 26 5月, 2015 4 次提交