On Wed, Apr 26, 2017 at 03:47:44PM +0200, Takashi Iwai wrote: > On Wed, 26 Apr 2017 15:38:53 +0200, > Ville Syrjälä wrote: > > > > On Wed, Apr 26, 2017 at 09:29:18AM +0200, Takashi Iwai wrote: > > > On Tue, 25 Apr 2017 22:27:19 +0200, > > > ville.syrjala@xxxxxxxxxxxxxxx wrote: > > > > > > > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > > > > > > > I was wondering why my VLV no longer runtime suspended, and after some > > > > thinking I decided it had to be the LPE audio preventing it. Turns out > > > > I was right, so here's my attempt at fixing it. > > > > > > > > And while looking at the code I couldn't help but notice that it > > > > couldn't actually handle multiple pipes playing back audio at the > > > > same time. And even having multiple displays active even if only > > > > one was playing audio was probably a recipe for failure. So I > > > > tried to fix that by registering a separate PCM device for each > > > > pipe. > > > > > > > > Note that the patch subjects may not reflect the subsystem > > > > very well since most of these straddle the border between drm > > > > and alsa. I think I just slapped on drm/i915 to most where > > > > there was no clear winner. > > > > > > A nice patchset, thanks for working on it! > > > > > > One slight concern (other than the jack issue Pierre reported) is the > > > incompatible behavior from the current version. With the pipe-based > > > multiple streams, user would need to choose another one even if the > > > device has a single HDMI output, which is pretty common on BYT/CHV > > > tablets. > > > > > > Maybe it's no big problem as the users are still limited at the > > > moment. Or, we may need to handle a bit differently, e.g. assigning > > > the PCM stream dynamically per hotplug. > > > > Yeah, I tied the PCM device to the pipe to match the hardware. But we > > could certainly register the PCM device per port, and then do a > > pipe<->port mapping somewhere to make it all work out. One slight > > complication is that not all ports are necessarily present so we > > might have eg. just port B and port D, but no port C. Not sure if > > it would be a bad thing to register a PCM device even for the > > missing ports anyway? > > > > I don't recall which way HDA works. Device per port I guess? Well, > > for DP SST/HDMI. But for DP MST I presume it's device per stream > > (ie. pipe) even with HDA. > > HD-audio creates the PCM device per HD-audio widget representation, > and they correspond to ports, as it seems. For MST, the situation is > more complex, and we assign the PCM stream dynamically. It's for > keeping the behavior (more or less) consistent with non-MST. OK, I hacked together something that seems to work. I'll still need to squash it with the earlier patch, but in case you want to see what the relative changes look like I pushed it to git://github.com/vsyrjala/linux.git lpe_audio_multipipe -- Ville Syrjälä Intel OTC _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel