linux/sound/pci/hda
Wu Fengguang 698544de8a ALSA: hda: HDMI channel allocations for audio infoframe
To play a 3+ channels LPCM/DSD stream via HDMI,

	- HDMI sink must tell HDMI source about its speaker placements
	  (via ELD, speaker-allocation field)
	- HDMI source must tell the HDMI sink about channel allocation
	  (via audio infoframe, channel-allocation field)

(related docs: HDMI 1.3a spec section 7.4, CEA-861-D section 7.5.3 and 6.6)

This patch attempts to set the CA(channel-allocation) byte in the audio infoframe
according to
	- the number of channels in the current stream
	- the speakers attached to the HDMI sink

A channel_allocations[] line must meet the following two criteria to be
considered as a valid candidate for CA:
	1) its number of allocated channels = substream->runtime->channels
	2) its speakers are a subset of the available ones on the sink side

If there are multiple candidates, the first one is selected.  This simple
policy shall cheat the sink into playing music, but may direct data to the
wrong speakers.

Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-19 07:35:36 +01:00
..
hda_beep.c ALSA: hda - Missing NULL check in hda_beep.c 2008-11-13 14:37:16 +01:00
hda_beep.h ALSA: hda - Add digital beep playback switch for STAC/IDT codecs 2008-11-13 14:37:14 +01:00
hda_codec.c ALSA: hda - Fix another cache list management 2008-11-10 16:24:26 +01:00
hda_codec.h ALSA: hda - Fix another cache list management 2008-11-10 16:24:26 +01:00
hda_eld.c ALSA: hda: make global snd_print_channel_allocation() 2008-11-19 07:35:28 +01:00
hda_generic.c ALSA: hda - Manage kcontrol lists 2008-10-13 02:43:01 +02:00
hda_hwdep.c ALSA: hda - Add hints for reconfig 2008-10-13 02:43:04 +02:00
hda_intel.c ALSA: hda - support detecting HD Audio devices with PCI class code 2008-11-13 11:07:07 +01:00
hda_local.h ALSA: hda: make global snd_print_channel_allocation() 2008-11-19 07:35:28 +01:00
hda_patch.h ALSA: hda - Intel HDMI audio support 2008-11-05 07:54:03 +01:00
hda_proc.c ALSA: introduce snd_print_pcm_rates() 2008-11-18 07:38:51 +01:00
Makefile ALSA: create hda_eld.c for ELD routines and proc interface 2008-11-18 07:39:03 +01:00
patch_analog.c Merge branch 'topic/fix/hda' into topic/hda 2008-11-12 10:02:04 +01:00
patch_atihdmi.c ALSA: handle SiI1392 HDMI codec in patch_intelhdmi.c 2008-11-13 07:55:40 +01:00
patch_cmedia.c [ALSA] hda - Fix model for LG LS75 laptop 2008-05-30 16:56:00 +02:00
patch_conexant.c ALSA: hda - Use generic array helpers 2008-10-13 02:42:59 +02:00
patch_intelhdmi.c ALSA: hda: HDMI channel allocations for audio infoframe 2008-11-19 07:35:36 +01:00
patch_nvhdmi.c ALSA: hda - Fix PCM type of Nvidia HDMI devices 2008-10-16 08:02:41 +02:00
patch_realtek.c ALSA: hda - Allow multiple imux for matrix-type mixers of ALC codecs 2008-11-18 12:36:33 +01:00
patch_si3054.c [ALSA] sound: hda: missing includes of hda_patch.h 2008-04-24 12:00:19 +02:00
patch_sigmatel.c Merge branch 'topic/fix/hda' into topic/hda 2008-11-18 10:57:07 +01:00
patch_via.c ALSA: hda: remove redundant get_amp_nid() 2008-11-18 07:38:28 +01:00