[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
of PSSCR.

Thanks,
Nick


More information about the Skiboot mailing list