All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/12] USB: chipidea: patchset for performance improvement
@ 2015-03-19  1:19 ` Peter Chen
  0 siblings, 0 replies; 40+ messages in thread
From: Peter Chen @ 2015-03-19  1:19 UTC (permalink / raw)
  To: shawn.guo-QSEj5FYQhm4dnm+yROfE0A, linux-usb-u79uwXL29TY76Z2rM5mHXA
  Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	kernel-bIcnvbaLZ9MEGnE8C9+IrQ, devicetree-u79uwXL29TY76Z2rM5mHXA,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A, pawel.moll-5wv7dgnIgG8,
	mark.rutland-5wv7dgnIgG8, Peter Chen

Hi all,

In this patch set, I add some interfaces for tuning the performance
of chipidea usb driver. With this set, the USB performance can be improved
at some user cases with suitable parameters. The main changes:

- Interface to tune interrupt threshold control, and set
'Immediate' for default value
- The glue layer can disable stream mode according to USB role
- Interface to tune AHB burst configuration at SBUSCFG
- Interface to tune tx/rx burst size
- i.mx changes for achieving better performance, it can reduce
  the latecy between bus and USB FIFO, and reduce the overrun
  and underrun occurrences, it is useful for the system bus is busy.
  we see great improvement for ISO transfer, eg, high resolution
  USB camera when the bus is busy.

Below are some test results at imx6sx sdb board
(set ehci_hcd.park=3 at bootargs), the tests are done
at v4.0 kernel, no other bus loading during the tests,
so we have not seen performance change for some use cases.

USB Mass Storage (Host mode)
With Patch Set		Without Patch Set
R: 26.9 MB/s		27 MB/s
W: 25.2 MB/s		24.5 MB/s

1G USB Ethernet Card
With Patch Set		Without Patch Set
TX: 186 Mb/s		185 Mb/s
RX: 219 Mb/s		216 Mb/s

g_ncm (Device Mode)
With Patch Set		Without Patch Set
TX: 166MB/s		163MB/s
RX: 230MB/s		184MB/s

Peter Chen (12):
  Doc: usb: ci-hdrc-imx: add gadget-itc-setting for binding doc
  usb: chipidea: set ITC to 0 for device mode
  usb: chipidea: define stream mode disable for both roles
  usb: chipidea: imx: add stream mode enable for device mode at
    imx6sl/imx6sx
  usb: chipidea: introduce ci_platform_config
  Doc: usb: ci-hdrc-imx: add ahb-burst-config for binding doc
  ARM: imx6: set ahb-burst-config as 0 for USB
  usb: chipidea: add ahb burst configuration
  usb: chipidea: usbmisc_imx: add unburst setting for imx6
  Doc: usb: ci-hdrc-imx: add tx(rx)-burst-config-dword for binding doc
  ARM: imx6: change default burst size for USB
  usb: chipidea: add burst size configuration interface

 .../devicetree/bindings/usb/ci-hdrc-imx.txt        |  12 +++
 arch/arm/boot/dts/imx6qdl.dtsi                     |  12 +++
 arch/arm/boot/dts/imx6sl.dtsi                      |   9 ++
 arch/arm/boot/dts/imx6sx.dtsi                      |   9 ++
 drivers/usb/chipidea/bits.h                        |   7 ++
 drivers/usb/chipidea/ci.h                          |   3 +
 drivers/usb/chipidea/ci_hdrc_imx.c                 |  14 ++-
 drivers/usb/chipidea/core.c                        | 119 +++++++++++++++++++--
 drivers/usb/chipidea/host.c                        |   6 +-
 drivers/usb/chipidea/usbmisc_imx.c                 |  12 ++-
 include/linux/usb/chipidea.h                       |  11 +-
 11 files changed, 191 insertions(+), 23 deletions(-)

-- 
1.9.1

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

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

end of thread, other threads:[~2015-03-26  8:34 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-19  1:19 [PATCH 00/12] USB: chipidea: patchset for performance improvement Peter Chen
2015-03-19  1:19 ` Peter Chen
     [not found] ` <1426727963-32280-1-git-send-email-peter.chen-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2015-03-19  1:19   ` [PATCH 01/12] Doc: usb: ci-hdrc-imx: add gadget-itc-setting for binding doc Peter Chen
2015-03-19  1:19     ` Peter Chen
2015-03-19  1:19   ` [PATCH 02/12] usb: chipidea: set ITC to 0 for device mode Peter Chen
2015-03-19  1:19     ` Peter Chen
2015-03-19  1:19   ` [PATCH 03/12] usb: chipidea: define stream mode disable for both roles Peter Chen
2015-03-19  1:19     ` Peter Chen
2015-03-19  1:19   ` [PATCH 04/12] usb: chipidea: imx: add stream mode enable for device mode at imx6sl/imx6sx Peter Chen
2015-03-19  1:19     ` Peter Chen
2015-03-19  1:19   ` [PATCH 05/12] usb: chipidea: introduce ci_platform_config Peter Chen
2015-03-19  1:19     ` Peter Chen
     [not found]     ` <1426727963-32280-6-git-send-email-peter.chen-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2015-03-19 10:19       ` Michael Grzeschik
2015-03-19 10:19         ` Michael Grzeschik
     [not found]         ` <20150319101929.GC9894-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2015-03-20  2:36           ` Peter Chen
2015-03-20  2:36             ` Peter Chen
2015-03-19  1:19   ` [PATCH 06/12] Doc: usb: ci-hdrc-imx: add ahb-burst-config for binding doc Peter Chen
2015-03-19  1:19     ` Peter Chen
2015-03-19  1:19   ` [PATCH 07/12] ARM: imx6: set ahb-burst-config as 0 for USB Peter Chen
2015-03-19  1:19     ` Peter Chen
2015-03-19  1:19   ` [PATCH 08/12] usb: chipidea: add ahb burst configuration Peter Chen
2015-03-19  1:19     ` Peter Chen
2015-03-19  1:19   ` [PATCH 09/12] usb: chipidea: usbmisc_imx: add unburst setting for imx6 Peter Chen
2015-03-19  1:19     ` Peter Chen
2015-03-19  1:19   ` [PATCH 10/12] Doc: usb: ci-hdrc-imx: add tx(rx)-burst-config-dword for binding doc Peter Chen
2015-03-19  1:19     ` Peter Chen
2015-03-19  1:19   ` [PATCH 11/12] ARM: imx6: change default burst size for USB Peter Chen
2015-03-19  1:19     ` Peter Chen
2015-03-19  1:19   ` [PATCH 12/12] usb: chipidea: add burst size configuration interface Peter Chen
2015-03-19  1:19     ` Peter Chen
2015-03-24 10:32   ` [PATCH 00/12] USB: chipidea: patchset for performance improvement victorascroft-Re5JQEeQqe8AvxtiuMwx3w
2015-03-24 10:32     ` victorascroft at gmail.com
2015-03-24 12:21     ` Peter Chen
2015-03-24 12:21       ` Peter Chen
2015-03-26  8:34       ` victorascroft-Re5JQEeQqe8AvxtiuMwx3w
2015-03-26  8:34         ` victorascroft at gmail.com
2015-03-19 10:36 ` Jean-Christophe PLAGNIOL-VILLARD
2015-03-19 10:36   ` Jean-Christophe PLAGNIOL-VILLARD
     [not found]   ` <20150319103629.GI14457-HVbc7XotTAhnXn40ka+A6Q@public.gmane.org>
2015-03-20  2:33     ` Peter Chen
2015-03-20  2:33       ` Peter Chen

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.