[PATCH v2 2/2] ARM: delay: allow timer-based delay implementation to be selected

Stephen Boyd sboyd at codeaurora.org
Mon Jul 2 15:14:57 EDT 2012


On 06/29/12 10:33, Will Deacon wrote:
> This patch allows a timer-based delay implementation to be selected by
> switching the delay routines over to use get_cycles, which is
> implemented in terms of read_current_timer. This further allows us to
> skip the loop calibration and have a consistent delay function in the
> face of core frequency scaling.
>
> To avoid the pain of dealing with memory-mapped counters, this
> implementation uses the co-processor interface to the architected timers
> when they are available. The previous loop-based implementation is
> kept around for CPUs without the architected timers and we retain both
> the maximum delay (2ms) and the corresponding conversion factors for
> determining the number of loops required for a given interval. Since the
> indirection of the timer routines will only work when called from C,
> the sa1100 sleep routines are modified to branch to the loop-based delay
> functions directly.
>
> Signed-off-by: Will Deacon <will.deacon at arm.com>

Reviewed-by: Stephen Boyd <sboyd at codeaurora.org>

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.




More information about the linux-arm-kernel mailing list