Lines Matching +full:fixed +full:- +full:clock
6 * This file contains the PC-specific time handling details:
8 * 1994-07-02 Alan Modra
9 * fixed set_rtc_mmss, fixed time.year for >= 2000, new mktime
10 * 1995-03-26 Markus Kuhn
11 * fixed 500 ms bug at call to set_rtc_mmss, fixed DS12887
12 * precision CMOS clock update
13 * 1997-09-10 Updated NTP code according to technical memorandum Jan '96
15 * 1997-01-09 Adrian Sun
17 * 1997-10-29 John Bowman (bowman@math.ualberta.ca)
18 * fixed tick loss calculation in timer_interrupt
19 * (round system clock to nearest tick instead of truncating)
20 * fixed algorithm in time_init for getting time from CMOS clock
21 * 1999-04-16 Thorsten Kranzkowski (dl8bcu@gmx.net)
22 * fixed algorithm in do_gettimeofday() for calculating the precise time
24 * 2000-08-13 Jan-Benedict Glaw <jbglaw@lug-owl.de>
25 * Fixed time_init to be aware of epoches != 1900. This prevents
27 * 2003-06-03 R. Scott Bailey <scott.bailey@eds.com>
69 * for large CPU clock rates.
138 /* PC-like is standard; used for year >= 70 */ in read_persistent_clock()
154 ts->tv_sec = mktime(year, mon, day, hour, min, sec); in read_persistent_clock()
155 ts->tv_nsec = 0; in read_persistent_clock()
161 * timer_interrupt() needs to keep up the real-time clock,
181 delta = now - state.last_time; in timer_interrupt()
184 state.partial_tick = delta & ((1UL << FIX_SHIFT) - 1); in timer_interrupt()
196 while (nticks--) in timer_interrupt()
250 timing hardware for any one method to work everywhere. :-(
272 /* None of the following are shipping as of 2001-11-01. */ in validate_cc_value()
285 cpu = (struct percpu_struct *)((char*)hwrpb + hwrpb->processor_offset); in validate_cc_value()
286 index = cpu->type & 0xffffffff; in validate_cc_value()
296 if (cc < cpu_hz[index].min - deviation in validate_cc_value()
305 * Calibrate CPU clock using legacy 8254 timer/counter. Stolen from
335 cc = rpcc() - cc; in calibrate_cc_with_pit()
344 /* The Linux interpretation of the CMOS clock register contents:
345 When the Update-In-Progress (UIP) flag goes from 1 to 0, the
392 /* Calibrate CPU clock -- attempt #1. */ in time_init()
398 /* Calibrate CPU clock -- attempt #2. */ in time_init()
402 est_cycle_freq = validate_cc_value(cc2 - cc1); in time_init()
406 cycle_freq = hwrpb->cycle_freq; in time_init()
411 diff = cycle_freq - est_cycle_freq; in time_init()
413 diff = -diff; in time_init()
427 to settle, as the Update-In-Progress bit going low isn't good in time_init()
450 * In order to set the CMOS clock precisely, set_rtc_mmss has to be
452 * nowtime is written into the registers of the CMOS clock, it will
470 /* Tell the clock it's being set */ in set_rtc_mmss()
490 if (((abs(real_minutes - cmos_minutes) + 15)/30) & 1) { in set_rtc_mmss()
496 if (abs(real_minutes - cmos_minutes) < 30) { in set_rtc_mmss()
507 retval = -1; in set_rtc_mmss()
515 * sheets anyway ... -- Markus Kuhn in set_rtc_mmss()