usb: dwc3: Enable AutoRetry feature in the controller
authorJagan Teki <jagan@amarulasolutions.com>
Tue, 26 May 2020 03:34:29 +0000 (11:34 +0800)
committerKever Yang <kever.yang@rock-chips.com>
Fri, 29 May 2020 10:13:19 +0000 (18:13 +0800)
commitfafaa02290715a02ae97b26fa6937d6a27cdc296
tree61a207bba10234e6eac0848ea5c8d02b3bae36ce
parentdc18413adbf188ffdfb0706023249e7c03b29545
usb: dwc3: Enable AutoRetry feature in the controller

By default when core sees any transaction error (CRC or overflow) it
replies with terminating retry ACK (Retry=1 and Nump == 0).

Enabling this Auto Retry feature in controller will make the core send
a non-terminanting ACK upon such transaction errors. That is, ACK TP
with Retry=1 and Nump != 0.

Doing so will give controller a chance to recover from transient error
conditions.

Reference from below Linux commit,

commit <b138e23d3dff> ("usb: dwc3: core: Enable AutoRetry feature
in the controller")

Cc: Marek Vasut <marex@denx.de>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
drivers/usb/dwc3/core.c
drivers/usb/dwc3/core.h