time: allow changing the timekeeper clock frequency
On the tile architecture, we use the processor clock tick as the time
source. However, when we perform dynamic frequency adjustment and
modify the clock rate of the core, we have to update the timekeeper
state to account for the new frequency, as well as for the time it took
to actually modify the frequency across the chip as a whole.
This change introduces two new functions, timekeeping_chfreq(), which
changes the frequency, plus timekeeping_chfreq_prep(), used to put the
timekeeping system in a state that is ready for a frequency change.
More information is in the comments for the new functions.
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>