Lines Matching refs:estar
118 static void us2e_transition(unsigned long estar, unsigned long new_bits, in us2e_transition() argument
122 estar &= ~ESTAR_MODE_DIV_MASK; in us2e_transition()
127 write_hbreg(HBIRD_ESTAR_MODE_ADDR, estar | new_bits); in us2e_transition()
131 write_hbreg(HBIRD_ESTAR_MODE_ADDR, estar | new_bits); in us2e_transition()
134 us2e_transition(estar, ESTAR_MODE_DIV_2, clock_tick, in us2e_transition()
136 us2e_transition(estar, new_bits, clock_tick, in us2e_transition()
139 us2e_transition(estar, ESTAR_MODE_DIV_2, clock_tick, in us2e_transition()
141 us2e_transition(estar, new_bits, clock_tick, in us2e_transition()
145 write_hbreg(HBIRD_ESTAR_MODE_ADDR, estar | new_bits); in us2e_transition()
147 write_hbreg(HBIRD_ESTAR_MODE_ADDR, estar | new_bits); in us2e_transition()
200 static unsigned long estar_to_divisor(unsigned long estar) in estar_to_divisor() argument
204 switch (estar & ESTAR_MODE_DIV_MASK) { in estar_to_divisor()
229 unsigned long *estar = arg; in __us2e_freq_get() local
231 *estar = read_hbreg(HBIRD_ESTAR_MODE_ADDR); in __us2e_freq_get()
236 unsigned long clock_tick, estar; in us2e_freq_get() local
239 if (smp_call_function_single(cpu, __us2e_freq_get, &estar, 1)) in us2e_freq_get()
242 return clock_tick / estar_to_divisor(estar); in us2e_freq_get()
250 unsigned long clock_tick, divisor, old_divisor, estar; in __us2e_freq_target() local
257 estar = read_hbreg(HBIRD_ESTAR_MODE_ADDR); in __us2e_freq_target()
259 old_divisor = estar_to_divisor(estar); in __us2e_freq_target()
262 us2e_transition(estar, new_bits, clock_tick * 1000, in __us2e_freq_target()