[alsa-devel] DP1.2 MST audio support discussion

Yang, Libin libin.yang at intel.com
Wed Oct 14 04:15:59 CEST 2015


+ intel gfx experts.

Hi Raymond,


From: Raymond Yau [mailto:superquad.vortex2 at gmail.com] 
Sent: Wednesday, October 14, 2015 7:52 AM
To: Takashi Iwai
Cc: ALSA Development Mailing List; David Henningsson; tanuk at iki.fi; airlied at linux.ie; Yang, Libin; Girdwood, Liam R; Lin, Mengdong
Subject: Re: [alsa-devel] DP1.2 MST audio support discussion


> >
> > > One could then allocate two extra PCMs from the start (9 and 10) to
> > > try
> > > in case the other PCM is busy (my preference), or one could steal one
> > > of
> > > the existing non-busy ones (Takashi's preference).
> >
> > We will create the PCMs based on converter. This means we will
> > create 3 PCMs. And it will not support dynamically allocating PCM.
> > As there are only 3 converters, no more PCMs will be supported.
> > Each PCM will use one converter. If 3 PCMs are all used, connecting
> > monitor will not create new PCM.
> >
> > Yes, if we are not using the PCM, we can re-assign the PCM to another
> > monitor. Currently, user can't decide which PCM is used for which
> > monitor. Image the scenario PCM 3 is assigned to monitor 1, PCM 7 is
> > assigned to monitor 2, PCM 8 is assigned to monitor 3. Monitor 4 is
> > connected, no PCM is available, and driver don't know whether it
> > should steal one PCM for the monitor 4 and user can't change the
> > mapping currently.
>
> Actually, there are a few things to implement properly:
>
> 1. The plug/unplug events are triggered at the actual graphics output
>    switching via xrandr or such, not at the time the monitor is
>    physically plugged/unplugged.
>
> 2. At switching, the unplug event must be handled at first, and then
>    the plug event.
>
> 3. At unplug, detach per_pin object properly from PCM.
>    We currently just notify it via jack ctl, and doesn't care the
>    rest.  Ideally, we should force to stop the PCM and detach
>    internally from the assigned pin.
>
> 4. At plug, assign the monitor to the free per_pin object.
>
> So what we've discussed is about the last step; how to map the new
> monitor to per_pin object.  This requires the other steps beforehand
> which assures a free per_pin is present at plug time.
>
Do it mean that only one DP MST port and no HDMI port on the same graphic card ?

[Libin] It support DP MST and HDMI both on the same graphic card. 
    On intel platform, it is using DDI port, support both DP and HDMI.

If DP MST are dasiy chained, the unplug of the first monitor from Display Port will cause all DP monitor in the dasiy chain disconnect 
[Libin] In this mode, multiple interrupts should occur?
    If so we can handle the daisy chained mode easily.
    Anyway, as the monitors are on the same pin,
    we can always know whether there is monitor on the pin.
    Thanks for reminding it.


More information about the Alsa-devel mailing list