[alsa-devel] [PATCH v4 0/5] ALSA: hda - hdmi support dynamic pcm assignment

Takashi Iwai tiwai at suse.de
Mon Dec 21 10:02:29 CET 2015


On Mon, 21 Dec 2015 09:54:23 +0100,
Libin Yang wrote:
> 
> 
> On 12/21/2015 04:35 PM, Takashi Iwai wrote:
> > On Mon, 21 Dec 2015 01:51:02 +0100,
> > Libin Yang wrote:
> >>
> >> Hi Takashi,
> >>
> >> On 12/18/2015 08:05 PM, Takashi Iwai wrote:
> >>> On Fri, 18 Dec 2015 11:48:49 +0100,
> >>> Takashi Iwai wrote:
> >>>>
> >>>> On Fri, 18 Dec 2015 03:53:32 +0100,
> >>>> Yang, Libin wrote:
> >>>>>
> >>>>> Hi Takashi,
> >>>>>
> >>>>>> -----Original Message-----
> >>>>>> From: Takashi Iwai [mailto:tiwai at suse.de]
> >>>>>> Sent: Wednesday, December 16, 2015 3:47 PM
> >>>>>> To: libin.yang at linux.intel.com
> >>>>>> Cc: alsa-devel at alsa-project.org; Lin, Mengdong; Yang, Libin
> >>>>>> Subject: Re: [alsa-devel] [PATCH v4 0/5] ALSA: hda - hdmi support
> >>>>>> dynamic pcm assignment
> >>>>>>
> >>>>>> On Wed, 16 Dec 2015 06:42:40 +0100,
> >>>>>> libin.yang at linux.intel.com wrote:
> >>>>>>>
> >>>>>>> From: Libin Yang <libin.yang at linux.intel.com>
> >>>>>>>
> >>>>>>> The patches are trying to support dynamically binding PCM to pin
> >>>>>>> in HDMI/DP audio.
> >>>>>>>
> >>>>>>> The pin will not bind to any PCM if there is not monitor connected.
> >>>>>>> When there is a monitor connected to the port (pin), driver will
> >>>>>>> try to find a proper PCM to assign to the port and setup the pin
> >>>>>>> if necessary.
> >>>>>>>
> >>>>>>> Libin Yang (5):
> >>>>>>>     ALSA: hda - hdmi begin to support dynamic PCM assignment
> >>>>>>>     ALSA: hda - hdmi playback without monitor in dynamic pcm bind
> >>>>>> mode
> >>>>>>>     ALSA: hda - hdmi operate spdif based on pcm
> >>>>>>>     ALSA: hda - hdmi dynamically bind PCM to pin when monitor hotplug
> >>>>>>>     ALSA: hda - hdmi setup pin when monitor hotplug in pcm dynamic
> >>>>>>>       assignment mode
> >>>>>>
> >>>>>> I updated topic/hda-mst branch with these patches.  But the patch 4
> >>>>>> needs more fixes, as suggested in another mail.
> >>>>>>
> >>>>>> Overall, I'd like to know whether MST audio really works in the
> >>>>>> current state, or not.  Do you have *any* git branch where MST audio
> >>>>>> is supposed to work at all?
> >>>>>
> >>>>> I have uploaded the patches to: https://github.com/libinyang/linux.git
> >>>>> Branch is mst_virtual_pin_github.
> >>>>>
> >>>>> There is still an issue when doing the mst audio playback:
> >>>>> The later converter selection for pin will overwrite the previous setting.
> >>>>> This is the driver bug, I'm debugging it.
> >>>>
> >>>> Thanks.  I tried this branch, but the DP MST audio on my HP laptop
> >>>> dock doesn't seem working.  It gets no notification (maybe expected),
> >>>> but the accesses to any HDMI devices result in the error.  I tested
> >>>> via aplay -Dhdmi:0,0 to 0,2.
> >>>>
> >>>> With the latest patchset (e.g. my test/hdmi-jack branch) I get the
> >>>> notification and ELD, but the audio still doesn't come out.  So,
> >>>> something seems missing.
> >>>
> >>> Actually I'm thinking how the MST things are supposed to work here.
> >>> The machine here has a docking station connected to port D, and it has
> >>> to DP connectors.  Meanwhile it has a built-in DP port on port C.
> >>> The latter works fine while dock ports don't.
> >>
> >> I have updated the code last Friday, which fixed a converter setting
> >> issue in MST mode. Without the latest code, there is no sound for DP
> >> MST audio.
> >>
> >> The port D should be the same with port C for the HW connection.
> >
> > I tested the latest branch, commit
> > d6203f02941c72e2737271d98cf382f34295307e
> >      bug fix
> >
> >      1. converter overwritten
> >      2. not share the converter
> >
> > This is the right branch and commit for testing, right?
> 
> Yes. this is the latest code. It works on my side.
> 
> >
> >>> Suppose if I plug two monitors on the docking station.  How would the
> >>> audio in HD-audio side be set up?
> >>
> >> Not sure how the docking station works. If the docking works as it is
> >> a MST hub, there should be sound independently from both ports. But
> >> I'm not sure whether the docking is a MST hub or just duplicates
> >> context to the other port.
> >
> > It's supposed to be a MST hub.
> >
> >> I think we can try to get the device entry number on the pin by
> >> calling snd_hda_get_num_devices().
> >>
> >> The steps should be:
> >> 1. connect 2 monitors to the docking station and boot up the machine.
> >> 2. If xxx_get_num_devices() returns 0, this means it is not MST mode.
> >>      If xxx_get_num_devices() returns 1, this means it works as MST hub.
> >
> > Currently I have only one monitor to test, so I can't check this,
> > unfortunately.
> 
> If it is a MST hub:
> 1. when there are 2 monitors are connected to the port, 2 PCM are 
> assigned to each monitor. snd_hda_get_num_devices() will return 1. 
> When playing, each PCM will find a converter to use.
> 2. When there is one monitor is connected to the port, 
> snd_hda_get_num_devices() will return 0 and one PCM is assigned.
> 
> Anyway, if only one monitor is connected, it should always work, no 
> matter with or without the DP MST support.
> 
> Could you please tell me you HP laptop type? I will debug on it if I 
> can get one.

I'm testing HP Folio 940 with Haswell.


Takashi


More information about the Alsa-devel mailing list