-----Original Message----- From: Takashi Iwai [mailto:tiwai@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@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@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