enable HDMI audio output for HDMI monitors V2
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest3 patches 3 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/3 | introduce i830_hdmi_priv.has_hdmi_sinksrc/ | +15 | 1 reply | |
| 2/3 | enable Intel G45 integrated HDMI audio outputsrc/ src/ | +5 | 0 replies | |
| 3/3 | enable Intel G35 SDVO HDMI audio outputsrc/ | +6 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 0/3] enable HDMI audio output for HDMI monitors V2
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.html
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
--