[PATCH] usb: dwc2: host: Fix ahbcfg for rk3066

John Youn John.Youn at synopsys.com
Mon Oct 26 15:57:04 PDT 2015


On 10/20/2015 4:35 PM, 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,
> 


Acked-by: John Youn <johnyoun at synopsys.com>


John




More information about the Linux-rockchip mailing list