[alsa-devel] [PATCH 2/2] [RFC] ALSA: hda: hdmi - preserve non-MST PCM routing for Intel platforms

Kai Vehmanen kai.vehmanen at linux.intel.com
Fri Nov 29 15:47:11 CET 2019


Hi Takashi, Nikil and others,

On Fri, 29 Nov 2019, Kai Vehmanen wrote:
> This difference leads to some subtle differences in hdmi_find_pcm_slot()
> with regards to how non-MST monitors are assigned to PCMs.
> This patch restores the original behaviour on Intel platforms while
> keeping the new allocation policy on other platforms.

hmm, there seems a couple of more issues. The first patch is a clear bug 
that leads to segfault with SOF+patch_hdmi on some platforms (pipe B used
for single monitor HDMI case -> dev_id=1 -> non-existant pcm selected
and eventual kernel oops).

This second patch is however trickier. Nikhil your patch changed the 
default allocation a bit, so the routing might be difference also with 
snd-hda-intel (i.e. not SOF) for existing platforms and this may surprise 
users.

Digging deeper, we seem to have a slight semantics difference in how
intel_pin_eld_notify() and generic_acomp_pin_eld_notify() handle
the third pipe/dev_id parameter.

Any thoughts how to solve? I first I thought making separate functions
for hdmi_find_pcm_slot() and allow platforms to define an alternative
implementation, but in this RFC patch I opted for a simpler quirk in the 
function. This is becoming fairly messy I must say -- the amount of 
code commentary needed is a good indication some simplifaction would
be in order.

PS I did not have time to fully test the RFC patch, so this is just
   for discussion now...

Br, Kai


More information about the Alsa-devel mailing list