* [PATCH v3 2/2] dt-bindings: usb: snps,dwc3: Add 'snps,parkmode-disable-hs-quirk' quirk
@ 2023-04-13 8:53 Stanley Chang
2023-04-13 9:13 ` Greg Kroah-Hartman
0 siblings, 1 reply; 7+ messages in thread
From: Stanley Chang @ 2023-04-13 8:53 UTC (permalink / raw)
To: Thinh Nguyen
Cc: Stanley Chang, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Felipe Balbi, linux-usb, devicetree,
linux-kernel
Add a new 'snps,parkmode-disable-hs-quirk' DT quirk to dwc3 core for
disable the high-speed parkmode.
For some USB wifi devices, if enable this feature it will reduce the
performance. Therefore, add an option for disabling HS park mode by
device-tree.
In Synopsys's dwc3 data book:
In a few high speed devices when an IN request is sent within 900ns of the
ACK of the previous packet, these devices send a NAK. When connected to
these devices, if required, the software can disable the park mode if you
see performance drop in your system. When park mode is disabled,
pipelining of multiple packet is disabled and instead one packet at a time
is requested by the scheduler. This allows up to 12 NAKs in a micro-frame
and improves performance of these slow devices.
Signed-off-by: Stanley Chang <stanley_chang@realtek.com>
---
v2 to v3 change:
1. Add the comment message.
2. cc the right maintainers.
---
Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
index be36956af53b..45ca967b8d14 100644
--- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
@@ -232,6 +232,11 @@ properties:
When set, all SuperSpeed bus instances in park mode are disabled.
type: boolean
+ snps,parkmode-disable-hs-quirk:
+ description:
+ When set, all HighSpeed bus instances in park mode are disabled.
+ type: boolean
+
snps,dis_metastability_quirk:
description:
When set, disable metastability workaround. CAUTION! Use only if you are
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH v3 2/2] dt-bindings: usb: snps,dwc3: Add 'snps,parkmode-disable-hs-quirk' quirk
2023-04-13 8:53 [PATCH v3 2/2] dt-bindings: usb: snps,dwc3: Add 'snps,parkmode-disable-hs-quirk' quirk Stanley Chang
@ 2023-04-13 9:13 ` Greg Kroah-Hartman
2023-04-13 9:36 ` Stanley Chang[昌育德]
0 siblings, 1 reply; 7+ messages in thread
From: Greg Kroah-Hartman @ 2023-04-13 9:13 UTC (permalink / raw)
To: Stanley Chang
Cc: Thinh Nguyen, Rob Herring, Krzysztof Kozlowski, Felipe Balbi,
linux-usb, devicetree, linux-kernel
On Thu, Apr 13, 2023 at 04:53:50PM +0800, Stanley Chang wrote:
> Add a new 'snps,parkmode-disable-hs-quirk' DT quirk to dwc3 core for
> disable the high-speed parkmode.
>
> For some USB wifi devices, if enable this feature it will reduce the
> performance. Therefore, add an option for disabling HS park mode by
> device-tree.
>
> In Synopsys's dwc3 data book:
> In a few high speed devices when an IN request is sent within 900ns of the
> ACK of the previous packet, these devices send a NAK. When connected to
> these devices, if required, the software can disable the park mode if you
> see performance drop in your system. When park mode is disabled,
> pipelining of multiple packet is disabled and instead one packet at a time
> is requested by the scheduler. This allows up to 12 NAKs in a micro-frame
> and improves performance of these slow devices.
>
> Signed-off-by: Stanley Chang <stanley_chang@realtek.com>
> ---
> v2 to v3 change:
> 1. Add the comment message.
> 2. cc the right maintainers.
This is not properly threaded with patch 1/2 for some reason, so our
tools can not pick up the whole thread at once. Please fix up your
sending script, or just use git send-email directly.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH v3 2/2] dt-bindings: usb: snps,dwc3: Add 'snps,parkmode-disable-hs-quirk' quirk
2023-04-13 9:13 ` Greg Kroah-Hartman
@ 2023-04-13 9:36 ` Stanley Chang[昌育德]
2023-04-13 9:54 ` Krzysztof Kozlowski
2023-04-13 10:16 ` Greg Kroah-Hartman
0 siblings, 2 replies; 7+ messages in thread
From: Stanley Chang[昌育德] @ 2023-04-13 9:36 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Thinh Nguyen, Rob Herring, Krzysztof Kozlowski, Felipe Balbi,
linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
> This is not properly threaded with patch 1/2 for some reason, so our tools can
> not pick up the whole thread at once. Please fix up your sending script, or
> just use git send-email directly.
>
> thanks,
>
> greg k-h
>
I send the patch by git send-email.
git send-email --cc="Stanley Chang <stanley_chang@realtek.com>" --to="Thinh Nguyen <Thinh.Nguyen@synopsys.com>" --cc-cmd='./scripts/get_maintainer.pl -norolestats v3-0001-usb-dwc3-core-add-support-for-disabling-High-spee.patch' --annotate v3-0001-usb-dwc3-core-add-support-for-disabling-High-spee.patch
git send-email --cc="Stanley Chang <stanley_chang@realtek.com>" --to="Thinh Nguyen <Thinh.Nguyen@synopsys.com>" --cc-cmd='./scripts/get_maintainer.pl -norolesats v3-0002-dt-bindings-usb-snps-dwc3-Add-snps-parkmode-disab.patch' --annotate v3-0002-dt-bindings-usb-snps-dwc3-Add-snps-parkmode-disab.patch
I don't know why it can't thread with 2 patches?
Do I need to resend v4 patch?
Or how can I to resolve this problem?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 2/2] dt-bindings: usb: snps,dwc3: Add 'snps,parkmode-disable-hs-quirk' quirk
2023-04-13 9:36 ` Stanley Chang[昌育德]
@ 2023-04-13 9:54 ` Krzysztof Kozlowski
2023-04-13 10:16 ` Greg Kroah-Hartman
1 sibling, 0 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2023-04-13 9:54 UTC (permalink / raw)
To: Stanley Chang[昌育德], Greg Kroah-Hartman
Cc: Thinh Nguyen, Rob Herring, Krzysztof Kozlowski, Felipe Balbi,
linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
On 13/04/2023 11:36, Stanley Chang[昌育德] wrote:
>> This is not properly threaded with patch 1/2 for some reason, so our tools can
>> not pick up the whole thread at once. Please fix up your sending script, or
>> just use git send-email directly.
>>
>> thanks,
>>
>> greg k-h
>>
>
> I send the patch by git send-email.
>
> git send-email --cc="Stanley Chang <stanley_chang@realtek.com>" --to="Thinh Nguyen <Thinh.Nguyen@synopsys.com>" --cc-cmd='./scripts/get_maintainer.pl -norolestats v3-0001-usb-dwc3-core-add-support-for-disabling-High-spee.patch' --annotate v3-0001-usb-dwc3-core-add-support-for-disabling-High-spee.patch
>
> git send-email --cc="Stanley Chang <stanley_chang@realtek.com>" --to="Thinh Nguyen <Thinh.Nguyen@synopsys.com>" --cc-cmd='./scripts/get_maintainer.pl -norolesats v3-0002-dt-bindings-usb-snps-dwc3-Add-snps-parkmode-disab.patch' --annotate v3-0002-dt-bindings-usb-snps-dwc3-Add-snps-parkmode-disab.patch
>
> I don't know why it can't thread with 2 patches?
You can - git help send-email
Easiest way is to: git send-email .... v3*
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 2/2] dt-bindings: usb: snps,dwc3: Add 'snps,parkmode-disable-hs-quirk' quirk
2023-04-13 9:36 ` Stanley Chang[昌育德]
2023-04-13 9:54 ` Krzysztof Kozlowski
@ 2023-04-13 10:16 ` Greg Kroah-Hartman
1 sibling, 0 replies; 7+ messages in thread
From: Greg Kroah-Hartman @ 2023-04-13 10:16 UTC (permalink / raw)
To: Stanley Chang[昌育德]
Cc: Thinh Nguyen, Rob Herring, Krzysztof Kozlowski, Felipe Balbi,
linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
On Thu, Apr 13, 2023 at 09:36:58AM +0000, Stanley Chang[昌育德] wrote:
> > This is not properly threaded with patch 1/2 for some reason, so our tools can
> > not pick up the whole thread at once. Please fix up your sending script, or
> > just use git send-email directly.
> >
> > thanks,
> >
> > greg k-h
> >
>
> I send the patch by git send-email.
>
> git send-email --cc="Stanley Chang <stanley_chang@realtek.com>" --to="Thinh Nguyen <Thinh.Nguyen@synopsys.com>" --cc-cmd='./scripts/get_maintainer.pl -norolestats v3-0001-usb-dwc3-core-add-support-for-disabling-High-spee.patch' --annotate v3-0001-usb-dwc3-core-add-support-for-disabling-High-spee.patch
>
> git send-email --cc="Stanley Chang <stanley_chang@realtek.com>" --to="Thinh Nguyen <Thinh.Nguyen@synopsys.com>" --cc-cmd='./scripts/get_maintainer.pl -norolesats v3-0002-dt-bindings-usb-snps-dwc3-Add-snps-parkmode-disab.patch' --annotate v3-0002-dt-bindings-usb-snps-dwc3-Add-snps-parkmode-disab.patch
>
> I don't know why it can't thread with 2 patches?
Because the second invocation of git send-email knows nothing about the
first. As Krzysztof said, send both patches on the same command line.
> Do I need to resend v4 patch?
Yes, I can not take these as-is for this reason.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3 1/2] usb: dwc3: core: add support for disabling High-speed park mode
@ 2023-04-13 10:09 Stanley Chang
2023-04-13 10:09 ` [PATCH v3 2/2] dt-bindings: usb: snps,dwc3: Add 'snps,parkmode-disable-hs-quirk' quirk Stanley Chang
0 siblings, 1 reply; 7+ messages in thread
From: Stanley Chang @ 2023-04-13 10:09 UTC (permalink / raw)
To: Thinh Nguyen
Cc: Stanley Chang, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Felipe Balbi, linux-usb, devicetree,
linux-kernel
Setting the PARKMODE_DISABLE_HS bit in the DWC3_USB3_GUCTL1.
When this bit is set to '1' all HS bus instances in park mode are disabled
For some USB wifi devices, if enable this feature it will reduce the
performance. Therefore, add an option for disabling HS park mode by
device-tree.
In Synopsys's dwc3 data book:
In a few high speed devices when an IN request is sent within 900ns of the
ACK of the previous packet, these devices send a NAK. When connected to
these devices, if required, the software can disable the park mode if you
see performance drop in your system. When park mode is disabled,
pipelining of multiple packet is disabled and instead one packet at a time
is requested by the scheduler. This allows up to 12 NAKs in a micro-frame
and improves performance of these slow devices.
Signed-off-by: Stanley Chang <stanley_chang@realtek.com>
---
v2 to v3 change:
1. Add the comment message.
2. cc the right maintainers.
---
drivers/usb/dwc3/core.c | 5 +++++
drivers/usb/dwc3/core.h | 4 ++++
2 files changed, 9 insertions(+)
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 476b63618511..8fbc92a5f2cb 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -1233,6 +1233,9 @@ static int dwc3_core_init(struct dwc3 *dwc)
if (dwc->parkmode_disable_ss_quirk)
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_SS;
+ if (dwc->parkmode_disable_hs_quirk)
+ reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS;
+
if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY) &&
(dwc->maximum_speed == USB_SPEED_HIGH ||
dwc->maximum_speed == USB_SPEED_FULL))
@@ -1555,6 +1558,8 @@ static void dwc3_get_properties(struct dwc3 *dwc)
"snps,resume-hs-terminations");
dwc->parkmode_disable_ss_quirk = device_property_read_bool(dev,
"snps,parkmode-disable-ss-quirk");
+ dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev,
+ "snps,parkmode-disable-hs-quirk");
dwc->gfladj_refclk_lpm_sel = device_property_read_bool(dev,
"snps,gfladj-refclk-lpm-sel-quirk");
diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index 4743e918dcaf..30907ffcb3ec 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -263,6 +263,7 @@
#define DWC3_GUCTL1_DEV_FORCE_20_CLK_FOR_30_CLK BIT(26)
#define DWC3_GUCTL1_DEV_L1_EXIT_BY_HW BIT(24)
#define DWC3_GUCTL1_PARKMODE_DISABLE_SS BIT(17)
+#define DWC3_GUCTL1_PARKMODE_DISABLE_HS BIT(16)
#define DWC3_GUCTL1_RESUME_OPMODE_HS_HOST BIT(10)
/* Global Status Register */
@@ -1102,6 +1103,8 @@ struct dwc3_scratchpad_array {
* generation after resume from suspend.
* @parkmode_disable_ss_quirk: set if we need to disable all SuperSpeed
* instances in park mode.
+ * @parkmode_disable_hs_quirk: set if we need to disable all HishSpeed
+ * 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
@@ -1318,6 +1321,7 @@ struct dwc3 {
unsigned dis_tx_ipgap_linecheck_quirk:1;
unsigned resume_hs_terminations:1;
unsigned parkmode_disable_ss_quirk:1;
+ unsigned parkmode_disable_hs_quirk:1;
unsigned gfladj_refclk_lpm_sel:1;
unsigned tx_de_emphasis_quirk:1;
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH v3 2/2] dt-bindings: usb: snps,dwc3: Add 'snps,parkmode-disable-hs-quirk' quirk
2023-04-13 10:09 [PATCH v3 1/2] usb: dwc3: core: add support for disabling High-speed park mode Stanley Chang
@ 2023-04-13 10:09 ` Stanley Chang
2023-04-18 20:52 ` Rob Herring
0 siblings, 1 reply; 7+ messages in thread
From: Stanley Chang @ 2023-04-13 10:09 UTC (permalink / raw)
To: Thinh Nguyen
Cc: Stanley Chang, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Felipe Balbi, linux-usb, devicetree,
linux-kernel
Add a new 'snps,parkmode-disable-hs-quirk' DT quirk to dwc3 core for
disable the high-speed parkmode.
For some USB wifi devices, if enable this feature it will reduce the
performance. Therefore, add an option for disabling HS park mode by
device-tree.
In Synopsys's dwc3 data book:
In a few high speed devices when an IN request is sent within 900ns of the
ACK of the previous packet, these devices send a NAK. When connected to
these devices, if required, the software can disable the park mode if you
see performance drop in your system. When park mode is disabled,
pipelining of multiple packet is disabled and instead one packet at a time
is requested by the scheduler. This allows up to 12 NAKs in a micro-frame
and improves performance of these slow devices.
Signed-off-by: Stanley Chang <stanley_chang@realtek.com>
---
v2 to v3 change:
1. Add the comment message.
2. cc the right maintainers.
---
Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
index be36956af53b..45ca967b8d14 100644
--- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
@@ -232,6 +232,11 @@ properties:
When set, all SuperSpeed bus instances in park mode are disabled.
type: boolean
+ snps,parkmode-disable-hs-quirk:
+ description:
+ When set, all HighSpeed bus instances in park mode are disabled.
+ type: boolean
+
snps,dis_metastability_quirk:
description:
When set, disable metastability workaround. CAUTION! Use only if you are
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH v3 2/2] dt-bindings: usb: snps,dwc3: Add 'snps,parkmode-disable-hs-quirk' quirk
2023-04-13 10:09 ` [PATCH v3 2/2] dt-bindings: usb: snps,dwc3: Add 'snps,parkmode-disable-hs-quirk' quirk Stanley Chang
@ 2023-04-18 20:52 ` Rob Herring
0 siblings, 0 replies; 7+ messages in thread
From: Rob Herring @ 2023-04-18 20:52 UTC (permalink / raw)
To: Stanley Chang
Cc: Felipe Balbi, linux-kernel, Rob Herring, Greg Kroah-Hartman,
linux-usb, Krzysztof Kozlowski, devicetree, Thinh Nguyen
On Thu, 13 Apr 2023 18:09:14 +0800, Stanley Chang wrote:
> Add a new 'snps,parkmode-disable-hs-quirk' DT quirk to dwc3 core for
> disable the high-speed parkmode.
>
> For some USB wifi devices, if enable this feature it will reduce the
> performance. Therefore, add an option for disabling HS park mode by
> device-tree.
>
> In Synopsys's dwc3 data book:
> In a few high speed devices when an IN request is sent within 900ns of the
> ACK of the previous packet, these devices send a NAK. When connected to
> these devices, if required, the software can disable the park mode if you
> see performance drop in your system. When park mode is disabled,
> pipelining of multiple packet is disabled and instead one packet at a time
> is requested by the scheduler. This allows up to 12 NAKs in a micro-frame
> and improves performance of these slow devices.
>
> Signed-off-by: Stanley Chang <stanley_chang@realtek.com>
> ---
> v2 to v3 change:
> 1. Add the comment message.
> 2. cc the right maintainers.
> ---
> Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 5 +++++
> 1 file changed, 5 insertions(+)
>
Acked-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-04-18 20:54 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-13 8:53 [PATCH v3 2/2] dt-bindings: usb: snps,dwc3: Add 'snps,parkmode-disable-hs-quirk' quirk Stanley Chang
2023-04-13 9:13 ` Greg Kroah-Hartman
2023-04-13 9:36 ` Stanley Chang[昌育德]
2023-04-13 9:54 ` Krzysztof Kozlowski
2023-04-13 10:16 ` Greg Kroah-Hartman
-- strict thread matches above, loose matches on Subject: below --
2023-04-13 10:09 [PATCH v3 1/2] usb: dwc3: core: add support for disabling High-speed park mode Stanley Chang
2023-04-13 10:09 ` [PATCH v3 2/2] dt-bindings: usb: snps,dwc3: Add 'snps,parkmode-disable-hs-quirk' quirk Stanley Chang
2023-04-18 20:52 ` Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox