[Intel-gfx] [alsa-devel] DP MST audio support

Lin, Mengdong mengdong.lin at intel.com
Thu Jun 18 22:33:07 PDT 2015


> -----Original Message-----
> From: Takashi Iwai [mailto:tiwai at suse.de]
> Sent: Monday, May 18, 2015 5:21 PM
 
> At Thu, 14 May 2015 09:10:33 +1000,
> Dave Airlie wrote:
> >
> > On 12 May 2015 at 13:27, Dave Airlie <airlied at gmail.com> wrote:
> > > On 12 May 2015 at 11:50, Dave Airlie <airlied at gmail.com> wrote:
> > >> Hi,
> > >>
> > >> So I have a branch that makes no sound,
> > >> http://cgit.freedesktop.org/~airlied/linux/log/?h=dp-mst-audio
> > >>
> > >> and I'm not sure where I need to turn to next,
> > >>
> > >> The Intel docs I've read are kinda vague, assuming you know lots of
> > >> things I clearly don't.
> > >>
> > >> so in theory my branch, sets up the SDP stream to the monitor in
> > >> the payload creation, enables the codec in the intel GPU driver,
> > >> and passes the ELD to the audio driver.
> > >>
> > >> The audio driver uses the device list to get the presence/valid
> > >> bits per device, and manages to retrieve the ELD. I even create ELD
> > >> files in /proc/asound/HDMI/ that have sensible values in them
> > >>
> > >> So it looks like I'm just missing some routing somewhere, most
> > >> likely in the audio driver, then again I  could be missing a lot
> > >> more than that.
> > >>
> > >> Just looking for any ideas or knowledge people may have locked in
> > >> their brains or inside their firewalls.
> > >
> > > Okay the branch now has audio on my test setup,
> > >
> > > I've had to hack out the intel_not_share_assigned_cvt function it
> > > appears to do bad things, I set pin 6 to connection 0 (pin 2), the
> > > later sets on pin 5/7 to connection 1 by that function seems to reprogram
> pin 6.
> > >
> > > I'm guessing the connection is assigned to a device not a pin in the
> > > new hw, and the same device is routed via pin 5/7 so I end up trashing it.
> > >
> > > my test setup is a Haswell Lenovo t440s + docking station + Dell U2410.
> > ping audio guys?
> >
> > can someone from alsa please take a look or some interest in this?
> 
> Sorry, I've been on vacation for last two weeks.  Now still swimming in the
> flood of backlogs...

Hi Artie,

Sorry for the late reply.

We don't have Haswell Lenovo t440s atm, so could you share more info?
- Dell U2410 should support both HDMI and DP input. But I guess it cannot
 support DP MST, right?
- Are you connecting this monitor a DP cable? 
 Which DDI port is used? DDI B, C or D?
- Does audio fail after i915 enables DP MST?
- Is patch "snd/hdmi: hack out haswell codec workaround" the only change
 on audio driver side?

> > The graphics side patches are fairly trivial, also it would be good to
> > get a good explaination of how the hw works,
> >
> > from what I can see devices get connections not pins on this hw, and I
> > notice that I don't always get 3 devices, so I'm not sure if devices
> > are a dynamic thing we should be reprobing on some signal.

Do you mean 3 PCM devices here, like pcmC0D3p, pcmC0D7p, pcmC0D8p?
Now the devices are not dynamic, a PCM device is created on each pin.
It seems we need to revise this for DP MST, since a pin can be used to send
up to 3 independent streams on Intel GPU which has 3 display pipelines.

> 
> The intel_not_share_assigned_cvt() was needed for Haswell HDMI/DP as there
> was static routing between the pin and the converter widgets although the
> codec graph shows it's selectable.

We need to check why this fails. Even if MST is enabled, the convertors should
also be selectable.

> Was the pin default config of pin 6 enabled by BIOS properly?
> 
> In anyway, Intel people should have a better clue about this; it's been always a
> strange behavior that is tied with the graphics...
> 
> 
> thanks,
> 
> Takashi


More information about the Intel-gfx mailing list