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

Lin, Mengdong mengdong.lin at intel.com
Fri Oct 23 12:15:39 CEST 2015


> -----Original Message-----
> From: Takashi Iwai [mailto:tiwai at suse.de]
> Sent: Friday, October 23, 2015 4:44 PM
> 
> On Fri, 23 Oct 2015 10:35:26 +0200,
> Lin, Mengdong wrote:
> >
> > > -----Original Message-----
> > > From: Takashi Iwai [mailto:tiwai at suse.de]
> > > Sent: Friday, October 23, 2015 1:54 PM
> > >
> > > On Fri, 23 Oct 2015 07:30:12 +0200,
> > > Lin, Mengdong wrote:
> > > >
> > > > > -----Original Message-----
> > > > > From: David Henningsson
> [mailto:david.henningsson at canonical.com]
> > > > > Sent: Thursday, October 22, 2015 4:53 PM
> > > >
> > > > [snip]
> > > >
> > > > > I'll try to explain my suggestion (which I believe Takashi's
> > > > > buying
> > > > > too) one more time then:
> > > > >
> > > > > First, when a monitor is plugged in, we need to dynamically
> > > > > assign this monitor to five PCM devices. I believe this scheme will be
> best:
> > > > >
> > > > > For a monitor at pin nid 0x05, dev index 0, it will prefer PCM 3.
> > > > > For a monitor at pin nid 0x06, dev index 0, it will prefer PCM 7.
> > > > > For a monitor at pin nid 0x07, dev index 0, it will prefer PCM 8.
> > > > > For a monitor at dev index 1 (any pin), it will prefer PCM 9.
> > > > > For a monitor at dev index 2 (any pin), it will prefer PCM 10.
> > > > >
> > > > > For monitors at dev indices > 2 (can that happen?), or if the
> > > > > PCM is already assigned to something else, try PCMs in this order: 9,
> 10, 3, 7, 8.
> > > > > (Subject to discussion perhaps, I don't think the order matters
> > > > > too much, because conflicts will be rare in practice.)
> > > >
> > > > Hi David,
> > > >
> > > > Would you please clarify why PA needs such a fixed binding between
> > > > PCM
> > > 3,7, 8 and pin 0x05,6,7?
> > >
> > > It's not PA's requirement.  The only concern here is for people who
> > > uses ALSA device directly, e.g. via aplay -Dhdmi:2.  The first
> > > monitor is guaranteed to be mapped to the compatible position for such
> people.
> >
> > Excuse me, could you share more background info here?
> > Even before DP MST support, it seems that such people need to know what
> pin is used to connect a monitor. Why?
> 
> On the existing machines, if you connect to a certain DP port, it's always
> assigned to the same device.  This is guaranteed, so it's perfectly fine to use
> this device statically for your purpose.
> 
> > The user can enumerate the PCM devices, and the PCM's jack ioctl can
> show whether a monitor is available behind this PCM device, no matter the
> driver uses fixed or dynamic binding between the PCM and pins.
> > So people can always choose a PCM to use a monitor. I feel they need not
> care which pin is used for the monitor.
> 
> People *can* choose, but it doesn't mean people *must* reselect another
> number out of sudden.  If they have to, it may be called a regression.

Okay. So the target is trying to assure a monitor uses the same PCM device statically as long as it's physically connected, over display mode change and power cycle.
And your and David's scheme to add 2 extra PCM devices in the reserved area should assure this for common configurations on Intel platforms, usually at most 1 DP + 1 HDMI.

We can check the length of device entries for a pin and add (Len -1) PCM devices. This can also work for Nvidia & AMD.

Thanks again for your clarification.

Regards
Mengdong
 


More information about the Alsa-devel mailing list