Message ID | 1237768720.2403509.1344956481504.JavaMail.root@advansee.com |
---|---|
State | Accepted |
Commit | 68d919d42053af99c5220d0469aa4b3de2ae1c55 |
Delegated to: | Stefano Babic |
Headers | show |
On 14/08/2012 17:01, Benoît Thébaudeau wrote: > Round up tick_to_time() value instead of truncating it. This avoids stopping > waits instantly for low usec values, and this generally guarantees that the code > always waits for at least the requested duration. > > Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> > Cc: Stefano Babic <sbabic@denx.de> > --- > .../arch/arm/cpu/armv7/imx-common/timer.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git u-boot-4d3c95f.orig/arch/arm/cpu/armv7/imx-common/timer.c u-boot-4d3c95f/arch/arm/cpu/armv7/imx-common/timer.c > index 1645ff8..e2725e1 100644 > --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/imx-common/timer.c > +++ u-boot-4d3c95f/arch/arm/cpu/armv7/imx-common/timer.c > @@ -61,7 +61,7 @@ static inline unsigned long long tick_to_time(unsigned long long tick) > > static inline unsigned long long us_to_tick(unsigned long long usec) > { > - usec *= CLK_32KHZ; > + usec = usec * CLK_32KHZ + 999999; > do_div(usec, 1000000); > > return usec; > Acked-by: Stefano Babic <sbabic@denx.de> Best regards, Stefano Babic
On 14/08/2012 17:01, Benoît Thébaudeau wrote: > Round up tick_to_time() value instead of truncating it. This avoids stopping > waits instantly for low usec values, and this generally guarantees that the code > always waits for at least the requested duration. > > Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> > Cc: Stefano Babic <sbabic@denx.de> > --- > .../arch/arm/cpu/armv7/imx-common/timer.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git u-boot-4d3c95f.orig/arch/arm/cpu/armv7/imx-common/timer.c u-boot-4d3c95f/arch/arm/cpu/armv7/imx-common/timer.c > index 1645ff8..e2725e1 100644 > --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/imx-common/timer.c > +++ u-boot-4d3c95f/arch/arm/cpu/armv7/imx-common/timer.c > @@ -61,7 +61,7 @@ static inline unsigned long long tick_to_time(unsigned long long tick) > > static inline unsigned long long us_to_tick(unsigned long long usec) > { > - usec *= CLK_32KHZ; > + usec = usec * CLK_32KHZ + 999999; > do_div(usec, 1000000); > > return usec; > Applied to u-boot-imx, thanks. Best regards, Stefano Babic
diff --git u-boot-4d3c95f.orig/arch/arm/cpu/armv7/imx-common/timer.c u-boot-4d3c95f/arch/arm/cpu/armv7/imx-common/timer.c index 1645ff8..e2725e1 100644 --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/imx-common/timer.c +++ u-boot-4d3c95f/arch/arm/cpu/armv7/imx-common/timer.c @@ -61,7 +61,7 @@ static inline unsigned long long tick_to_time(unsigned long long tick) static inline unsigned long long us_to_tick(unsigned long long usec) { - usec *= CLK_32KHZ; + usec = usec * CLK_32KHZ + 999999; do_div(usec, 1000000); return usec;
Round up tick_to_time() value instead of truncating it. This avoids stopping waits instantly for low usec values, and this generally guarantees that the code always waits for at least the requested duration. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> --- .../arch/arm/cpu/armv7/imx-common/timer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)