devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/15] usb: dwc3: Add new updates for DWC_usb31
@ 2018-01-05 20:13 Thinh Nguyen
       [not found] ` <cover.1515182391.git.thinhn-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Thinh Nguyen @ 2018-01-05 20:13 UTC (permalink / raw)
  To: Felipe Balbi, Thinh Nguyen, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Rob Herring,
	Vamsi Krishna Samavedam, Mark Rutland, Gustavo A. R. Silva,
	Takashi Iwai
  Cc: John Youn

This patch series adds new updates and some fixes for DWC_usb31.


Thinh Nguyen (15):
  usb: dwc3: Device SoftReset PHY synchonization delay
  usb: core: urb: Check SSP isoc ep comp descriptor
  usb: dwc3: Update DWC_usb31 GTXFIFOSIZ reg fields
  usb: dwc3: Check IP revision for GTXFIFOSIZ
  usb: dwc3: Add DWC_usb31 GRXTHRCFG bit fields
  usb: dwc3: gadget: Check IP revision for GRXTHRCFG
  usb: dwc3: Add DWC_usb31 GTXTHRCFG reg fields
  usb: dwc3: Make RX/TX threshold configurable
  usb: dwc3: Check for ESS TX/RX threshold config
  usb: dwc3: gadget: Set maxpacket size for ep0 IN
  usb: dwc3: ep0: Reset TRB counter for ep0 IN
  usb: dwc3: Dump LSP and BMU debug info
  usb: dwc3: Track DWC_usb31 VERSIONTYPE
  usb: dwc3: Add disabling of start_transfer failure quirk
  usb: dwc3: Add workaround for isoc start transfer failure

 Documentation/devicetree/bindings/usb/dwc3.txt |   9 ++
 drivers/usb/core/urb.c                         |   8 +
 drivers/usb/dwc3/core.c                        |  74 ++++++++-
 drivers/usb/dwc3/core.h                        |  57 +++++++
 drivers/usb/dwc3/debugfs.c                     |   5 +
 drivers/usb/dwc3/ep0.c                         |   7 +-
 drivers/usb/dwc3/gadget.c                      | 202 ++++++++++++++++++++++++-
 7 files changed, 353 insertions(+), 9 deletions(-)

-- 
2.11.0

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 08/15] usb: dwc3: Make RX/TX threshold configurable
       [not found] ` <cover.1515182391.git.thinhn-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
@ 2018-01-05 20:14   ` Thinh Nguyen
       [not found]     ` <8446dc260efb993507a219ae11815607b8e58027.1515182391.git.thinhn-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
  2018-01-05 20:16   ` [PATCH 14/15] usb: dwc3: Add disabling of start_transfer failure quirk Thinh Nguyen
  1 sibling, 1 reply; 8+ messages in thread
From: Thinh Nguyen @ 2018-01-05 20:14 UTC (permalink / raw)
  To: Felipe Balbi, Thinh Nguyen, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Rob Herring, Mark Rutland
  Cc: John Youn

DWC_usb31 periodic transfer at 48K+ bytes per interval may need
modification to the TX/RX packet threshold to achieve optimal result.
Add properties to make it configurable.

Cc: John Youn <johnyoun-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
Signed-off-by: Thinh Nguyen <thinhn-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
---
 Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
index 52fb41046b34..02dde83d02fa 100644
--- a/Documentation/devicetree/bindings/usb/dwc3.txt
+++ b/Documentation/devicetree/bindings/usb/dwc3.txt
@@ -55,6 +55,12 @@ Optional properties:
  - snps,quirk-frame-length-adjustment: Value for GFLADJ_30MHZ field of GFLADJ
 	register for post-silicon frame length adjustment when the
 	fladj_30mhz_sdbnd signal is invalid or incorrect.
+ - snps,rx_thr_sel_prd: set to enable periodic ESS RX packet threshold.
+ - snps,rx_thr_num_pkt_prd: periodic ESS RX packet threshold count.
+ - snps,rx_max_burst_prd: Max periodic ESS RX burst size.
+ - snps,tx_thr_sel_prd: set to enable periodic ESS TX packet threshold.
+ - snps,tx_thr_num_pkt_prd: periodic ESS TX packet threshold count.
+ - snps,tx_max_burst_prd: Max periodic ESS TX burst size.
 
  - <DEPRECATED> tx-fifo-resize: determines if the FIFO *has* to be reallocated.
 
-- 
2.11.0

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 14/15] usb: dwc3: Add disabling of start_transfer failure quirk
       [not found] ` <cover.1515182391.git.thinhn-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
  2018-01-05 20:14   ` [PATCH 08/15] usb: dwc3: Make RX/TX threshold configurable Thinh Nguyen
@ 2018-01-05 20:16   ` Thinh Nguyen
       [not found]     ` <3c63b5f97343d276049e1d59ef2371160004b137.1515182391.git.thinhn-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
  1 sibling, 1 reply; 8+ messages in thread
From: Thinh Nguyen @ 2018-01-05 20:16 UTC (permalink / raw)
  To: Felipe Balbi, Thinh Nguyen, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Rob Herring, Mark Rutland
  Cc: John Youn

In DWC_usb31 version 1.70a-ea06 and prior needs a SW workaround for isoc
START TRANSFER command failure. However, some affected versions may have
RTL patches to fix this without a SW workaround. Add this quirk to
disable the SW workaround when it is not needed.

Synopsys STAR 9001202023: Wrong microframe number for isochronous IN
endpoints.

Cc: John Youn <johnyoun-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
Signed-off-by: Thinh Nguyen <thinhn-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
---
 Documentation/devicetree/bindings/usb/dwc3.txt | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
index 02dde83d02fa..c03a3b363cde 100644
--- a/Documentation/devicetree/bindings/usb/dwc3.txt
+++ b/Documentation/devicetree/bindings/usb/dwc3.txt
@@ -15,6 +15,9 @@ Optional properties:
  - phys: from the *Generic PHY* bindings
  - phy-names: from the *Generic PHY* bindings; supported names are "usb2-phy"
 	or "usb3-phy".
+ - snps,dis_start_transfer_quirk: when set, disable isoc START TRANSFER command
+			failure SW work-around for DWC_usb31 version 1.70a-ea06
+			and prior.
  - snps,usb3_lpm_capable: determines if platform is USB3 LPM capable
  - snps,disable_scramble_quirk: true when SW should disable data scrambling.
 	Only really useful for FPGA builds.
-- 
2.11.0

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 08/15] usb: dwc3: Make RX/TX threshold configurable
       [not found]     ` <8446dc260efb993507a219ae11815607b8e58027.1515182391.git.thinhn-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
@ 2018-01-09  4:12       ` Rob Herring
  2018-01-09 23:54         ` Thinh Nguyen
  0 siblings, 1 reply; 8+ messages in thread
From: Rob Herring @ 2018-01-09  4:12 UTC (permalink / raw)
  To: Thinh Nguyen
  Cc: Felipe Balbi, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Mark Rutland, John Youn

On Fri, Jan 05, 2018 at 12:14:48PM -0800, Thinh Nguyen wrote:
> DWC_usb31 periodic transfer at 48K+ bytes per interval may need
> modification to the TX/RX packet threshold to achieve optimal result.
> Add properties to make it configurable.

I tend to think these should all be implied by the SoC specific 
compatible string if they need to be tuned.

> 
> Cc: John Youn <johnyoun-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
> Signed-off-by: Thinh Nguyen <thinhn-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
> ---
>  Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
> index 52fb41046b34..02dde83d02fa 100644
> --- a/Documentation/devicetree/bindings/usb/dwc3.txt
> +++ b/Documentation/devicetree/bindings/usb/dwc3.txt
> @@ -55,6 +55,12 @@ Optional properties:
>   - snps,quirk-frame-length-adjustment: Value for GFLADJ_30MHZ field of GFLADJ
>  	register for post-silicon frame length adjustment when the
>  	fladj_30mhz_sdbnd signal is invalid or incorrect.
> + - snps,rx_thr_sel_prd: set to enable periodic ESS RX packet threshold.

Isn't the next property being present sufficient to enable this or not?

> + - snps,rx_thr_num_pkt_prd: periodic ESS RX packet threshold count.
> + - snps,rx_max_burst_prd: Max periodic ESS RX burst size.
> + - snps,tx_thr_sel_prd: set to enable periodic ESS TX packet threshold.

ditto

> + - snps,tx_thr_num_pkt_prd: periodic ESS TX packet threshold count.
> + - snps,tx_max_burst_prd: Max periodic ESS TX burst size.

Don't use '_' in property names.

>  
>   - <DEPRECATED> tx-fifo-resize: determines if the FIFO *has* to be reallocated.
>  
> -- 
> 2.11.0
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 14/15] usb: dwc3: Add disabling of start_transfer failure quirk
       [not found]     ` <3c63b5f97343d276049e1d59ef2371160004b137.1515182391.git.thinhn-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
@ 2018-01-09  4:16       ` Rob Herring
  2018-01-09  8:45         ` Felipe Balbi
  0 siblings, 1 reply; 8+ messages in thread
From: Rob Herring @ 2018-01-09  4:16 UTC (permalink / raw)
  To: Thinh Nguyen
  Cc: Felipe Balbi, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Mark Rutland, John Youn

On Fri, Jan 05, 2018 at 12:16:02PM -0800, Thinh Nguyen wrote:
> In DWC_usb31 version 1.70a-ea06 and prior needs a SW workaround for isoc
> START TRANSFER command failure. However, some affected versions may have
> RTL patches to fix this without a SW workaround. Add this quirk to
> disable the SW workaround when it is not needed.

I really think this one should be implied by compatible strings.

> Synopsys STAR 9001202023: Wrong microframe number for isochronous IN
> endpoints.
> 
> Cc: John Youn <johnyoun-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
> Signed-off-by: Thinh Nguyen <thinhn-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
> ---
>  Documentation/devicetree/bindings/usb/dwc3.txt | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
> index 02dde83d02fa..c03a3b363cde 100644
> --- a/Documentation/devicetree/bindings/usb/dwc3.txt
> +++ b/Documentation/devicetree/bindings/usb/dwc3.txt
> @@ -15,6 +15,9 @@ Optional properties:
>   - phys: from the *Generic PHY* bindings
>   - phy-names: from the *Generic PHY* bindings; supported names are "usb2-phy"
>  	or "usb3-phy".
> + - snps,dis_start_transfer_quirk: when set, disable isoc START TRANSFER command
> +			failure SW work-around for DWC_usb31 version 1.70a-ea06
> +			and prior.
>   - snps,usb3_lpm_capable: determines if platform is USB3 LPM capable
>   - snps,disable_scramble_quirk: true when SW should disable data scrambling.
>  	Only really useful for FPGA builds.
> -- 
> 2.11.0
> 
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 14/15] usb: dwc3: Add disabling of start_transfer failure quirk
  2018-01-09  4:16       ` Rob Herring
@ 2018-01-09  8:45         ` Felipe Balbi
       [not found]           ` <87incbzaia.fsf-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Felipe Balbi @ 2018-01-09  8:45 UTC (permalink / raw)
  To: Rob Herring, Thinh Nguyen
  Cc: linux-usb-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Mark Rutland, John Youn

[-- Attachment #1: Type: text/plain, Size: 629 bytes --]


Hi,

Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> writes:
> On Fri, Jan 05, 2018 at 12:16:02PM -0800, Thinh Nguyen wrote:
>> In DWC_usb31 version 1.70a-ea06 and prior needs a SW workaround for isoc
>> START TRANSFER command failure. However, some affected versions may have
>> RTL patches to fix this without a SW workaround. Add this quirk to
>> disable the SW workaround when it is not needed.
>
> I really think this one should be implied by compatible strings.

won't work for dwc3. Core driver has a single compatible string, also
this wouldn't work for PCI-based implementations.

-- 
balbi

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 08/15] usb: dwc3: Make RX/TX threshold configurable
  2018-01-09  4:12       ` Rob Herring
@ 2018-01-09 23:54         ` Thinh Nguyen
  0 siblings, 0 replies; 8+ messages in thread
From: Thinh Nguyen @ 2018-01-09 23:54 UTC (permalink / raw)
  To: Rob Herring, Thinh Nguyen
  Cc: Felipe Balbi, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Mark Rutland, John Youn

Hi,

On 1/8/2018 8:12 PM, Rob Herring wrote:
> On Fri, Jan 05, 2018 at 12:14:48PM -0800, Thinh Nguyen wrote:
>> DWC_usb31 periodic transfer at 48K+ bytes per interval may need
>> modification to the TX/RX packet threshold to achieve optimal result.
>> Add properties to make it configurable.
> 
> I tend to think these should all be implied by the SoC specific
> compatible string if they need to be tuned.
> 
>>
>> Cc: John Youn <johnyoun-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
>> Signed-off-by: Thinh Nguyen <thinhn-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
>> ---
>>   Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
>> index 52fb41046b34..02dde83d02fa 100644
>> --- a/Documentation/devicetree/bindings/usb/dwc3.txt
>> +++ b/Documentation/devicetree/bindings/usb/dwc3.txt
>> @@ -55,6 +55,12 @@ Optional properties:
>>    - snps,quirk-frame-length-adjustment: Value for GFLADJ_30MHZ field of GFLADJ
>>   	register for post-silicon frame length adjustment when the
>>   	fladj_30mhz_sdbnd signal is invalid or incorrect.
>> + - snps,rx_thr_sel_prd: set to enable periodic ESS RX packet threshold.
> 
> Isn't the next property being present sufficient to enable this or not?

Yes, we can do that. Actually, both settings must be set to enable the 
periodic TX/RX threshold.

> 
>> + - snps,rx_thr_num_pkt_prd: periodic ESS RX packet threshold count.
>> + - snps,rx_max_burst_prd: Max periodic ESS RX burst size.
>> + - snps,tx_thr_sel_prd: set to enable periodic ESS TX packet threshold.
> 
> ditto
> 
>> + - snps,tx_thr_num_pkt_prd: periodic ESS TX packet threshold count.
>> + - snps,tx_max_burst_prd: Max periodic ESS TX burst size.
> 
> Don't use '_' in property names.

I'll make the change.

> 
>>   
>>    - <DEPRECATED> tx-fifo-resize: determines if the FIFO *has* to be reallocated.
>>   
>> -- 
>> 2.11.0
>>
> 

Thanks,
Thinh
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 14/15] usb: dwc3: Add disabling of start_transfer failure quirk
       [not found]           ` <87incbzaia.fsf-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
@ 2018-01-11 14:35             ` Rob Herring
  0 siblings, 0 replies; 8+ messages in thread
From: Rob Herring @ 2018-01-11 14:35 UTC (permalink / raw)
  To: Felipe Balbi
  Cc: Thinh Nguyen, Linux USB List,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Mark Rutland, John Youn

On Tue, Jan 9, 2018 at 2:45 AM, Felipe Balbi <balbi-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> wrote:
>
> Hi,
>
> Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> writes:
>> On Fri, Jan 05, 2018 at 12:16:02PM -0800, Thinh Nguyen wrote:
>>> In DWC_usb31 version 1.70a-ea06 and prior needs a SW workaround for isoc
>>> START TRANSFER command failure. However, some affected versions may have
>>> RTL patches to fix this without a SW workaround. Add this quirk to
>>> disable the SW workaround when it is not needed.
>>
>> I really think this one should be implied by compatible strings.
>
> won't work for dwc3. Core driver has a single compatible string, also
> this wouldn't work for PCI-based implementations.

Then you will have to look at the parent node (this is why the way
DWC3 was split is wrong) or make the compatible strings more specific.
That is the purpose of compatible strings.

For PCI, don't you have different VID/PIDs? If not how would quirks
work for non-DT systems.

Rob
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-01-11 14:35 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-05 20:13 [PATCH 00/15] usb: dwc3: Add new updates for DWC_usb31 Thinh Nguyen
     [not found] ` <cover.1515182391.git.thinhn-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
2018-01-05 20:14   ` [PATCH 08/15] usb: dwc3: Make RX/TX threshold configurable Thinh Nguyen
     [not found]     ` <8446dc260efb993507a219ae11815607b8e58027.1515182391.git.thinhn-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
2018-01-09  4:12       ` Rob Herring
2018-01-09 23:54         ` Thinh Nguyen
2018-01-05 20:16   ` [PATCH 14/15] usb: dwc3: Add disabling of start_transfer failure quirk Thinh Nguyen
     [not found]     ` <3c63b5f97343d276049e1d59ef2371160004b137.1515182391.git.thinhn-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
2018-01-09  4:16       ` Rob Herring
2018-01-09  8:45         ` Felipe Balbi
     [not found]           ` <87incbzaia.fsf-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-01-11 14:35             ` Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).