john stultz wrote:
On Thu, 2007-04-26 at 16:26 -0400, Peter Keilty wrote:From: Peter Keilty <peter.keilty@xxxxxx> Initial ia64 conversion to the generic timekeeping/clocksource code. Signed-off-by: Peter Keilty <peter.keilty@xxxxxx> Signed-off-by: John Stultz <johnstul@xxxxxxxxxx>Peter, Thanks so much for pushing this on! I suspect this patch needs to be updated a touch, as I'm not sure if it still compiles in light of recent changes...
John, You are correct, you need patch 3/3 for it to compile and run. I did a patch to the orginal patch, thought that was correct thing to do. But I can make a new patch 1 from the orginal of ours and my #3. I would also make an update to the #2 patch from #3 for ntp correct change. That would be just 2 patches then, the enable_ia64 and remove_interpolater. What do you think?
diff --git a/arch/ia64/kernel/cyclone.c b/arch/ia64/kernel/cyclone.c index e00b215..280383b 100644 --- a/arch/ia64/kernel/cyclone.c +++ b/arch/ia64/kernel/cyclone.c @@ -3,6 +3,7 @@ #include <linux/smp.h> #include <linux/time.h> #include <linux/errno.h> #include <linux/timex.h> +#include <linux/clocksource.h> #include <asm/io.h> /* IBM Summit (EXA) Cyclone counter code*/ @@ -18,13 +19,21 @@ void __init cyclone_setup(void) use_cyclone = 1; } +static void __iomem *cyclone_mc_ptr; -struct time_interpolator cyclone_interpolator = { - .source = TIME_SOURCE_MMIO64, - .shift = 16, - .frequency = CYCLONE_TIMER_FREQ, - .drift = -100, - .mask = (1LL << 40) - 1 +static cycle_t read_cyclone(void) +{ + return (cycle_t)readq((void __iomem *)cyclone_mc_ptr); +} + +static struct clocksource clocksource_cyclone = { + .name = "cyclone", + .rating = 300, + .read = read_cyclone, + .mask = (1LL << 40) - 1,Daniel Walker pointed out to me on IRC that CLOCKSOURCE_MASK() should probably be used here.+ .mult = 0, /*to be caluclated*/ + .shift = 16, + .is_continuous = 1,.is_continuous no longer exists.You want to use:.flags = CLOCK_SOURCE_IS_CONTINUOUSThis holds for all the clocksources introduced. thanks -john
- To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |