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
--
_______________________________________________
xorg mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/xorg

Reply via email to