From: Takashi Iwai <tiwai@suse.de>
To: "Yang, Libin" <libin.yang@intel.com>
Cc: 'ALSA Development Mailing List' <alsa-devel@alsa-project.org>,
"'airlied@linux.ie'" <airlied@linux.ie>,
"Lin, Mengdong" <mengdong.lin@intel.com>,
"Nikula, Jani" <jani.nikula@intel.com>,
"Girdwood, Liam R" <liam.r.girdwood@intel.com>,
"Lu, Han" <han.lu@intel.com>,
'Raymond Yau' <superquad.vortex2@gmail.com>,
"'tanuk@iki.fi'" <tanuk@iki.fi>,
'David Henningsson' <david.henningsson@canonical.com>
Subject: Re: DP1.2 MST audio support discussion
Date: Wed, 11 Nov 2015 09:05:33 +0100 [thread overview]
Message-ID: <s5hbnb155bm.wl-tiwai@suse.de> (raw)
In-Reply-To: <96A12704CE18D347B625EE2D4A099D19779C61@SHSMSX103.ccr.corp.intel.com>
On Wed, 11 Nov 2015 08:58:29 +0100,
Yang, Libin wrote:
>
>
> > -----Original Message-----
> > From: Yang, Libin
> > Sent: Wednesday, November 11, 2015 10:04 AM
> > To: David Henningsson; Takashi Iwai
> > Cc: Lin, Mengdong; Raymond Yau; airlied@linux.ie; tanuk@iki.fi; ALSA
> > Development Mailing List; Girdwood, Liam R; Lu, Han; Nikula, Jani
> > Subject: RE: [alsa-devel] DP1.2 MST audio support discussion
> >
> >
> > > -----Original Message-----
> > > From: David Henningsson [mailto:david.henningsson@canonical.com]
> > > Sent: Tuesday, November 10, 2015 3:45 PM
> > > To: Yang, Libin; Takashi Iwai
> > > Cc: Lin, Mengdong; Raymond Yau; airlied@linux.ie; tanuk@iki.fi; ALSA
> > > Development Mailing List; Girdwood, Liam R; Lu, Han; Nikula, Jani
> > > Subject: Re: [alsa-devel] DP1.2 MST audio support discussion
> > >
> > >
> > >
> > > On 2015-11-10 07:46, Yang, Libin wrote:
> > > > Hi David,
> > > >
> > > >
> > > >> -----Original Message-----
> > > >> From: David Henningsson
> > [mailto:david.henningsson@canonical.com]
> > > >> Sent: Thursday, November 05, 2015 5:07 PM
> > > >> To: Yang, Libin; Takashi Iwai
> > > >> Cc: Lin, Mengdong; Raymond Yau; airlied@linux.ie; tanuk@iki.fi;
> > ALSA
> > > >> Development Mailing List; Girdwood, Liam R; Lu, Han; Nikula, Jani
> > > >> Subject: Re: [alsa-devel] DP1.2 MST audio support discussion
> > > >>
> > > >>
> > > >>
> > > >> So I'm asking my question again. What would happen (on Intel
> > > hardware),
> > > >> if you stream audio to a converter node on the audio codec, and
> > there
> > > is
> > > >> no pin node connected to that converter node?
> > > >
> > > > I changed the audio driver and did the test today. The test is:
> > > > 1. Pin 5 connect to converter 2 and playback, there is sound from pin
> > 5.
> > > > 2. Pin 5 connect to converter 2 (no other pin is connected to cvt2), no
> > > sound.
> > > > 3. Pin 5 connect back to cvt 2, there is sound, playback is normal.
> > > >
> > > > And in step 2, the playback is still ongoing but no sound is out from
> > any
> > > pin.
> > >
> > > Sounds good to me, thanks for testing. Is this workaround something
> > we
> > > could utilize in order to not break userspace? (This is a question for
> > > both you and Takashi.)
> > >
> > > What we'll end up is essentially three types of objects:
> > >
> > > * PCM device (5 devices, 3,7,8,9,10)
> > > - all five devices are allocated when the driver initializes
> >
> > This should be for Intel platform, right? The actually number
> > should be:
> > pin number + device entry number - 1.
> > On intel platform, pin_num = 3, dev_num = 3, so it will be 5.
> >
> > > - all kcontrols are always bound to the PCM device (jack kctl, eld
> > > kctl, iec958 kctls etc)
> >
> > Sure, I agree on it.
> >
> > >
> > > * Monitor (pin + MST index)
> > > - dynamically bound to a PCM at monitor plug-in time, according to a
> > > scheme that maximises the possibility for a monitor to always end up at
> > > the same PCM (as specified in earlier emails)
> > >
> > > * Converter node (3 nodes for Intel hardware)
> > > - dynamically bound to a PCM at playback open time (regardless of
> > > whether the PCM has a monitor or not)
> >
> > If so, we still need use converter on codec. This means we can't turn
> > off the power well in i915.
> >
> > To save the power, i915 suggests that if no monitor is connected,
> > we should not use the HDMI codec. This means open a PCM with
> > no pin attached will fail. Disconnecting monitor when the corresponding
> > PCM is playback will trigger stop PCM.
> >
> > To help move to the new method smoothly, I will add a flag.
> > User can decide whether to use the aggressive power saving
> > solution or not.
>
> In hdmi_pcm_open(), it will judge whether pin_idx is valid,
> if not it will return -EINVAL. So for dynamic PCM assignment,
> open will fail if no monitor is connected.
>
> If we want to support open on PCM without monitor, many
> code must be rewrited. And it seems open a PCM without
> monitor is not a good behavior. As Raymond said in previous
> email, For alt analog playback device , it return EBUSY when
> DAC of HP is not available. I think for HDMI audio we can
> have the aligned behavior? And -ENODEV may be better.
Libin, it's why I've been repeated asking to split the patches,
instead of posting a big iron patch. Then we can test and evaluate
whether this part is really working in general.
Takashi
next prev parent reply other threads:[~2015-11-11 8:05 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
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 [this message]
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=s5hbnb155bm.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=airlied@linux.ie \
--cc=alsa-devel@alsa-project.org \
--cc=david.henningsson@canonical.com \
--cc=han.lu@intel.com \
--cc=jani.nikula@intel.com \
--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 \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox