[PATCH] ppc: Fix timekeeping with HZ=250 on some Mac models

Benjamin Herrenschmidt benh at kernel.crashing.org
Wed Oct 5 17:43:40 EST 2005


Older Macs which uses the VIA chip timers to calibrate the timebase used
some code that wouldn't work if HZ wasn't divisible by 100... This fixes
it at least for 250. Not totally perfect but should be enough for now
(so it at least works with the default value which is now 250). There is
still a potential issue with the core using CLOCK_TICK_RATE to maintain
xtime and CLOCK_TICK_RATE value on ppc32 is pure crap, but that is a
different problem, this patch at least brings us back to our previous
situation.

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>

Index: linux-work/arch/ppc/platforms/pmac_time.c
===================================================================
--- linux-work.orig/arch/ppc/platforms/pmac_time.c	2005-09-22 14:06:18.000000000 +1000
+++ linux-work/arch/ppc/platforms/pmac_time.c	2005-10-05 08:14:17.000000000 +1000
@@ -195,7 +195,7 @@
 		;
 	dend = get_dec();
 
-	tb_ticks_per_jiffy = (dstart - dend) / (6 * (HZ/100));
+	tb_ticks_per_jiffy = (dstart - dend) / ((6 * HZ)/100);
 	tb_to_us = mulhwu_scale_factor(dstart - dend, 60000);
 
 	printk(KERN_INFO "via_calibrate_decr: ticks per jiffy = %u (%u ticks)\n",





More information about the Linuxppc-dev mailing list