Page MenuHomeFreeBSD

hdaa: reassign duplicate HDMI/DP pin sequences instead of disabling
Needs ReviewPublic

Authored by guest-seuros on Feb 23 2026, 10:42 PM.
Tags
None
Referenced Files
F156467640: D55473.id172552.diff
Wed, May 13, 9:24 PM
Unknown Object (File)
Mon, May 11, 1:53 PM
Unknown Object (File)
Sun, May 10, 7:33 AM
Unknown Object (File)
Sun, May 10, 7:24 AM
Unknown Object (File)
Mon, Apr 27, 4:02 PM
Unknown Object (File)
Sat, Apr 18, 10:32 AM
Unknown Object (File)
Apr 9 2026, 8:58 AM
Unknown Object (File)
Apr 9 2026, 12:43 AM
Subscribers

Details

Summary

Some firmware (e.g. Apple EFI on Sandy Bridge Mac hardware) programs all HDMI/DP output pins in an association with identical sequence numbers.

The existing code disables the entire association on the first duplicate, leaving HDMI/DP audio non-functional.

For digital output pins (HDMI/DP) with seq=0 duplicates, search for the next free sequence slot and reassign the duplicate rather than disabling.

The seq=0 restriction targets the known Apple firmware pattern; any other duplicate sequence is more likely a genuine firmware error and the association is still disabled.

Update first after reassignment so that hpredir is not left pointing at a stale sequence. Non-digital and input associations retain the existing disable behaviour.

Test Plan

Tested on Mac Mini 5,1 (Intel Sandy Bridge, Cougar Point PCH) where the fix allows pcm to enumerate all three HDMI/DP pins without sysctl
overrides.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 70939
Build 67822: arc lint + arc unit