Bug 299094 - snd_hda: use the pin ELD to select DisplayPort audio framing
Summary: snd_hda: use the pin ELD to select DisplayPort audio framing
Status: In Progress
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: Unspecified
Hardware: Any Any
: --- Affects Only Me
Assignee: Christos Margiolis
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-10-03 14:43 UTC by David Bidner
Modified: 2026-10-07 13:30 UTC (History)
2 users (show)

See Also:


Attachments
Read the ELD from the output pin to select the correct audio framing. (1.38 KB, patch)
2026-10-03 14:43 UTC, David Bidner
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description David Bidner 2026-10-03 14:43:18 UTC
Created attachment 275340 [details]
Read the ELD from the output pin to select the correct audio framing.

hdaa_audio_setup() reads the converter widget's ELD when choosing between
HDMI and DisplayPort audio infoframes. ELD is stored on the output pin,
so the converter has no ELD and the driver selects HDMI framing even
when the connected display uses DisplayPort.
Comment 1 Christos Margiolis freebsd_committer freebsd_triage 2026-10-07 07:09:36 UTC
The change seems fine, what is the functional change in your setup?
Comment 2 David Bidner 2026-10-07 11:38:13 UTC
I tested the equivalent change on DragonFly BSD, with an Intel Kaby Lake audio codec and an LG HDR 4K monitor connected through DisplayPort. I have not tested it on FreeBSD hardware.

Before the change, the driver selected HDMI audio framing even though the output pin's ELD identified DisplayPort. After the change, the captured driver commands used DisplayPort framing, and I could hear console tones and desktop audio.

Correct framing is the change I could verify directly.
Comment 3 Christos Margiolis freebsd_committer freebsd_triage 2026-10-07 11:39:53 UTC
As with 299139, please feel free to submit the patch for review on GitHub or Phabricator, and make sure to include sufficient information (for example what you just described) in the commit message. Thanks.
Comment 4 David Bidner 2026-10-07 13:30:15 UTC
Thanks, I've opened a GitHub PR:
https://github.com/freebsd/freebsd-src/pull/2463

The commit includes the observed framing change and the DragonFly hardware results, with the FreeBSD validation limitation noted.