Hello,
We can now enjoy music on HDMI monitors that are attached to Intel G35/G45 chipsets with the following X.org intel driver patches
[PATCH 1/3] introduce i830_hdmi_priv.has_hdmi_sink [PATCH 2/3] enable Intel G45 integrated HDMI audio output [PATCH 3/3] enable Intel G35 SDVO HDMI audio output
_and_ the corresponding ALSA patch posted at http://mailman.alsa-project.org/pipermail/alsa-devel/2008-November/012158.ht...
The patches are tested OK on Intel DG45ID board, HP 2230s notebook and ASUS P5E-VM board.
Since the HDMI audio requires both audio and video driver support to function well, I'd like to provide an overview here.
1) driver components: A) ALSA: audio driver (the above link) B) Xorg: audio output enabling (this patchset) C) Xorg: EDID/ELD information (patches to be submitted by Ma Ling)
2) summary of the feature sets: - basic 2-channel audio: (A) is required, (B) is mostly required, (C) is not needed - 2+ multichannel audio: not tested yet; in theory we need (C) to get HDMI monitor's speaker allocation configuration; there are also bandwidth constraints that should be coordinated between audio/video drivers in the future. - non-LPCM audio: not tested yet; need more work in ALSA code.
3) summary of the work flow: - basic audio output: (A) and (B) - ALSA HDMI driver: enable pin out and unmute - ALSA HDMI driver: fill audio infoframe and enable its transmission - Xorg intel driver: enable audio output - ELD info for advanced audio capabilities: (A) and (C) - Xorg xserver: get/parse/store EDID extensions - Xorg xserver: transform EDID into ELD - Xorg intel driver: feed ELD to hardware - Xorg intel driver: set ELD-Valid flag to inform audio driver of new ELD - ALSA HDMI driver: response to unsolicited response triggered by ELDV - ALSA HDMI driver: get ELD from hardware - ALSA HDMI driver: parse and show ELD info - ALSA HDMI driver: update hardware capabilities/constraints according to ELD (TBD)
That describes my understandings of HDMI audio, comments and discussions are warmly welcome.
Thank you, Fengguang --