• Colin Cross's avatar
    ARM: tegra: clock: Round rate before setting rate · 421186e7
    Colin Cross authored
    Call the clock's round_rate op, if it exists, before calling
    the set_rate op.  This will help later when dvfs is added,
    dvfs needs to know what the final rate will be before the
    frequency changes.
    
    Also requires fixes to the round rate functions to ensure
    calling round rate and then set rate will not cause the
    frequency to be rounded down twice.  When picking clock
    divider values, the clock framework picks the closest
    frequency that is lower than the requested frequency.  If
    the new frequency calculated from the divider value is
    rounded down, and then passed to set_rate, it will get
    rounded down again, possibly resulting in a frequency two
    steps lower than the original requested frequency.
    
    Fix the problem by rounding up when calculating the frequency
    coming out of a clock divider, so if that frequency is
    requested again, the same divider value will be picked.
    Signed-off-by: default avatarColin Cross <ccross@android.com>
    Acked-by: default avatarOlof Johansson <olof@lixom.net>
    421186e7
clock.c 13.5 KB