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 --- |