From: David Henningsson <david.henningsson@canonical.com>
To: "Yang, Libin" <libin.yang@intel.com>,
Raymond Yau <superquad.vortex2@gmail.com>,
Takashi Iwai <tiwai@suse.de>
Cc: "airlied@linux.ie" <airlied@linux.ie>,
"tanuk@iki.fi" <tanuk@iki.fi>,
ALSA Development Mailing List <alsa-devel@alsa-project.org>,
"Girdwood, Liam R" <liam.r.girdwood@intel.com>,
"Lin, Mengdong" <mengdong.lin@intel.com>
Subject: Re: DP1.2 MST audio support discussion
Date: Thu, 22 Oct 2015 10:52:59 +0200 [thread overview]
Message-ID: <5628A3EB.8050306@canonical.com> (raw)
In-Reply-To: <96A12704CE18D347B625EE2D4A099D19753A91@SHSMSX103.ccr.corp.intel.com>
On 2015-10-22 09:40, Yang, Libin wrote:
>
>>>>>> From: Raymond Yau [mailto:superquad.vortex2@gmail.com]
>>>>>> Sent: Friday, October 16, 2015 8:33 AM
>>>>>> To: Takashi Iwai
>>>>>> Cc: airlied@linux.ie; tanuk@iki.fi; David Henningsson; Yang, Libin;
>>>> Lin,
>>>>>> Mengdong; Girdwood, Liam R; ALSA Development Mailing List
>>>>>> Subject: Re: [alsa-devel] DP1.2 MST audio support discussion
>>>>>>
>>>>>>
>>>>>>>>
>>>>>>>> Do it mean that only one DP MST port and no HDMI port on
>> the
>>>>>> same graphic
>>>>>>>> card ?
>>>>>>>
>>>>>>> No.
>>>>>> If there is only one HDMI and one Display Port, this mean that
>> there
>>>>>> are two pin complexes
>>>>>> How about the name of jack detection kctl of three Display Port
>>>>>> monitors which are created on the same pin complex but
>> different
>>>>>> dev_index ?
>>>>>
>>>>> For the jack name, what do you think if we change to
>>>>> "HDMI/DP, pin=n, dev=m" format? Will it impact on pulseaudio?
>>>>
>>>> Yes, it will impact PulseAudio. It will require changes to files in
>>>>
>>>>
>> http://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/modules/
>>>> alsa/mixer/paths
>>>
>>> So does this mean we should not change the name "HDMI/DP,pcm=3
>> Jack"
>>> to "HDMI/DP,pin=n, dev=m Jack", otherwise the old PA will not work
>> with
>>> the new driver?
>>
>> Yes. And I don't understand why you need to do it, either - if you have
>> three display port monitors on one pin, then they will all get different
>> PCMs (8, 9 and 10), and they will signal their Jack status through
>> "HDMI/DP,pcm=8 Jack", "HDMI/DP,pcm=9 Jack" and
>> "HDMI/DP,pcm=10 Jack".
>
> OK, I see. Thanks. I will not change the jack kctl name.
> BTW, the PCM number will be the same as converter, which means
> it will be 3 on Intel platforms.
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.)
The jack and ELD kctls - one per PCM device - will follow what monitor
the PCM is currently assigned to. (kctls belonging to a PCM device that
is unassigned will report presence_detect=0 and eld_valid=0.)
Then, at playback open time, a free converter node will be dynamically
assigned to the PCM. If there are no free converter nodes, return -EBUSY.
Now remains the case when an unassigned PCM is opened. This needs
additional thinking, but the more backwards compatibility we can keep
for this case, the better. But I'm not sure about how possible it is to
let streams "freewheel" in this new DSP MST world?
>> Given that my proposed mapping algorithm will never change pin to
>> PCM
>> mapping (unless you have two displayport outputs and use MST on
>> both), I
>> think we can get away with not exposing the actual pin to userspace.
>> And should this later become necessary, we can add a separate kctl for
>> that.
>
> My current thought is to expose the same jack kctls (same number and
> same name) to userspace while we will create hda_jack_tbl for each device
> entry. When pcm is bound to the device entry, the corresponding
> jack kctl will be bound to the device entry.
--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic
next prev parent reply other threads:[~2015-10-22 8:52 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-13 6:25 DP1.2 MST audio support discussion Yang, Libin
2015-10-13 6:47 ` David Henningsson
2015-10-13 7:34 ` Yang, Libin
2015-10-13 9:20 ` Takashi Iwai
2015-10-13 12:31 ` Yang, Libin
2015-10-13 14:03 ` Takashi Iwai
2015-10-13 14:12 ` Yang, Libin
2015-10-13 16:20 ` Takashi Iwai
2015-10-14 2:03 ` Yang, Libin
2015-10-13 23:52 ` Raymond Yau
2015-10-14 2:15 ` Yang, Libin
2015-10-14 6:44 ` Takashi Iwai
2015-10-16 0:32 ` Raymond Yau
2015-10-16 6:38 ` Takashi Iwai
2015-10-16 8:51 ` Yang, Libin
2015-10-16 9:00 ` Takashi Iwai
2015-10-16 11:55 ` Yang, Libin
2015-10-19 5:16 ` Yang, Libin
2015-10-22 1:31 ` Yang, Libin
2015-10-22 6:51 ` David Henningsson
2015-10-22 6:56 ` Yang, Libin
2015-10-22 7:27 ` David Henningsson
2015-10-22 7:40 ` Yang, Libin
2015-10-22 8:52 ` David Henningsson [this message]
2015-10-22 11:21 ` Yang, Libin
2015-10-22 17:42 ` Takashi Iwai
2015-10-23 5:30 ` Lin, Mengdong
2015-10-23 5:53 ` Takashi Iwai
2015-10-23 8:35 ` Lin, Mengdong
2015-10-23 8:44 ` Takashi Iwai
2015-10-23 10:15 ` Lin, Mengdong
2015-11-13 7:27 ` Raymond Yau
2015-10-23 10:55 ` David Henningsson
2015-10-23 12:35 ` Lin, Mengdong
2015-10-27 8:45 ` Yang, Libin
2015-10-30 11:27 ` Takashi Iwai
2015-11-01 8:53 ` Raymond Yau
2015-11-02 7:54 ` Yang, Libin
2015-11-02 7:30 ` Yang, Libin
2015-11-02 7:46 ` Takashi Iwai
2015-11-02 7:55 ` David Henningsson
2015-11-04 14:17 ` Yang, Libin
2015-11-04 15:04 ` Jani Nikula
2015-11-05 9:07 ` David Henningsson
2015-11-05 9:39 ` Raymond Yau
2015-11-10 6:46 ` Yang, Libin
2015-11-10 7:45 ` David Henningsson
2015-11-11 2:04 ` Yang, Libin
2015-11-11 7:58 ` Yang, Libin
2015-11-11 8:05 ` Takashi Iwai
2015-11-11 8:11 ` Yang, Libin
2015-11-11 8:26 ` Takashi Iwai
2015-11-11 8:33 ` Yang, Libin
2015-11-11 8:52 ` Takashi Iwai
2015-10-23 9:40 ` Raymond Yau
2015-10-23 13:08 ` Lin, Mengdong
2015-10-16 1:11 ` Yang, Libin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5628A3EB.8050306@canonical.com \
--to=david.henningsson@canonical.com \
--cc=airlied@linux.ie \
--cc=alsa-devel@alsa-project.org \
--cc=liam.r.girdwood@intel.com \
--cc=libin.yang@intel.com \
--cc=mengdong.lin@intel.com \
--cc=superquad.vortex2@gmail.com \
--cc=tanuk@iki.fi \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.