Skip to content

arm64: dts: apple: t6041-j614c-j616c: enable cpuidle - #1453

Merged
RyanTheTide merged 1 commit into
aurora-silicon:integration/aurorafrom
joske:pr/t6041-cpuidle
Nov 10, 2026
Merged

RyanTheTide merged 1 commit into
aurora-silicon:integration/aurorafrom
joske:pr/t6041-cpuidle

Conversation

@joske

@joske joske commented Nov 10, 2026

Copy link
Copy Markdown
Contributor

The M4 Pro boards enable the cpuidle node (t604x-j614-j616.dtsi). The M4 Max boards leave it disabled, so on a J614c no cpuidle driver registers (current_driver is none). This enables it, as on the M4 Pro.

On M4 both of cpuidle-apple's states are WFI. The deep state needs CYC_OVRD, which M4 locks, and WFI already power-gates an idle core. So idle power doesn't change: the CPU complex (PHPC) reads 2.2 W at idle on the J614c either way. What the driver adds is its second state, which s2idle needs to reach tick_freeze() and suspend timekeeping.

Tested on the J614c (linux-aurora a82a1eb + #1442; this change was on top of the thermal DT from #1452):

  • apple_idle registers with the menu governor and two WFI states, and state 1 takes the idle time.
  • Closing the lid suspended to idle (PM: suspend entry (s2idle)). The machine stayed suspended for 7.6 minutes of wall-clock time, from NetworkManager's sleep and wake timestamps, while CLOCK_MONOTONIC didn't advance. Opening the lid resumed it cleanly through the SMC lid event (SMC HID Event: 03 00 01, logind "Lid opened"), and the display came back.

Not tested on the J616c, which shares the dtsi.

🤖 Generated with Claude Code

The M4 Pro boards enable the cpuidle node (t604x-j614-j616.dtsi); the
M4 Max boards left it disabled, so no cpuidle driver registers on them
(current_driver "none").

On M4 both of the driver's states are WFI, which already power-gates an
idle core, so idle power does not change: on a J614c the CPU complex
reads 2.2 W idle either way. What the driver adds is its second state,
which the s2idle path needs to reach tick_freeze() and suspend
timekeeping.

On the J614c with it enabled, closing the lid suspended to idle for
7.6 minutes (wall clock) while CLOCK_MONOTONIC did not advance, and
opening the lid resumed it cleanly through the SMC lid event.

Signed-off-by: Jos Dehaes <jos.dehaes@gmail.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants