HIGH DEFINITION AUDIO OVER HDMI AND DISPLAY PORT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– High Definition Audio over HDMI and Display Port πŸ’–

okay so bestie, this is the High Definit...Display Port(9) page from the Kernel API Manual, section 9 β€” and it’s literally all about High Definition Audio over HDMI and Display Port. The graphics and audio drivers team up to support this. 🫢

The audio programming sequences are split into audio codec and controller enable and disable sequences. The graphics driver handles the audio codec sequences, while the audio driver handles the audio controller sequences. slay, division of labor. ✨

important vibes: the disable sequences must be performed before disabling the transcoder or port. The enable sequences may only be performed after enabling the transcoder and port, and after completed link training. So yeah β€” the audio enable/disable sequences are part of the modeset sequence. periodt. πŸ’…

The codec and controller sequences could be done either parallel or serial, but generally the ELDV/PD change in the codec sequence indicates to the audio driver that the controller sequence should start. Indeed, most of the co-operation between the graphics and audio drivers is handled via audio related registers. The notable exception is the power management, not covered here. πŸ™ˆ

The struct i915_audio_component is used to interact between the graphics and audio drivers. The struct i915_audio_component_ops ops in it is defined in graphics driver and called in audio driver. The struct i915_audio_component_audio_ops audio_ops is called from i915 driver. main character struct energy, honestly. πŸ‘‘


🌈 SEE ALSO 🌈

That’s the whole page, bestie. It lives in ./drivers/gpu/drm/i915/display, dated October 2026, and the footer vibes are High Definit...Display Port(9). bye, ily! πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from