Skip to content

arm64: dts: apple: t8140: give the video decoder its PMP performance request - #798

Merged
RyanTheTide merged 2 commits into
aurora-wipfrom
avd/j700-perf-request
Nov 1, 2026
Merged

RyanTheTide merged 2 commits into
aurora-wipfrom
avd/j700-perf-request

Conversation

@RyanTheTide

Copy link
Copy Markdown
Contributor

On the J700 (Neo) the AVD never asked PMP for a performance state, so the decoder ran at its idle clocks. With the same driver and firmware as the J616s it decoded H.264 1080p at 372 fps. The J616s gets its rate from the PMC floor (#773), and #786 added the PMP performance request for the Neo's encoder.

Fix: give the T8140 AVD node its PMP performance request the same way #786 does for the encoder. The DT adds the report child and the AVD "perf" power domain, and the binding documents the new power-domain name. No driver change is needed: #773 already attaches a second domain named perf at runtime PM, and the #786 provider handles apple,dvfs.

How tested: Neo, 7.3.0-aurora-fleet14g with a one-shot Stage 2 carrying this DTB, avd-fw 6062e851. 3 passes per row, bit-exact against software decode, no DART or AVD kernel lines.

row before with this
H.264 1080p 372 703
HEVC 1080p 374 739
AV1 1080p 321 629
H.264 4K 95 177
AV1 4K 90 178
H.264 1080p, 4 streams 696 aggregate

At idle the AVD is runtime suspended and every PMC agent floor reads 0, so nothing is left held.

The Neo Stage 2 DT must only carry this node together with a kernel that has #786.

🤖 Generated with Claude Code

The performance supplier may request a PMP device level instead of holding
a PMC rail directly. Both use the existing runtime power-domain link.

Assisted-by: LLM
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
Give AVD a PMP report domain with soc-device record 17 and a level-2
request in SOC-DEV-DVFS entry 0x19a (DVFS ordinal 10). The existing runtime
PM domain links hold it while decoding and release it on autosuspend. The
provider admits the power request before the floor and drops the floor
before releasing power.

The PMP votes the SOC rail through its static PMC agent. AVD has no
cluster-agent bit on T8140: the VENC cluster belongs only to AVE. Keep the
physical AVD domain for the core and reset, and attach the report as its
performance supplier.

Assisted-by: LLM
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
@RyanTheTide
RyanTheTide merged commit 8d15c5f into aurora-wip Nov 1, 2026
mchalunderscore pushed a commit to mchalunderscore/linux that referenced this pull request Nov 4, 2026
…tion/aurora

Bring integration/aurora up to aurora-wip 52f0a6b, the source of
7.3.0-aurora-fleet14h, promoted on all four machines on 2026-11-02.
The range also covers the fleet14g source b35adc7. It adds aurora-silicon#792,
aurora-silicon#750, aurora-silicon#783, aurora-silicon#784, aurora-silicon#793, aurora-silicon#774, aurora-silicon#794, aurora-silicon#796, aurora-silicon#798, aurora-silicon#800, aurora-silicon#802 and aurora-silicon#801.
No conflicts.

Assisted-by: LLM
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
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.

1 participant