> > > > > > Shall we move or cc this discussion on audio driver side to ALSA ML? > > > > Oops I thought I had cc'ed these patches to alsa-devel as well when I sent them. > > > > > I think we also need to decide how to manage PCM devices for DP MST. > > > Now the HD-A driver create a PCM device for each pin, and the substream > > > number is 1 for each PCM. Now with DP MST enabled, each pin can support > > > multiple streams (e.g. 3 on Intel HSW/BDW/SKL). > > > > > > There may be 2 options: > > > -#1: Let an HDMI codec specify number of substreams, same as the number > > > of device entries on a pin. We can specify 3 for HSW/BDW/SKL. Other > > > vendors can also specify a value according to actual HW capabilities. > > > > > > So for HSW, we have 3x3 subtreams totally. But we only have 3 convertors > > > (for 3 display pipelines), so we can open up to 3 substreams at the same > > > time. When the audio driver finds all 3 convertors are used when opening > > > a new substream, it will fail. > > > > One thing I noticed is the number of devices on a PIN is only updated when > > the MST device is plugged in so normally pins 5,6,7 have 0 devices, and when > > I plug in MST device, I get the 3 devices on port 6. So it seems dynamic > > enough at this point, though I guess it'll always be 0 or 3. > > > > > > - #2: Create PCM device dynamically. Only create a PCM devices for a device > > > entry which connects to monitor with audio support. When the monitor > > > is removed, the PCM device will be disconnected, closed and removed, > > > similar to the USB case. Do the driver really need dynamic PCM since display ports are dasiy chained and the locations within the dasiy chain are fixed ?