linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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; 7+ 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] 7+ messages in thread

* Re: [RFT PATCH 0/4] usb: dwc2: Turn on uframe sched everywhere
  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
  0 siblings, 1 reply; 7+ messages in thread
From: Doug Anderson @ 2018-07-10 15:21 UTC (permalink / raw)
  To: Stefan Wahren
  Cc: Minas Harutyunyan, Greg Kroah-Hartman, Jerome Brunet,
	Zhangfei Gao, Bruno Herrera, Stephen Warren, LKML, linux-usb

Hi,

On Tue, Jul 10, 2018 at 6:57 AM, Stefan Wahren <stefan.wahren@i2se.com> wrote:
> Hi Doug,
>
> since Stephen isn't BCM2835 maintainer anymore, please keep me in the loop.

Sorry for missing you.  :(  I wonder if you should add yourself to the
MAINTAINERS file as a reviewer for dwc2 so you can get CCed always?


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

I guess it'll depend on what USB devices you have sitting around.  The
more USB devices you have plugged in then the more likely the dumb
scheduler will get things wrong and a device won't like you.  You
should also see significant compatibility improvements when you have
low/full speed devices plugged into high speed USB hubs.

IIRC when testing I did things like:
- In general, try to have lots of things plugged in.
- Plug many different keyboards / mice in.  See if keys are dropped /
mouse is jerky.
- Try USB audio (ideally full speed, not high speed).  How is the audio?
- If you're brave, try a USB webcam.  How is the video?


If you're trying a USB webcam w/ dwc2, maybe add in patches mentioned
in <https://bugs.chromium.org/p/chromium/issues/detail?id=820961>


-Doug

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

* Re: [RFT PATCH 0/4] usb: dwc2: Turn on uframe sched everywhere
  2018-07-10 15:21 ` Doug Anderson
@ 2018-07-11 11:29   ` Stefan Wahren
  0 siblings, 0 replies; 7+ messages in thread
From: Stefan Wahren @ 2018-07-11 11:29 UTC (permalink / raw)
  To: Doug Anderson
  Cc: Jerome Brunet, Bruno Herrera, Minas Harutyunyan,
	Greg Kroah-Hartman, linux-usb, Zhangfei Gao, LKML, balbi,
	grigor.tovmasyan

Hi Doug,

[add Felipe and Grigor]

> Doug Anderson <dianders@chromium.org> hat am 10. Juli 2018 um 17:21 geschrieben:
> 
> 
> Hi,
> 
> On Tue, Jul 10, 2018 at 6:57 AM, Stefan Wahren <stefan.wahren@i2se.com> wrote:
> > Hi Doug,
> >
> > since Stephen isn't BCM2835 maintainer anymore, please keep me in the loop.
> 
> Sorry for missing you.  :(  I wonder if you should add yourself to the
> MAINTAINERS file as a reviewer for dwc2 so you can get CCed always?

i don't think this is necessary and my USB knowledge is to little. I've setup a jenkins to catch regressions from linux-next. This is currently sufficient.

> 
> 
> > I'm not sure how to test this. Is there some kind of test scenario (don't
> > have a USB analyzer)?
> 
> I guess it'll depend on what USB devices you have sitting around.  The
> more USB devices you have plugged in then the more likely the dumb
> scheduler will get things wrong and a device won't like you.  You
> should also see significant compatibility improvements when you have
> low/full speed devices plugged into high speed USB hubs.
> 
> IIRC when testing I did things like:
> - In general, try to have lots of things plugged in.
> - Plug many different keyboards / mice in.  See if keys are dropped /
> mouse is jerky.
> - Try USB audio (ideally full speed, not high speed).  How is the audio?
> - If you're brave, try a USB webcam.  How is the video?

Thanks for the hints. The BCM2835 only have 8 EP, so my test setup isn't big:

1x Rasberry Pi 2 (with onboard ethernet SMSC95xx via USB)
1x keyboard connected to the Pi directly
1x external powered 7 port HUB (1x mice and 1x USB serial adapter)

/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
        |__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M
        |__ Port 2: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 2: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 4: Dev 5, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 1: Dev 6, If 0, Class=Hub, Driver=hub/4p, 480M
                |__ Port 1: Dev 7, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
                |__ Port 4: Dev 8, If 0, Class=Vendor Specific Class, Driver=, 12M

But even in this simple scenario, your patch #1 is an improvement.

Without the hub connected and without your patch
or with the hub (and the 2 devices) connected and with your patch the SMSC95xx works properly:

[   45.668254] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[   47.146506] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1

But with the hub (and the 2 devices) connected and without your patch the SMSC95xx driver has timeouts and in the result the RPi won't get an IP from my router:

[   20.408622] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[   20.807821] Adding 102396k swap on /var/swap.  Priority:-2 extents:1 across:102396k SS
[   26.401346] smsc95xx 1-1.1:1.0 eth0: Failed to read reg index 0x00000114: -110
[   26.401360] smsc95xx 1-1.1:1.0 eth0: Error reading MII_ACCESS
[   26.401371] smsc95xx 1-1.1:1.0 eth0: MII is busy in smsc95xx_mdio_read
[   26.401387] smsc95xx 1-1.1:1.0 eth0: Failed to read MII_BMSR
[   31.441429] smsc95xx 1-1.1:1.0 eth0: Failed to read reg index 0x00000114: -110
[   31.441454] smsc95xx 1-1.1:1.0 eth0: Error reading MII_ACCESS
[   31.441465] smsc95xx 1-1.1:1.0 eth0: MII is busy in smsc95xx_mdio_read
[   31.441481] smsc95xx 1-1.1:1.0 eth0: link reset failed (-110) usbnet usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet
[   36.481359] smsc95xx 1-1.1:1.0 eth0: Failed to read reg index 0x00000114: -110
[   36.481372] smsc95xx 1-1.1:1.0 eth0: Error reading MII_ACCESS
[   36.481383] smsc95xx 1-1.1:1.0 eth0: MII is busy in smsc95xx_mdio_read
[   36.481402] smsc95xx 1-1.1:1.0 eth0: link reset failed (-110) usbnet usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet
[   41.521345] smsc95xx 1-1.1:1.0 eth0: Failed to read reg index 0x00000114: -110
[   41.521358] smsc95xx 1-1.1:1.0 eth0: Error reading MII_ACCESS
[   41.521369] smsc95xx 1-1.1:1.0 eth0: MII is busy in smsc95xx_mdio_read
[   41.521387] smsc95xx 1-1.1:1.0 eth0: link reset failed (-110) usbnet usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet
[   46.561349] smsc95xx 1-1.1:1.0 eth0: Failed to read reg index 0x00000114: -110
[   46.561363] smsc95xx 1-1.1:1.0 eth0: Error reading MII_ACCESS
[   46.561374] smsc95xx 1-1.1:1.0 eth0: MII is busy in smsc95xx_mdio_read
[   46.561393] smsc95xx 1-1.1:1.0 eth0: link reset failed (-110) usbnet usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet
[   59.441375] smsc95xx 1-1.1:1.0 eth0: Failed to read reg index 0x00000118: -110
[   59.441389] smsc95xx 1-1.1:1.0 eth0: Error reading MII_DATA
[   59.441405] smsc95xx 1-1.1:1.0 eth0: link reset failed (-110) usbnet usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet
[   64.545268] smsc95xx 1-1.1:1.0 eth0: Failed to read reg index 0x00000114: -110
[   64.545285] smsc95xx 1-1.1:1.0 eth0: Error reading MII_ACCESS
[   64.545297] smsc95xx 1-1.1:1.0 eth0: MII is busy in smsc95xx_mdio_read
[   64.545324] smsc95xx 1-1.1:1.0 eth0: link reset failed (-110) usbnet usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet

So you can have my

Tested-by: Stefan Wahren <stefan.wahren@i2se.com>

for the bcm patch.

> 
> 
> If you're trying a USB webcam w/ dwc2, maybe add in patches mentioned
> in <https://bugs.chromium.org/p/chromium/issues/detail?id=820961>

Interesting

Best regards
Stefan

> 
> 
> -Doug

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

* Re: [RFT PATCH 0/4] usb: dwc2: Turn on uframe sched everywhere
  2018-07-26 20:11   ` Doug Anderson
@ 2018-07-27  6:55     ` Felipe Balbi
  0 siblings, 0 replies; 7+ messages in thread
From: Felipe Balbi @ 2018-07-27  6:55 UTC (permalink / raw)
  To: Doug Anderson
  Cc: Minas Harutyunyan, Greg Kroah-Hartman, Jerome Brunet,
	Zhangfei Gao, Stephen Warren, Bruno Herrera, linux-usb, LKML

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


Hi,

Doug Anderson <dianders@chromium.org> writes:
> On Thu, Jul 26, 2018 at 3:59 AM, Felipe Balbi
> <felipe.balbi@linux.intel.com> wrote:
>> Douglas Anderson <dianders@chromium.org> writes:
>>
>>> 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
>>
>> care to resend without RFT prefix and with collected acks, tested-bys, etc?
>
> Done with a prefix of 'REPOST' to hopefully make it obvious nothing
> changed between the RFT and this version.  There were only two
> test-by, but as mentioned in the updated cover letter:
>
> Since there should be nothing platform specific about the uFrame
> scheduler presumably this should mean we're good to go?  Specificaly
> note that in at least one of the "Tested-by" reports this patch caused
> a notable improvement.
>
>
> BTW: I'm pleased to have you apply the patches, but I notice that
> get_maintainer no longer flags you as the person to post dwc2 patches
> to.  From linux-next:
>
> $ ./scripts/get_maintainer.pl -f drivers/usb/dwc2
> Minas Harutyunyan <hminas@synopsys.com> (maintainer:DESIGNWARE USB2
> DRD IP DRIVER)
> Greg Kroah-Hartman <gregkh@linuxfoundation.org> (supporter:USB SUBSYSTEM)
> linux-usb@vger.kernel.org (open list:DESIGNWARE USB2 DRD IP DRIVER)
> linux-kernel@vger.kernel.org (open list)

I need to add dwc2 to the gadget framework part of MAINTAINERS. I'll do
that at some point.

-- 
balbi

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

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

* Re: [RFT PATCH 0/4] usb: dwc2: Turn on uframe sched everywhere
  2018-07-26 10:59 ` Felipe Balbi
@ 2018-07-26 20:11   ` Doug Anderson
  2018-07-27  6:55     ` Felipe Balbi
  0 siblings, 1 reply; 7+ messages in thread
From: Doug Anderson @ 2018-07-26 20:11 UTC (permalink / raw)
  To: Felipe Balbi
  Cc: Minas Harutyunyan, Greg Kroah-Hartman, Jerome Brunet,
	Zhangfei Gao, Stephen Warren, Bruno Herrera, linux-usb, LKML

Hi,

On Thu, Jul 26, 2018 at 3:59 AM, Felipe Balbi
<felipe.balbi@linux.intel.com> wrote:
> Douglas Anderson <dianders@chromium.org> writes:
>
>> 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
>
> care to resend without RFT prefix and with collected acks, tested-bys, etc?

Done with a prefix of 'REPOST' to hopefully make it obvious nothing
changed between the RFT and this version.  There were only two
test-by, but as mentioned in the updated cover letter:

Since there should be nothing platform specific about the uFrame
scheduler presumably this should mean we're good to go?  Specificaly
note that in at least one of the "Tested-by" reports this patch caused
a notable improvement.


BTW: I'm pleased to have you apply the patches, but I notice that
get_maintainer no longer flags you as the person to post dwc2 patches
to.  From linux-next:

$ ./scripts/get_maintainer.pl -f drivers/usb/dwc2
Minas Harutyunyan <hminas@synopsys.com> (maintainer:DESIGNWARE USB2
DRD IP DRIVER)
Greg Kroah-Hartman <gregkh@linuxfoundation.org> (supporter:USB SUBSYSTEM)
linux-usb@vger.kernel.org (open list:DESIGNWARE USB2 DRD IP DRIVER)
linux-kernel@vger.kernel.org (open list)


-Doug

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

* Re: [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
  2018-07-26 20:11   ` Doug Anderson
  0 siblings, 1 reply; 7+ messages in thread
From: Felipe Balbi @ 2018-07-26 10:59 UTC (permalink / raw)
  To: Douglas Anderson, hminas, gregkh
  Cc: Jerome Brunet, Zhangfei Gao, Stephen Warren, Bruno Herrera,
	Douglas Anderson, linux-usb, linux-kernel

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

Douglas Anderson <dianders@chromium.org> writes:

> 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

care to resend without RFT prefix and with collected acks, tested-bys, etc?

-- 
balbi

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

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

* [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; 7+ 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] 7+ messages in thread

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

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
  -- strict thread matches above, loose matches on Subject: below --
2018-07-06 16:21 Douglas Anderson
2018-07-26 10:59 ` Felipe Balbi
2018-07-26 20:11   ` Doug Anderson
2018-07-27  6:55     ` Felipe Balbi

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).