[alsa-devel] [RFC PATCH 5/7] ALSA: hda/hdmi - implement mst_no_extra_pcms flag
Takashi Iwai
tiwai at suse.de
Tue Sep 3 07:53:34 CEST 2019
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
More information about the Alsa-devel
mailing list