All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFT PATCH 0/4] usb: dwc2: Turn on uframe sched everywhere
@ 2018-07-06 16:21 Douglas Anderson
  2018-07-26 10:59 ` Felipe Balbi
  0 siblings, 1 reply; 17+ messages in thread
From: Douglas Anderson @ 2018-07-06 16:21 UTC (permalink / raw)
  To: hminas, gregkh
  Cc: Jerome Brunet, Zhangfei Gao, Stephen Warren, Bruno Herrera,
	Douglas Anderson, linux-usb, linux-kernel

While looking at a dwc2 recently, I noticed that some platforms still
have the uframe scheduler off.  As far as I know, nothing good can
come out of having the uframe scheduler off.  Let's turn it on
everywhere.  Assuming this all works out then some time in the future
we can gut all the old code that handles the old non-uframe scheduler
and make everything simpler.

NOTE: I don't have access to any of the platforms that I'm changing
here, so I'm hoping to see a Tested-by from those on the list.


Douglas Anderson (4):
  usb: dwc2: Turn on uframe_sched on "bcm" platforms
  usb: dwc2: Turn on uframe_sched on "his" platforms
  usb: dwc2: Turn on uframe_sched on "amlogic" platforms
  usb: dwc2: Turn on uframe_sched on "stm32f4x9_fsotg" platforms

 drivers/usb/dwc2/params.c | 4 ----
 1 file changed, 4 deletions(-)

-- 
2.18.0.399.gad0ab374a1-goog


^ permalink raw reply	[flat|nested] 17+ messages in thread
* [RFT,1/4] usb: dwc2: Turn on uframe_sched on "bcm" platforms
  2018-07-06 16:21 [RFT PATCH 0/4] usb: dwc2: Turn on uframe sched everywhere Douglas Anderson
@ 2018-07-06 16:21 ` Douglas Anderson
  0 siblings, 0 replies; 17+ messages in thread
From: Doug Anderson @ 2018-07-06 16:21 UTC (permalink / raw)
  To: hminas, gregkh
  Cc: Jerome Brunet, Zhangfei Gao, Stephen Warren, Bruno Herrera,
	Douglas Anderson, linux-usb, linux-kernel

There's no reason to have the uframe scheduler off on dwc2.  Running
with uframe_sched = False is equivalent to saying "I don't want to run
the correct code, I want to run the old and incorrect code".

The uframe scheduler has been off on Broadcom since commit
58b179dcf28c ("staging: dwc2: disable uframe_sched on the bcm2835").
Since then there have been many many improvements, notably the commit
9f9f09b048f5 ("usb: dwc2: host: Totally redo the microframe
scheduler")

Presumably if everyone is good w/ the uframe_sched turned back on we
can kill all the old and crufty non-uframe sched code.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/usb/dwc2/params.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c
index af075d4da895..14b8742e62fa 100644
--- a/drivers/usb/dwc2/params.c
+++ b/drivers/usb/dwc2/params.c
@@ -47,7 +47,6 @@ static void dwc2_set_bcm_params(struct dwc2_hsotg *hsotg)
 	p->max_transfer_size = 65535;
 	p->max_packet_count = 511;
 	p->ahbcfg = 0x10;
-	p->uframe_sched = false;
 }
 
 static void dwc2_set_his_params(struct dwc2_hsotg *hsotg)

^ permalink raw reply related	[flat|nested] 17+ messages in thread
* [RFT,2/4] usb: dwc2: Turn on uframe_sched on "his" platforms
  2018-07-06 16:21 [RFT PATCH 0/4] usb: dwc2: Turn on uframe sched everywhere Douglas Anderson
@ 2018-07-06 16:21 ` Douglas Anderson
  0 siblings, 0 replies; 17+ messages in thread
From: Doug Anderson @ 2018-07-06 16:21 UTC (permalink / raw)
  To: hminas, gregkh
  Cc: Jerome Brunet, Zhangfei Gao, Stephen Warren, Bruno Herrera,
	Douglas Anderson, linux-usb, linux-kernel

There's no reason to have the uframe scheduler off on dwc2.  Running
with uframe_sched = False is equivalent to saying "I don't want to run
the correct code, I want to run the old and incorrect code".

The uframe scheduler has been off on HiSilicon since commit
37dd9d65cc41 ("usb: dwc2: add support of hi6220").  Since then there
have been many many improvements, notably the commit 9f9f09b048f5
("usb: dwc2: host: Totally redo the microframe scheduler")

Presumably if everyone is good w/ the uframe_sched turned back on we
can kill all the old and crufty non-uframe sched code.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/usb/dwc2/params.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c
index 14b8742e62fa..db97bb16ecc4 100644
--- a/drivers/usb/dwc2/params.c
+++ b/drivers/usb/dwc2/params.c
@@ -67,7 +67,6 @@ static void dwc2_set_his_params(struct dwc2_hsotg *hsotg)
 	p->reload_ctl = false;
 	p->ahbcfg = GAHBCFG_HBSTLEN_INCR16 <<
 		GAHBCFG_HBSTLEN_SHIFT;
-	p->uframe_sched = false;
 	p->change_speed_quirk = true;
 	p->power_down = false;
 }

^ permalink raw reply related	[flat|nested] 17+ messages in thread
* [RFT,3/4] usb: dwc2: Turn on uframe_sched on "amlogic" platforms
  2018-07-06 16:21 [RFT PATCH 0/4] usb: dwc2: Turn on uframe sched everywhere Douglas Anderson
@ 2018-07-06 16:21 ` Douglas Anderson
  0 siblings, 0 replies; 17+ messages in thread
From: Doug Anderson @ 2018-07-06 16:21 UTC (permalink / raw)
  To: hminas, gregkh
  Cc: Jerome Brunet, Zhangfei Gao, Stephen Warren, Bruno Herrera,
	Douglas Anderson, linux-usb, linux-kernel

There's no reason to have the uframe scheduler off on dwc2.  Running
with uframe_sched = False is equivalent to saying "I don't want to run
the correct code, I want to run the old and incorrect code".

The uframe scheduler has been off on Amlogic since commit f94310ac076e
("usb: dwc2: add support for Meson8b and GXBB SoCs").  While this was
after most of the recent improvements, notably the commit 9f9f09b048f5
("usb: dwc2: host: Totally redo the microframe scheduler"), presumably
the parameters were copied from another platform and the uframe
scheduler wasn't tried.

Presumably if everyone is good w/ the uframe_sched turned back on we
can kill all the old and crufty non-uframe sched code.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/usb/dwc2/params.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c
index db97bb16ecc4..93380f7c32b4 100644
--- a/drivers/usb/dwc2/params.c
+++ b/drivers/usb/dwc2/params.c
@@ -110,7 +110,6 @@ static void dwc2_set_amlogic_params(struct dwc2_hsotg *hsotg)
 	p->phy_type = DWC2_PHY_TYPE_PARAM_UTMI;
 	p->ahbcfg = GAHBCFG_HBSTLEN_INCR8 <<
 		GAHBCFG_HBSTLEN_SHIFT;
-	p->uframe_sched = false;
 }
 
 static void dwc2_set_amcc_params(struct dwc2_hsotg *hsotg)

^ permalink raw reply related	[flat|nested] 17+ messages in thread
* [RFT,4/4] usb: dwc2: Turn on uframe_sched on "stm32f4x9_fsotg" platforms
  2018-07-06 16:21 [RFT PATCH 0/4] usb: dwc2: Turn on uframe sched everywhere Douglas Anderson
@ 2018-07-06 16:21 ` Douglas Anderson
  0 siblings, 0 replies; 17+ messages in thread
From: Doug Anderson @ 2018-07-06 16:21 UTC (permalink / raw)
  To: hminas, gregkh
  Cc: Jerome Brunet, Zhangfei Gao, Stephen Warren, Bruno Herrera,
	Douglas Anderson, linux-usb, linux-kernel

There's no reason to have the uframe scheduler off on dwc2.  Running
with uframe_sched = False is equivalent to saying "I don't want to run
the correct code, I want to run the old and incorrect code".

The uframe scheduler has been off on stm32f4x9_fsotg since commit
e35b135055e2 ("usb: dwc2: Add support for STM32F429/439/469 USB OTG
HS/FS in FS mode (internal PHY)").  That commit is pretty recent, so
it's unclear to me why the uframe scheduler was left off.  Hopefully
it's because someone copied it from other parameters and didn't think
to try it?

Presumably if everyone is good w/ the uframe_sched turned back on we
can kill all the old and crufty non-uframe sched code.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/usb/dwc2/params.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c
index 93380f7c32b4..7be35bcde713 100644
--- a/drivers/usb/dwc2/params.c
+++ b/drivers/usb/dwc2/params.c
@@ -131,7 +131,6 @@ static void dwc2_set_stm32f4x9_fsotg_params(struct dwc2_hsotg *hsotg)
 	p->max_packet_count = 256;
 	p->phy_type = DWC2_PHY_TYPE_PARAM_FS;
 	p->i2c_enable = false;
-	p->uframe_sched = false;
 	p->activate_stm_fs_transceiver = true;
 }
 

^ permalink raw reply related	[flat|nested] 17+ messages in thread
* Re: [RFT PATCH 0/4] usb: dwc2: Turn on uframe sched everywhere
@ 2018-07-10 13:57 Stefan Wahren
  2018-07-10 15:21 ` Doug Anderson
  0 siblings, 1 reply; 17+ messages in thread
From: Stefan Wahren @ 2018-07-10 13:57 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: hminas, gregkh, Jerome Brunet, Zhangfei Gao, Bruno Herrera,
	Stephen Warren, linux-kernel, linux-usb

Hi Doug,

since Stephen isn't BCM2835 maintainer anymore, please keep me in the loop.

I'm not sure how to test this. Is there some kind of test scenario 
(don't have a USB analyzer)?

Best regards
Stefan


^ permalink raw reply	[flat|nested] 17+ messages in thread
* [RFT,2/4] usb: dwc2: Turn on uframe_sched on "his" platforms
  2018-07-06 16:21 ` [RFT PATCH 2/4] " Douglas Anderson
@ 2018-07-10 23:34 ` John Stultz
  -1 siblings, 0 replies; 17+ messages in thread
From: John Stultz @ 2018-07-10 23:34 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: hminas, Greg Kroah-Hartman, Jerome Brunet, Zhangfei Gao,
	Stephen Warren, Bruno Herrera, linux-usb,
	Linux Kernel Mailing List

On Fri, Jul 6, 2018 at 9:21 AM, Douglas Anderson <dianders@chromium.org> wrote:
> There's no reason to have the uframe scheduler off on dwc2.  Running
> with uframe_sched = False is equivalent to saying "I don't want to run
> the correct code, I want to run the old and incorrect code".
>
> The uframe scheduler has been off on HiSilicon since commit
> 37dd9d65cc41 ("usb: dwc2: add support of hi6220").  Since then there
> have been many many improvements, notably the commit 9f9f09b048f5
> ("usb: dwc2: host: Totally redo the microframe scheduler")
>
> Presumably if everyone is good w/ the uframe_sched turned back on we
> can kill all the old and crufty non-uframe sched code.
>
> Signed-off-by: Douglas Anderson <dianders@chromium.org>

Not sure exactly how to exercise this, but in my initial testing with
usb on HiKey, this seems to work ok.

Tested-by: John Stultz <john.stultz@linaro.org>

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

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

end of thread, other threads:[~2018-07-27  6:58 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-06 16:21 [RFT PATCH 0/4] usb: dwc2: Turn on uframe sched everywhere Douglas Anderson
2018-07-26 10:59 ` Felipe Balbi
2018-07-26 20:11   ` Doug Anderson
2018-07-27  6:55     ` Felipe Balbi
  -- strict thread matches above, loose matches on Subject: below --
2018-07-06 16:21 [RFT,1/4] usb: dwc2: Turn on uframe_sched on "bcm" platforms Doug Anderson
2018-07-06 16:21 ` [RFT PATCH 1/4] " Douglas Anderson
2018-07-06 16:21 [RFT,2/4] usb: dwc2: Turn on uframe_sched on "his" platforms Doug Anderson
2018-07-06 16:21 ` [RFT PATCH 2/4] " Douglas Anderson
2018-07-06 16:21 [RFT,3/4] usb: dwc2: Turn on uframe_sched on "amlogic" platforms Doug Anderson
2018-07-06 16:21 ` [RFT PATCH 3/4] " Douglas Anderson
2018-07-06 16:21 [RFT,4/4] usb: dwc2: Turn on uframe_sched on "stm32f4x9_fsotg" platforms Doug Anderson
2018-07-06 16:21 ` [RFT PATCH 4/4] " Douglas Anderson
2018-07-10 13:57 [RFT PATCH 0/4] usb: dwc2: Turn on uframe sched everywhere Stefan Wahren
2018-07-10 15:21 ` Doug Anderson
2018-07-11 11:29   ` Stefan Wahren
2018-07-10 23:34 [RFT,2/4] usb: dwc2: Turn on uframe_sched on "his" platforms John Stultz
2018-07-10 23:34 ` [RFT PATCH 2/4] " John Stultz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.