ALSA: hda - hdmi playback without monitor in dynamic pcm bind mode
authorLibin Yang <libin.yang@linux.intel.com>
Wed, 16 Dec 2015 05:42:42 +0000 (13:42 +0800)
committerTakashi Iwai <tiwai@suse.de>
Fri, 29 Jan 2016 06:34:56 +0000 (07:34 +0100)
commit42b2987079eca0238b576c08af1144ed5bd52188
tree5f3ae7e4d0759cc8b714de556fba92d23314d3a5
parent6590faaba4008d84806bf4b570db2e885e3d9e99
ALSA: hda - hdmi playback without monitor in dynamic pcm bind mode

Pulseaudio requires open pcm successfully when probing.

This patch handles playback without monitor in dynamic pcm assignment
mode. It tries to open/prepare/close pcm successfully even there is
no pin bound to the PCM. On the meantime, it will try to find a proper
converter for the PCM.

As pcm is This patch introduces a pcm_lock in struct hdmi_spec.
This lock is used to protect:
1. the variables in struct hdmi_spec;
2. other variables shared for dynamic pcm assignment mode
3. device entry selection. As each device entry is represented by
   a separate struct struct hdmi_spec_per_pin, the lock in per_pin
   is not enough. Please see details below.

MST audio device entry operation:
1. select device entry on the pin
2. operate on the pin nid

Signed-off-by: Libin Yang <libin.yang@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_hdmi.c