• Aaro Koskinen's avatar
    ARM: OMAP: gptimer min_delta_ns corrected · df88acbb
    Aaro Koskinen authored
    When 32 kHz timer is used the min_delta_ns should be initialized so
    that it reflects the timer programming cost. A write to the timer
    device will be usually posted, but it takes roughly 3 cycles before
    it is effective. If the timer is reprogrammed before that, the CPU
    will stall until the previous write completes. This was pointed out by
    Richard Woodruff.
    
    Since the lower bound for min_delta_ns is 1000, the change is visible
    only with tick rates less than 3 MHz.
    
    Also note that the old value is incorrect for 32 kHz also due to
    a rounding error, and it can cause the timer queue to hang (due to
    clockevent code trying to program the timer with zero ticks).
    Signed-off-by: default avatarAaro Koskinen <Aaro.Koskinen@nokia.com>
    Reviewed-by: default avatarRichard Woodruff <r-woodruff2@ti.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    
    df88acbb
timer-gp.c 5.04 KB