[Skiboot] [RFC PATCH] OPAL v4 cpu idle driver skeleton

Nicholas Piggin npiggin at gmail.com
Wed Feb 19 21:57:31 AEDT 2020

Abhishek's on January 30, 2020 4:54 pm:
> Hi Nicholas,
> On 12/12/2019 09:42 AM, Nicholas Piggin wrote:
>> With OPAL using the same endianness, same stack, and with OS
>> callbacks, it looks relatively easy to provide a CPU idle driver.
>> The Linux sreset interrupt won't have to change, if it registers
>> almost like isa300_idle_stop_mayloss as the os_stop function,
>> then skiboot will call that to stop, and it will return like a
>> normal function call returning the srr1 wakeup value.
>> This allows the firmware to deal with supported stop states and
>> psscr and consequences for saving and restoring various resources,
>> and the kernel can implement a simple OPAL idle driver which has
>> some interface like wakeup latency requested or something.
> Governor will request a stop state based on historic idle value.
> And the cpuidle driver will call the platform idle code with psscr set
> based on stop state requested.
> I am not sure of using wakeup latency. Am I missing something
> here?

Was on vacation, thanks for waiting.

A Linux cpuidle driver for this OPAL API would not set PSSCR, it
would just use latencies based on historic idle values. We could
expose a little more information about levels or latencies or
change the API slightly, but the idea would be to hide all details


More information about the Skiboot mailing list