Fwd: ARM64: CPUIdle driver is not select any Idle state other then WFI

Vivek yadav <[email protected]> Mon, 14 Oct 2024 16:06:34 +0530
Newsgroups gmane.linux.newbie
Message-ID <CAO6a-98cdSvyd7jgAyGNmsC2nxmRSyr3GppxvZU9yHU1xqwz3g@mail.gmail.com>
---------- Forwarded message ---------
From: Vivek yadav <[email protected]>
Date: Fri, Oct 11, 2024 at 3:14=E2=80=AFPM
Subject: ARM64: CPUIdle driver is not select any Idle state other then WFI
To: <[email protected]>


Hi @all,

I am working on one custom SoC. Where I add one CPUIdle state for
``arm,cortex-a55`` processor.

idle-states {
      entry-method =3D "psci";
       cpu_ret_l: cpu-retention-l {
         compatible =3D "arm,idle-state";
         arm,psci-suspend-param =3D <0x00010001>;
         local-timer-stop;
         entry-latency-us =3D <55>;
          exit-latency-us =3D <140>;
          min-residency-us =3D <780>;
    };
};

I am using ``Menu governor`` with the ``psci_idle driver`` in its original =
form.
After booting Linux I find out that the CPUIdle core is never going
inside the ``cpu-retention`` state.
To check time spent by CPU in any state. I am using the below command.

``cat /sys/devices/system/cpu/cpu*/cpuidle/state*/time``

OUTPUT:
0 =3D=3D=3D>CPU0 state0 (WFI)
0 =3D=3D=3D>CPU0 state1 (cpu-retention)

increasing some time value =3D=3D=3D>CPU1 state0 (WFI)
0 =3D=3D=3D>CPU1 state1 (cpu-retention)

increasing some time value
0

increasing some time value
0

What am I doing wrong? Why does ``cpu-retention`` state time not increase?
Any pointer will be helpful.

Regards,
Vivek