time.c (08229de4b42816079ed5d15f0689fcd0af946d5e) time.c (14ea58ad797e4e9b7be755aca0fd3925d0713ede)
1/*
2 * Common time routines among all ppc machines.
3 *
4 * Written by Cort Dougan (cort@cs.nmt.edu) to merge
5 * Paul Mackerras' version and mine for PReP and Pmac.
6 * MPC8xx/MBX changes by Dan Malek (dmalek@jlc.net).
7 * Converted for 64-bit by Mike Corrigan (mikejc@us.ibm.com)
8 *

--- 465 unchanged lines hidden (view full) ---

474 return -ENODEV;
475
476 tb = get_tb();
477 titan = HvCallXm_loadTod();
478 if ( iSeries_recal_titan ) {
479 unsigned long tb_ticks = tb - iSeries_recal_tb;
480 unsigned long titan_usec = (titan - iSeries_recal_titan) >> 12;
481 unsigned long new_tb_ticks_per_sec = (tb_ticks * USEC_PER_SEC)/titan_usec;
1/*
2 * Common time routines among all ppc machines.
3 *
4 * Written by Cort Dougan (cort@cs.nmt.edu) to merge
5 * Paul Mackerras' version and mine for PReP and Pmac.
6 * MPC8xx/MBX changes by Dan Malek (dmalek@jlc.net).
7 * Converted for 64-bit by Mike Corrigan (mikejc@us.ibm.com)
8 *

--- 465 unchanged lines hidden (view full) ---

474 return -ENODEV;
475
476 tb = get_tb();
477 titan = HvCallXm_loadTod();
478 if ( iSeries_recal_titan ) {
479 unsigned long tb_ticks = tb - iSeries_recal_tb;
480 unsigned long titan_usec = (titan - iSeries_recal_titan) >> 12;
481 unsigned long new_tb_ticks_per_sec = (tb_ticks * USEC_PER_SEC)/titan_usec;
482 unsigned long new_tb_ticks_per_jiffy = (new_tb_ticks_per_sec+(HZ/2))/HZ;
482 unsigned long new_tb_ticks_per_jiffy =
483 DIV_ROUND_CLOSEST(new_tb_ticks_per_sec, HZ);
483 long tick_diff = new_tb_ticks_per_jiffy - tb_ticks_per_jiffy;
484 char sign = '+';
485 /* make sure tb_ticks_per_sec and tb_ticks_per_jiffy are consistent */
486 new_tb_ticks_per_sec = new_tb_ticks_per_jiffy * HZ;
487
488 if ( tick_diff < 0 ) {
489 tick_diff = -tick_diff;
490 sign = '-';

--- 705 unchanged lines hidden ---
484 long tick_diff = new_tb_ticks_per_jiffy - tb_ticks_per_jiffy;
485 char sign = '+';
486 /* make sure tb_ticks_per_sec and tb_ticks_per_jiffy are consistent */
487 new_tb_ticks_per_sec = new_tb_ticks_per_jiffy * HZ;
488
489 if ( tick_diff < 0 ) {
490 tick_diff = -tick_diff;
491 sign = '-';

--- 705 unchanged lines hidden ---