1. 13 3月, 2018 2 次提交
  2. 15 2月, 2018 1 次提交
    • R
      usb: dwc3: core: Fix ULPI PHYs and prevent phy_get/ulpi_init during suspend/resume · 98112041
      Roger Quadros 提交于
      In order for ULPI PHYs to work, dwc3_phy_setup() and dwc3_ulpi_init()
      must be doene before dwc3_core_get_phy().
      
      commit 541768b0 ("usb: dwc3: core: Call dwc3_core_get_phy() before initializing phys")
      broke this.
      
      The other issue is that dwc3_core_get_phy() and dwc3_ulpi_init() should
      be called only once during the life cycle of the driver. However,
      as dwc3_core_init() is called during system suspend/resume it will
      result in multiple calls to dwc3_core_get_phy() and dwc3_ulpi_init()
      which is wrong.
      
      Fix this by moving dwc3_ulpi_init() out of dwc3_phy_setup()
      into dwc3_core_ulpi_init(). Use a flag 'ulpi_ready' to ensure that
      dwc3_core_ulpi_init() is called only once from dwc3_core_init().
      
      Use another flag 'phys_ready' to call dwc3_core_get_phy() only once from
      dwc3_core_init().
      
      Fixes: 541768b0 ("usb: dwc3: core: Call dwc3_core_get_phy() before initializing phys")
      Fixes: f54edb53 ("usb: dwc3: core: initialize ULPI before trying to get the PHY")
      Cc: linux-stable <stable@vger.kernel.org> # >= v4.13
      Signed-off-by: NRoger Quadros <rogerq@ti.com>
      Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
      98112041
  3. 12 2月, 2018 1 次提交
  4. 11 12月, 2017 2 次提交
    • R
      usb: dwc3: Allow disabling of metastability workaround · 42bf02ec
      Roger Quadros 提交于
      Some platforms (e.g. TI's DRA7 USB2 instance) have more trouble
      with the metastability workaround as it supports only
      a High-Speed PHY and the PHY can enter into an Erratic state [1]
      when the controller is set in SuperSpeed mode as part of
      the metastability workaround.
      
      This causes upto 2 seconds delay in enumeration on DRA7's USB2
      instance in gadget mode.
      
      If these platforms can be better off without the workaround,
      provide a device tree property to suggest that so the workaround
      is avoided.
      
      [1] Device mode enumeration trace showing PHY Erratic Error.
           irq/90-dwc3-969   [000] d...    52.323145: dwc3_event: event (00000901): Erratic Error [U0]
           irq/90-dwc3-969   [000] d...    52.560646: dwc3_event: event (00000901): Erratic Error [U0]
           irq/90-dwc3-969   [000] d...    52.798144: dwc3_event: event (00000901): Erratic Error [U0]
      Signed-off-by: NRoger Quadros <rogerq@ti.com>
      Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
      42bf02ec
    • F
      usb: dwc3: ep0: use gadget->isoch_delay for isoch_delay value · 19e0b203
      Felipe Balbi 提交于
      Instead of keeping our own isoch_delay, let's make use of the newly
      introduced isoch_delay member in struct usb_gadget. The benefit here
      is that we would be using a generic "API" which other UDCs can use,
      resulting in a common setup for gadget drivers who may be interested
      in Isoch Delay value.
      Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
      19e0b203
  5. 07 11月, 2017 1 次提交
    • G
      USB: dwc3: Remove redundant license text · b5ea4757
      Greg Kroah-Hartman 提交于
      Now that the SPDX tag is in all USB files, that identifies the license
      in a specific and legally-defined manner.  So the extra GPL text wording
      can be removed as it is no longer needed at all.
      
      This is done on a quest to remove the 700+ different ways that files in
      the kernel describe the GPL license text.  And there's unneeded stuff
      like the address (sometimes incorrect) for the FSF which is never
      needed.
      
      No copyright headers or other non-license-description text was removed.
      
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Krzysztof Kozlowski <krzk@kernel.org>
      Cc: Patrice Chotard <patrice.chotard@st.com>
      Acked-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      b5ea4757
  6. 04 11月, 2017 1 次提交
  7. 19 10月, 2017 1 次提交
  8. 02 6月, 2017 1 次提交
  9. 17 5月, 2017 1 次提交
    • W
      usb: dwc3: add disable u2mac linestate check quirk · 65db7a0c
      William Wu 提交于
      This patch adds a quirk to disable USB 2.0 MAC linestate check
      during HS transmit. Refer the dwc3 databook, we can use it for
      some special platforms if the linestate not reflect the expected
      line state(J) during transmission.
      
      When use this quirk, the controller implements a fixed 40-bit
      TxEndDelay after the packet is given on UTMI and ignores the
      linestate during the transmit of a token (during token-to-token
      and token-to-data IPGAP).
      
      On some rockchip platforms (e.g. rk3399), it requires to disable
      the u2mac linestate check to decrease the SSPLIT token to SETUP
      token inter-packet delay from 566ns to 466ns, and fix the issue
      that FS/LS devices not recognized if inserted through USB 3.0 HUB.
      Acked-by: NRob Herring <robh@kernel.org>
      Reviewed-by: NGuenter Roeck <groeck@chromium.org>
      Signed-off-by: NWilliam Wu <william.wu@rock-chips.com>
      Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
      65db7a0c
  10. 11 4月, 2017 9 次提交
  11. 27 3月, 2017 1 次提交
  12. 24 1月, 2017 2 次提交
  13. 03 1月, 2017 1 次提交
  14. 02 1月, 2017 1 次提交
    • F
      usb: dwc3: core: avoid Overflow events · e71d363d
      Felipe Balbi 提交于
      Now that we're handling so many transfers at a time
      and for some dwc3 revisions LPM events *must* be
      enabled, we can fall into a situation where too many
      events fire and we start receiving Overflow events.
      
      Let's do what XHCI does and allocate a full page for
      the Event Ring, this will avoid any future issues.
      
      Cc: <stable@vger.kernel.org> # v4.9
      Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
      e71d363d
  15. 18 11月, 2016 5 次提交
  16. 03 11月, 2016 7 次提交
  17. 31 10月, 2016 2 次提交
  18. 07 9月, 2016 1 次提交
    • T
      usb: dwc3: Fix dr_mode validation · 9d6173e1
      Thinh Nguyen 提交于
      This patch follows the similar fix in dwc2. See
      commit 5268ed9d ("usb: dwc2: Fix dr_mode validation")
      
      Currently, the dr_mode is only checked against the module configuration.
      It also needs to be checked against the hardware capablities.
      
      The driver now checks if both the module configuration and hardware are
      capable of the dr_mode value. If not, then it will issue a warning and
      fall back to a supported value. If it is unable to fall back to a
      suitable value, then the probe will fail.
      
      Behavior summary:
      
            module          :  actual
       HW   config  dr_mode :  dr_mode
      ---------------------------------
       host  host   any     :  host
       host  dev    any     :  INVALID
       host  otg    any     :  host
      
       dev   host   any     :  INVALID
       dev   dev    any     :  dev
       dev   otg    any     :  dev
      
       otg   host   any     :  host
       otg   dev    any     :  dev
       otg   otg    any     :  dr_mode
      Signed-off-by: NThinh Nguyen <thinhn@synopsys.com>
      Signed-off-by: NJohn Youn <johnyoun@synopsys.com>
      Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
      9d6173e1