Re: [alsa-devel] [PATCH 3/4] snd: add support for displayport multi-stream to hda codec.

Jani Nikula
2015-07-03T08:52:14Z

On Fri, 03 Jul 2015, Raymond Yau <superquad.vortex2@gmail.com> wrote:
> 2015-6-29 下午3:58於 "Jani Nikula" <jani.nikula@linux.intel.com>寫道：
>>
>> On Sat, 27 Jun 2015, Raymond Yau <superquad.vortex2@gmail.com> wrote:
>> >> > >
>> >> > > 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 ?
>
> http://www.intel.com/support/motherboards/desktop/sb/CS-034199.htm
>
> Do the first display always support sound since hdmi can connect to tv
> using dvi ?

I don't see the relevance.

> As Pulseaudio does not support multi streaming ( playing different audio
> streams to headphone and rear panel speakers , how can pulseaudion support
> displayport MST ?

Even if it couldn't support multiple streams at the same time, there has
to be a way to choose one of the audio capable sinks in the DP MST
topology (which will change dynamically).

BR,
Jani.

--
Jani Nikula, Intel Open Source Technology Center