[PATCH] usb: dwc2: host: Fix ahbcfg for rk3066
Liangfeng Wu
wulf at rock-chips.com
Fri Oct 30 01:08:26 PDT 2015
On 10/21/2015 07:33 AM, Douglas Anderson wrote:
> The comment for ahbcfg for rk3066 parameters (also used for rk3288)
> claimed that ahbcfg was INCR16, but it wasn't. Since the bits weren't
> shifted properly, the 0x7 ended up being masked and we ended up
> programming 0x3 for the HBstLen. Let's set it to INCR16 properly.
>
> As per Wu Liang Feng at Rockchip this may increase transmission
> efficiency. I did blackbox tests with writing 0s to a USB-based SD
> reader (forcefully capping CPU Freq to try to measure efficiency):
> cd /sys/devices/system/cpu/cpu0/cpufreq
> echo userspace > scaling_governor
> echo 126000 > scaling_setspeed
> for i in $(seq 10); do
> dd if=/dev/zero of=/dev/sdb bs=1M count=750
> done
>
> With the above tests I found that speeds went from ~15MB/s to ~18MB/s.
> Note that most other tests I did (including reading from the same USB
> reader) didn't show any difference in performance.
>
> Signed-off-by: Douglas Anderson <dianders at chromium.org>
> ---
> drivers/usb/dwc2/platform.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c
> index 5859b0f..e61d773 100644
> --- a/drivers/usb/dwc2/platform.c
> +++ b/drivers/usb/dwc2/platform.c
> @@ -108,7 +108,8 @@ static const struct dwc2_core_params params_rk3066 = {
> .host_ls_low_power_phy_clk = -1,
> .ts_dline = -1,
> .reload_ctl = -1,
> - .ahbcfg = 0x7, /* INCR16 */
> + .ahbcfg = GAHBCFG_HBSTLEN_INCR16 <<
> + GAHBCFG_HBSTLEN_SHIFT,
> .uframe_sched = -1,
> .external_id_pin_ctl = -1,
> .hibernation = -1,
Reviewed-by: Liangfeng Wu <wulf at rock-chips.com>
More information about the Linux-rockchip
mailing list