* Re: meson-g12b xHCI - disable park mode [not found] <CA+3zgmvjhisn97Y1TCn7Ztj2m3hB9+sdoOnFdvJJbKUFpt=QrQ@mail.gmail.com> @ 2019-09-26 12:53 ` Neil Armstrong [not found] ` <2019092715010469964015@amlogic.com> 0 siblings, 1 reply; 4+ messages in thread From: Neil Armstrong @ 2019-09-26 12:53 UTC (permalink / raw) To: Tim, open list:ARM/Amlogic Meson..., tobetter, Jianxin Pan Hi Tim, Thanks for sending the email, this has already been spotted by Christian Hewitt from LibreELEC. Indeed this need some dt-bindings work and some more information for these : - DWC3_GUCTL_NAKPERENHHS - DWC3_GUCTL_PARKMODEDISABLESS bit from Amlogic since I don't access to the DWC3 DataBook. Jianxin, could you give use a brief description of these bits and why they are needed to solve the issue ? Thanks, Neil On 21/09/2019 15:47, Tim wrote: > Hi Neil, > > Thank you for your work on the Linux kernel. > Hardkernel and others using the mainline on the N2 are including a patch[1] that prevents bugs[2] on the Odroid-N2. > Dongjin Kim <tobetter@gmail.com <mailto:tobetter@gmail.com>> obtained the patch from AmLogic[3], > but is not comfortable contributing to upstream[4]. > Please fix this bug upstream, or let us know the best way forward. > (maybe you can send something appropriate for Felipe to review) > Thanks again. > > Reference links; > > 1 https://forum.odroid.com/download/file.php?id=9674 > 2 https://forum.odroid.com/viewtopic.php?f=181&t=35031&start=250#p267479 > 3 https://forum.odroid.com/viewtopic.php?f=181&t=35031&start=250#p267481 > 4 https://forum.odroid.com/viewtopic.php?f=176&t=33993&start=350#p268598 > > > The patch inline; > > diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c > index c9bb93a2c..8252923d8 100644 > --- a/drivers/usb/dwc3/core.c > +++ b/drivers/usb/dwc3/core.c > @@ -983,6 +983,8 @@ static int dwc3_core_init(struct dwc3 *dwc) > if (dwc->dis_tx_ipgap_linecheck_quirk) > reg |= DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS; > > + reg |= (DWC3_GUCTL_NAKPERENHHS | DWC3_GUCTL_PARKMODEDISABLESS); > + > dwc3_writel(dwc->regs, DWC3_GUCTL1, reg); > } > > diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h > index 3dd783b88..ff09d19ee 100644 > --- a/drivers/usb/dwc3/core.h > +++ b/drivers/usb/dwc3/core.h > @@ -247,6 +247,8 @@ > > /* Global User Control Register */ > #define DWC3_GUCTL_HSTINAUTORETRY BIT(14) > +#define DWC3_GUCTL_PARKMODEDISABLESS BIT(17) > +#define DWC3_GUCTL_NAKPERENHHS BIT(18) > > /* Global User Control 1 Register */ > #define DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS BIT(28) > > <https://forum.odroid.com/viewtopic.php?f=176&t=33993&start=350#p268598> _______________________________________________ linux-amlogic mailing list linux-amlogic@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <2019092715010469964015@amlogic.com>]
* Re: meson-g12b xHCI - disable park mode [not found] ` <2019092715010469964015@amlogic.com> @ 2019-09-27 11:34 ` Neil Armstrong 2019-09-27 13:25 ` [PATCH] dwc3: add parkmode_disable_ss_quirk for G12A Neil Armstrong 0 siblings, 1 reply; 4+ messages in thread From: Neil Armstrong @ 2019-09-27 11:34 UTC (permalink / raw) To: jianxin.pan, Tim, open list:ARM/Amlogic Meson..., tobetter, qi.duan Hi Tim, Dongjin, Is the DWC3_GUCTL_NAKPERENHHS bit really needed to fix ? Could you try without ? With Jianxin's description, seems only DWC3_GUCTL_PARKMODEDISABLESS is needed here. DWC3_GUCTL_NAKPERENHHS could help, but it would another patchset to enhance performances. Neil On 27/09/2019 09:01, jianxin.pan@amlogic.com wrote: > > Hi Neil, > > For Odroid-N2,we add #define DWC3_GUCTL_PARKMODEDISABLESS BIT(17) > this bit descriptor is > > > > We did not set BIT(18) in aml-4.9 kernel. This bit is : > > ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ > jianxin.pan@amlogic.com > > > *From:* Neil Armstrong <mailto:narmstrong@baylibre.com> > *Date:* 2019-09-26 20:53 > *To:* Tim <mailto:elatllat@gmail.com>; open list:ARM/Amlogic Meson... <mailto:linux-amlogic@lists.infradead.org>; tobetter <mailto:tobetter@gmail.com>; Jianxin Pan <mailto:jianxin.pan@amlogic.com> > *Subject:* Re: meson-g12b xHCI - disable park mode > Hi Tim, > > Thanks for sending the email, this has already been spotted by Christian Hewitt from LibreELEC. > > Indeed this need some dt-bindings work and some more information for these : > - DWC3_GUCTL_NAKPERENHHS > - DWC3_GUCTL_PARKMODEDISABLESS > bit from Amlogic since I don't access to the DWC3 DataBook. > > Jianxin, could you give use a brief description of these bits and why they are needed to solve the issue ? > > Thanks, > Neil > > On 21/09/2019 15:47, Tim wrote: > > Hi Neil, > > > > Thank you for your work on the Linux kernel. > > Hardkernel and others using the mainline on the N2 are including a patch[1] that prevents bugs[2] on the Odroid-N2. > > Dongjin Kim <tobetter@gmail.com <mailto:tobetter@gmail.com>> obtained the patch from AmLogic[3], > > but is not comfortable contributing to upstream[4]. > > Please fix this bug upstream, or let us know the best way forward. > > (maybe you can send something appropriate for Felipe to review) > > Thanks again. > > > > Reference links; > > > > 1 https://forum.odroid.com/download/file.php?id=9674 > > 2 https://forum.odroid.com/viewtopic.php?f=181&t=35031&start=250#p267479 > > 3 https://forum.odroid.com/viewtopic.php?f=181&t=35031&start=250#p267481 > > 4 https://forum.odroid.com/viewtopic.php?f=176&t=33993&start=350#p268598 > > > > > > The patch inline; > > > > diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c > > index c9bb93a2c..8252923d8 100644 > > --- a/drivers/usb/dwc3/core.c > > +++ b/drivers/usb/dwc3/core.c > > @@ -983,6 +983,8 @@ static int dwc3_core_init(struct dwc3 *dwc) > > if (dwc->dis_tx_ipgap_linecheck_quirk) > > reg |= DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS; > > > > + reg |= (DWC3_GUCTL_NAKPERENHHS | DWC3_GUCTL_PARKMODEDISABLESS); > > + > > dwc3_writel(dwc->regs, DWC3_GUCTL1, reg); > > } > > > > diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h > > index 3dd783b88..ff09d19ee 100644 > > --- a/drivers/usb/dwc3/core.h > > +++ b/drivers/usb/dwc3/core.h > > @@ -247,6 +247,8 @@ > > > > /* Global User Control Register */ > > #define DWC3_GUCTL_HSTINAUTORETRY BIT(14) > > +#define DWC3_GUCTL_PARKMODEDISABLESS BIT(17) > > +#define DWC3_GUCTL_NAKPERENHHS BIT(18) > > > > /* Global User Control 1 Register */ > > #define DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS BIT(28) > > > > <https://forum.odroid.com/viewtopic.php?f=176&t=33993&start=350#p268598> > > _______________________________________________ linux-amlogic mailing list linux-amlogic@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] dwc3: add parkmode_disable_ss_quirk for G12A 2019-09-27 11:34 ` Neil Armstrong @ 2019-09-27 13:25 ` Neil Armstrong [not found] ` <CA+3zgmvmXwrXjM_xPZuumUhOEjqFqv7WofXGLDvY0S5JedN4Wg@mail.gmail.com> 0 siblings, 1 reply; 4+ messages in thread From: Neil Armstrong @ 2019-09-27 13:25 UTC (permalink / raw) To: elatllat, tobetter; +Cc: linux-amlogic, Jianxin Pan, Neil Armstrong Could you validate this fixes the following issue ? [ 221.141621] xhci-hcd xhci-hcd.0.auto: xHCI host not responding to stop endpoint command. [ 221.157631] xhci-hcd xhci-hcd.0.auto: Host halt failed, -110 [ 221.157635] xhci-hcd xhci-hcd.0.auto: xHCI host controller not responding, assume dead [ 221.159901] xhci-hcd xhci-hcd.0.auto: xHCI host not responding to stop endpoint command. [ 221.159961] hub 2-1.1:1.0: hub_ext_port_status failed (err = -22) [ 221.160076] xhci-hcd xhci-hcd.0.auto: HC died; cleaning up [ 221.165946] usb 2-1.1-port1: cannot reset (err = -22) Cc: Tim <elatllat@gmail.com> CC: Dongjin Kim <tobetter@gmail.com> Cc: Jianxin Pan <jianxin.pan@amlogic.com> CC: linux-amlogic@lists.infradead.org Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> --- Documentation/devicetree/bindings/usb/dwc3.txt | 2 ++ arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 1 + drivers/usb/dwc3/core.c | 5 +++++ drivers/usb/dwc3/core.h | 4 ++++ 4 files changed, 12 insertions(+) diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt index 66780a47ad85..c977a3ba2f35 100644 --- a/Documentation/devicetree/bindings/usb/dwc3.txt +++ b/Documentation/devicetree/bindings/usb/dwc3.txt @@ -75,6 +75,8 @@ Optional properties: from P0 to P1/P2/P3 without delay. - snps,dis-tx-ipgap-linecheck-quirk: when set, disable u2mac linestate check during HS transmit. + - snps,parkmode-disable-ss-quirk: when set, all SuperSpeed bus instances in + park mode are disabled. - snps,dis_metastability_quirk: when set, disable metastability workaround. CAUTION: use only if you are absolutely sure of it. - snps,is-utmi-l1-suspend: true when DWC3 asserts output signal diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi index 852cf9cf121b..139f24975c0e 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi @@ -2401,6 +2401,7 @@ dr_mode = "host"; snps,dis_u2_susphy_quirk; snps,quirk-frame-length-adjustment; + snps,parkmode-disable-ss-quirk; }; }; diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index c9bb93a2c81e..f64dba17a50d 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -983,6 +983,9 @@ static int dwc3_core_init(struct dwc3 *dwc) if (dwc->dis_tx_ipgap_linecheck_quirk) reg |= DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS; + if (dwc->parkmode_disable_ss_quirk) + reg |= DWC3_GUCTL1_PARKMODE_DISABLE_SS; + dwc3_writel(dwc->regs, DWC3_GUCTL1, reg); } @@ -1294,6 +1297,8 @@ static void dwc3_get_properties(struct dwc3 *dwc) "snps,dis-del-phy-power-chg-quirk"); dwc->dis_tx_ipgap_linecheck_quirk = device_property_read_bool(dev, "snps,dis-tx-ipgap-linecheck-quirk"); + dwc->parkmode_disable_ss_quirk = device_property_read_bool(dev, + "snps,parkmode-disable-ss-quirk"); dwc->tx_de_emphasis_quirk = device_property_read_bool(dev, "snps,tx_de_emphasis_quirk"); diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h index 3dd783b889cb..ab071163b3b8 100644 --- a/drivers/usb/dwc3/core.h +++ b/drivers/usb/dwc3/core.h @@ -249,6 +249,7 @@ #define DWC3_GUCTL_HSTINAUTORETRY BIT(14) /* Global User Control 1 Register */ +#define DWC3_GUCTL1_PARKMODE_DISABLE_SS BIT(17) #define DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS BIT(28) #define DWC3_GUCTL1_DEV_L1_EXIT_BY_HW BIT(24) @@ -1022,6 +1023,8 @@ struct dwc3_scratchpad_array { * change quirk. * @dis_tx_ipgap_linecheck_quirk: set if we disable u2mac linestate * check during HS transmit. + * @parkmode_disable_ss_quirk: set if we need to disable all SuperSpeed + * instances in park mode. * @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk * @tx_de_emphasis: Tx de-emphasis value * 0 - -6dB de-emphasis @@ -1211,6 +1214,7 @@ struct dwc3 { unsigned dis_u2_freeclk_exists_quirk:1; unsigned dis_del_phy_power_chg_quirk:1; unsigned dis_tx_ipgap_linecheck_quirk:1; + unsigned parkmode_disable_ss_quirk:1; unsigned tx_de_emphasis_quirk:1; unsigned tx_de_emphasis:2; -- 2.22.0 _______________________________________________ linux-amlogic mailing list linux-amlogic@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic ^ permalink raw reply related [flat|nested] 4+ messages in thread
[parent not found: <CA+3zgmvmXwrXjM_xPZuumUhOEjqFqv7WofXGLDvY0S5JedN4Wg@mail.gmail.com>]
* Fwd: [PATCH] dwc3: add parkmode_disable_ss_quirk for G12A [not found] ` <CA+3zgmvmXwrXjM_xPZuumUhOEjqFqv7WofXGLDvY0S5JedN4Wg@mail.gmail.com> @ 2019-09-29 1:36 ` Tim 0 siblings, 0 replies; 4+ messages in thread From: Tim @ 2019-09-29 1:36 UTC (permalink / raw) To: linux-amlogic [-- Attachment #1: Type: text/plain, Size: 912 bytes --] Text only version for the list; ---------- Forwarded message --------- From: Tim <elatllat@gmail.com> Date: Sat, Sep 28, 2019 at 9:25 PM Subject: Re: [PATCH] dwc3: add parkmode_disable_ss_quirk for G12A To: Neil Armstrong <narmstrong@baylibre.com> Cc: tobetter <tobetter@gmail.com>, Neil Armstrong <narmstrong@baylibre.com>, Jianxin Pan <jianxin.pan@amlogic.com> Thanks, yes that works. Details; I applied the patch to the v5.3.1 tag (diff attached), and built 3 kernels for testing. v5.3.1 errors in seconds v5.3.1_tobetter no errors v5.3.1_neil no errors The test is a rsync of a small database (24GB 2000 files) from a remote server to a local spinning disk/lvm_devices=3/cryptsetup/ext4. I also tested a simpler case and got no errors on any of the 3 builds with local only rsync on spinning disk/mdadm_level=0_devices=2/ext4, so either the network or storage stack are required to reproduce this bug. [-- Attachment #2: park.patch --] [-- Type: application/x-patch, Size: 3155 bytes --] [-- Attachment #3: Type: text/plain, Size: 167 bytes --] _______________________________________________ linux-amlogic mailing list linux-amlogic@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-09-29 1:37 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <CA+3zgmvjhisn97Y1TCn7Ztj2m3hB9+sdoOnFdvJJbKUFpt=QrQ@mail.gmail.com> 2019-09-26 12:53 ` meson-g12b xHCI - disable park mode Neil Armstrong [not found] ` <2019092715010469964015@amlogic.com> 2019-09-27 11:34 ` Neil Armstrong 2019-09-27 13:25 ` [PATCH] dwc3: add parkmode_disable_ss_quirk for G12A Neil Armstrong [not found] ` <CA+3zgmvmXwrXjM_xPZuumUhOEjqFqv7WofXGLDvY0S5JedN4Wg@mail.gmail.com> 2019-09-29 1:36 ` Fwd: " Tim
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).