Repository navigation
selftests: apple-dcp: repair host errno and AFK lifetime fixtures - #456
Conversation
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>
|
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. |
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.