Fwd: ARM64: CPUIdle driver is not select any Idle state other then WFI
Sudeep Holla
sudeep.holla at arm.com
Tue Jan 28 01:47:20 PST 2025
On Mon, Jan 27, 2025 at 10:47:28PM +0530, Vivek yadav wrote:
> Hi @Dhruva Gole,
>
> Q.1. Does your CA-53 properly go into CPUIdle state and come out of
> sleep state ?
Yes, well tested on other SoCs. Seems like system integration issue.
> As of now I made some changes in the DT node. After making changes in
> latency (which is mentioned below).
>
> idle-states {
> entry-method = "psci";
> cpu_ret_l: cpu-retention-l {
> compatible = "arm,idle-state";
> arm,psci-suspend-param = <0x00000000>;
> local-timer-stop;
> entry-latency-us = <300000>; # 300ms
> exit-latency-us = <300000>; # 300ms
> min-residency-us = <1000000>; # 1 sec
> };
> };
>
Does these align with expectation of PSCI implementation in the firmware ?
> I can see that CA-55 went into a sleep state (state1) using command
> ``cat /sys/devices/system/cpu/cpu*/cpuidle/state*/time``.
> As you mention earlier in a multicore system (2 or more) at least one
> core keeps working and does not go into sleep state. It should happen
> as per theory and other developers' case.
>
> In my case, after some time, both CPUs (CPU0 and CPU1) go into sleep
> state (state1). Hence the system console hangs.
>
> My expectations are,
> If I type anything on keyboard. UART interrupt should take out CPUs
> from sleep state and execute commands. OR some periodic timer should
> take the CPU out of sleep. Which is not happening as of now.
> As you said we can safely remove`` local-timer-stop``. It means local
> timers are working for the CPUs and triggering interrupts ?
>
Please go the thread and understand when and why you need local-timer-stop and
how it is related to the arm,psci-suspend-param value(especially the state
context loss bit)
I have not got response to my questions. You can just play with DT and get
things working here if the firmware expectation, hardware functionality
and DT properties don't align.
--
Regards,
Sudeep
More information about the linux-arm-kernel
mailing list