Re: [PATCH] clocksource: arch_timer: Mark ARMv8 system timer as 'always-on'

From: Marc Zyngier
Date: Thu Nov 06 2014 - 13:09:36 EST


Hi Anatol,

On 2014-11-06 17:57, Anatol Pomozov wrote:
Quoting ARMv8 Reference Manual section D6.1:
"The system counter must be implemented in an always-on power domain."

Yes. And the key words here are "system counter". That's the global counter, not the per-cpu view of that, and critically nor comparators.

The timers (per-cpu counter+comparator) will happily go down with the CPU, and won't be able to wake it up. Exactly like ARMv7, by the way.

There is no need to keep 'always-on' configurable on ARMv8. We ignore
this dts property value and unconditionally set it to true.

The issue was discovered while working on ARMv8 board with only one timer
(arm arch timer). If 'always-on' is false then it disables high-resolution
timer functionality.

Yup, and that's by design (see above). The *only* case where it is really "always-on" is when a virtual machine is running (if the vcpu is running then the physical CPU is, and so is the timer).

If your system really never does any form of PM, then fine, just put the DT property in. Removing it is, I'm sorry to say, a bit short sighted.

Thanks,

M.
--
Fast, cheap, reliable. Pick two.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/