On 11/19/2013 05:39 AM, Hanjun Guo wrote:
This patch trys to convert arch timer to ACPI using GTDT. it is based on the converting GIC to ACPI patchset.
After convert the arch timer, it works fine when booted up (added AMBA patches).
root@genericarmv8:~# cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 29: 0 0 0 0 GIC 29 arch_timer 30: 10751 1821 1888 1252 GIC 30 arch_timer 37: 123 0 0 0 GIC 37 uart-pl011 47: 5 0 0 0 GIC 47 eth0 74: 1031 0 0 0 GIC 74 virtio0 IPI0: 2249 1676 1229 1605 Rescheduling interrupts IPI1: 126 123 114 66 Function call interrupts IPI2: 0 0 0 0 Single function call interrupts IPI3: 0 0 0 0 CPU stop interrupts Err:
v2: a) add missed early_iounmap() for acpi_get_tables(); b) add if(acpi_disabled) check c) rebased on the latest linaro-acpi kernel
Hanjun Guo (4): clocksource: arch_timer: Use ACPI GTDT table to initialize arch timer ARMv8 / colcksource: use arch_timer_acpi_init() ARMv7 / clocksource: use arch_timer_acpi_init() Foundation model / dts: remove timer node since it is converted to ACPI
arch/arm/kernel/time.c | 4 + arch/arm64/boot/dts/foundation-v8-acpi.dts | 4 + arch/arm64/kernel/time.c | 4 + drivers/clocksource/arm_arch_timer.c | 129 ++++++++++++++++++++++++---- include/clocksource/arm_arch_timer.h | 7 +- 5 files changed, 132 insertions(+), 16 deletions(-)
I think these patches are sufficient. I vote for including them so we can get some usage on them and see how well they work over time.
Acked-by: Al Stone al.stone@linaro.org