Skip to content

selftests: apple-dcp: repair host errno and AFK lifetime fixtures - #456

Merged
RyanTheTide merged 2 commits into
integration/aurorafrom
review/dcp-host-portability-t3094-v2
Oct 26, 2026
Merged

RyanTheTide merged 2 commits into
integration/aurorafrom
review/dcp-host-portability-t3094-v2

Conversation

@RyanTheTide

@RyanTheTide RyanTheTide commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Five Type-C host groups inline a Linux errno include without a Linux include path, so compilation fails on macOS where that header is absent. The power-reply fixture also uses EREMOTEIO, which Darwin does not define. Translate the PM header's errno include at the host boundary and keep a missing EREMOTEIO local to the synthetic reply test. The Kconfig producer now honors MAKE or finds gmake before the stock macOS make 3.81.

These namespace gaps were in the original fixtures at e02f58b, introduced into integration by merge c46d7dc (#136). a7a7e2f is the later replay. They predate the desktop firmware and fabric changes.

The current base also faults in KUnit's AV lifetime teardown after compact AFK command cancellation was added. Its fake endpoints have a zeroed command list rather than an initialized empty one. Initialize that list at both allocation sites, retaining the real drain, blocked work and release-order assertions.

The AV lifetime teardown fix now passes ARM64 QEMU KUnit on integration/aurora at 421e314 with shared thermal #438. There are 905 passing cases and one existing policy skip, including all 17 AV lifetime cases. The fake endpoints retain real teardown and release-order checks. All 63 DCP host groups pass on the same assembled Linux base. Both universal and Fedora-base builds pass with the strict W=e compiler recipe, and all 129 requested Asahi settings survive.

The operator also verified this head, 5269f2b, with 63/63 host selftests using both stock make 3.81 and GNU Make. That native host result was supplied by the operator; this worker did not rerun native macOS on the assembled base.

Ready for review. No hardware qualification or merge is claimed.

The Type-C PM adapter left linux/errno.h in the extracted unit. That
picked up the AFK shim's Linux errno numbers after the native errno.h,
which fails strict compilation on Darwin. Translate the include at the
host boundary instead. Give the power-reply fixture a local EREMOTEIO
when libc does not define it; its status never crosses a host API.

The errno namespace gaps were present in the fixtures added in
a7a7e2f. Their later replug and dropped-swap derivatives retain the
same gap. Keep all ownership, ordering, retry and reply assertions
unchanged.

Use an explicitly selected MAKE command, or prefer gmake when installed,
for the real Kconfig producer. This avoids accidentally invoking the
stock macOS GNU Make 3.81 against Kbuild, which requires GNU Make 4.
Document the producer dependency without skipping the Kconfig checks.

Fixes: a7a7e2f ("drm/apple: Compose the qualified J700 external display path")
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
AFK quiesce now cancels commands before destroying the endpoint queues.
The AV lifetime fixtures construct endpoints without afk_init(), so their
zeroed compact_cmds list is not a valid empty list. The devres-order case
faults in the real cancellation path before its ordering assertions finish.

Initialize that list at both fixture endpoint allocation sites, as the
real endpoint initializer does. Keep the real teardown, blocked owner
work and all release-order assertions in place.

Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
@RyanTheTide

Copy link
Copy Markdown
Contributor Author

The AV lifetime teardown fix now passes ARM64 QEMU KUnit on integration/aurora at 421e314 with shared thermal #438. There are 905 passing cases and one existing policy skip, including all 17 AV lifetime cases. The fake endpoints retain real teardown and release-order checks. All 63 DCP host groups pass on the same assembled Linux base. Both universal and Fedora-base builds pass with the strict W=e compiler recipe, and all 129 requested Asahi settings survive.

The operator also verified this head, 5269f2b, with 63/63 host selftests using both stock make 3.81 and GNU Make. That native host result was supplied by the operator; this worker did not rerun native macOS on the assembled base.

Ready for review. No hardware qualification or merge is claimed.

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