aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2015-11-21 21:25:20 +0000
committerJohn Crispin <blogic@openwrt.org>2015-11-21 21:25:20 +0000
commita667d6367a7ffca1f025c0a4a8a51617e88182a9 (patch)
tree5ad42192eccbc6135b4fef646e579bdee3f6f4f4 /target/linux
parent450e9f1f563f5371069015d9806ac2527fd0c99b (diff)
downloadmaster-187ad058-a667d6367a7ffca1f025c0a4a8a51617e88182a9.tar.gz
master-187ad058-a667d6367a7ffca1f025c0a4a8a51617e88182a9.tar.bz2
master-187ad058-a667d6367a7ffca1f025c0a4a8a51617e88182a9.zip
lantiq: tweak DWC2 default parameters
This patch improves the default configuration of DWC2 on lantiq SoCs somewhat: * Set maximum packet count to largest allowed value by the DWC2 (511) * Use 16-bit DMA bursts * Divide fifo buffers more evenly Default fifo buffer sizes from original ltq-hcd driver seem really irrational. For example according to DWC2 data book rxfifo size of 240 will not fit even a single full length USB packet. On the other hand non-periodic tx fifo size of 240 is more than enough to fit one complete packet. Change the sizes around to improve the situation and to fix some issues especially with isochronous USB transfers. Signed-off-by: Antti Seppälä <a.seppala@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47563 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/lantiq/patches-3.18/0041-USB-DWC2-add-ltq-params.patch10
-rw-r--r--target/linux/lantiq/patches-4.1/0041-USB-DWC2-add-ltq-params.patch10
2 files changed, 10 insertions, 10 deletions
diff --git a/target/linux/lantiq/patches-3.18/0041-USB-DWC2-add-ltq-params.patch b/target/linux/lantiq/patches-3.18/0041-USB-DWC2-add-ltq-params.patch
index a0af1236f9..2d9cb0f63f 100644
--- a/target/linux/lantiq/patches-3.18/0041-USB-DWC2-add-ltq-params.patch
+++ b/target/linux/lantiq/patches-3.18/0041-USB-DWC2-add-ltq-params.patch
@@ -12,11 +12,11 @@
+ .speed = -1,
+ .enable_dynamic_fifo = -1,
+ .en_multiple_tx_fifo = -1,
-+ .host_rx_fifo_size = 240, /* 240 DWORDs */
-+ .host_nperio_tx_fifo_size = 240, /* 240 DWORDs */
-+ .host_perio_tx_fifo_size = 32, /* 32 DWORDs */
++ .host_rx_fifo_size = 288, /* 288 DWORDs */
++ .host_nperio_tx_fifo_size = 128, /* 128 DWORDs */
++ .host_perio_tx_fifo_size = 96, /* 96 DWORDs */
+ .max_transfer_size = -1,
-+ .max_packet_count = -1,
++ .max_packet_count = 511,
+ .host_channels = -1,
+ .phy_type = -1,
+ .phy_utmi_width = -1,
@@ -28,7 +28,7 @@
+ .host_ls_low_power_phy_clk = -1,
+ .ts_dline = -1,
+ .reload_ctl = -1,
-+ .ahbcfg = -1,
++ .ahbcfg = GAHBCFG_HBSTLEN_INCR16 << GAHBCFG_HBSTLEN_SHIFT,
+ .uframe_sched = -1,
+};
+
diff --git a/target/linux/lantiq/patches-4.1/0041-USB-DWC2-add-ltq-params.patch b/target/linux/lantiq/patches-4.1/0041-USB-DWC2-add-ltq-params.patch
index c55f5b6821..0b5d09bed2 100644
--- a/target/linux/lantiq/patches-4.1/0041-USB-DWC2-add-ltq-params.patch
+++ b/target/linux/lantiq/patches-4.1/0041-USB-DWC2-add-ltq-params.patch
@@ -12,11 +12,11 @@
+ .speed = -1,
+ .enable_dynamic_fifo = -1,
+ .en_multiple_tx_fifo = -1,
-+ .host_rx_fifo_size = 240, /* 240 DWORDs */
-+ .host_nperio_tx_fifo_size = 240, /* 240 DWORDs */
-+ .host_perio_tx_fifo_size = 32, /* 32 DWORDs */
++ .host_rx_fifo_size = 288, /* 288 DWORDs */
++ .host_nperio_tx_fifo_size = 128, /* 128 DWORDs */
++ .host_perio_tx_fifo_size = 96, /* 96 DWORDs */
+ .max_transfer_size = -1,
-+ .max_packet_count = -1,
++ .max_packet_count = 511,
+ .host_channels = -1,
+ .phy_type = -1,
+ .phy_utmi_width = -1,
@@ -28,7 +28,7 @@
+ .host_ls_low_power_phy_clk = -1,
+ .ts_dline = -1,
+ .reload_ctl = -1,
-+ .ahbcfg = -1,
++ .ahbcfg = GAHBCFG_HBSTLEN_INCR16 << GAHBCFG_HBSTLEN_SHIFT,
+ .uframe_sched = -1,
+};
+