On Mon, 02 Sep 2019 14:52:44 +0200, Kai Vehmanen wrote: > > Hi Takashi, > > On Thu, 29 Aug 2019, Takashi Iwai wrote: > > > On Thu, 29 Aug 2019 15:53:46 +0200, > > Kai Vehmanen wrote: > > > static int generic_hdmi_build_pcms(struct hda_codec *codec) > > > { > [...] > > > + if (codec->mst_no_extra_pcms) > > > + pcm_num = spec->num_nids; > > > + else > > > + pcm_num = spec->num_nids + spec->dev_num - 1; > > > > Instead of changing this, we can simply take dev_num=1 like below. > [...] > > - if (is_haswell_plus(codec)) { > > + if (codec->mst_no_extra_pcms) { > > + /* for SOF/SST, no backup PCM streams can be assigned */ > > + dev_num = 1; > > + spec->dev_num = 1; > > + } else if (is_haswell_plus(codec)) { > > hmm, I think we need to keep dev_num as 3, to create the MST per_pin > structs for each port. I.e. we still have the virtual pins, although we > limit PCM count to 3. Unless we do this, at least jack detection is broken > in DP-MST mode. > > One option would be to set > dev_num = 3; > spec->dev_num = 1; > > ... spec->dev_num is not really used elsewhere than > generic_hdmi_build_pcms(), so this works. > > But, but, this seems quite confusing. So ok if I keep in original form and > have separate logic in generic_hdmi_build_pcms()? Fair enough, let's keep your version as is. thanks, Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel