On Thu, May 31, 2018 at 08:23:20AM +0530, Akshay Adiga wrote: > This patch adds support for new device-tree format for idle state > description. > > Previously if a older kernel runs on a newer firmware, it may enable > all available states irrespective of its capability of handling it. > New device tree format adds a compatible flag, so that only kernel > which has the capability to handle the version of stop state will enable > it. > > Older kernel will still see stop0 and stop0_lite in older format and we > will depricate it after some time. > > Idea is to bump up the version in firmware if we find a bug or > regression in stop states. A fix will be provided in linux which would > now know about the bumped up version of stop states, where as kernel > without fixes would ignore the states. > > New idle state device tree format : > > power-mgt { > ibm,cpu-idle-state-names = "stop0_lite", "stop0"; > ibm,cpu-idle-state-residency-ns = <0x2710 0x4e20>; > ibm,cpu-idle-state-latencies-ns = <0x3e8 0x7d0>; > ibm,cpu-idle-state-psscr-mask = <0x0 0x3003ff 0x0 0x3003ff>; > ibm,cpu-idle-state-psscr = <0x0 0x330 0x0 0x300330>; > ibm,cpu-idle-state-flags = <0x100000 0x101000>; > ibm,enabled-stop-levels = <0xec000000>; > ibm,idle-states { > ibm,cpu-idle-state-names = "stop1", "stop2", "stop4", "stop5"; > ibm,cpu-idle-state-residency-ns = <0xc350 0x186a0 0x989680 > 0x1312d00>; > ibm,cpu-idle-state-latencies-ns = <0x1388 0x2710 0x186a0 > 0x30d40>; > ibm,cpu-idle-state-psscr-mask = <0x0 0x3003ff 0x0 0x3003ff 0x0 > 0x3003ff 0x0 0x3003ff>; > ibm,cpu-idle-state-psscr = <0x0 0x300331 0x0 0x300332 0x0 > 0x300374 0x0 0x300375>; > ibm,cpu-idle-state-versions = "ibm,idle-state-v1 > ", "ibm,idle-state-v1", "ibm,idle-state-v1", "ibm,idle-state-v1"; > ibm,cpu-idle-state-flags = <0x101000 0x101000 0x207000 > 0x207000>; > } > } > > Signed-off-by: Akshay Adiga <akshay.ad...@linux.vnet.ibm.com> > ---
This patch is intended to be a RFC. The skiboot patch has been posted here : https://patchwork.ozlabs.org/patch/923121/