On Thu, 14 Nov 2019 04:37:02 +0100, Nikhil Mahale wrote: > > Document change notification HDA040-A for the Intel High Definition > Audio 1.0a specification introduces a Device Select verb for Digital > Display Pin Widgets that are multi-stream capable. This verb selects > a Device Entry that is used by subsequent Pin Widget verbs, > including the Get Connection List Entry verb. > > This patch queries the current Device Select value, associates it > with the connection list, and updates the connection list management > code to consider dev_id along with nid. I don't get why this is needed. This is the list that is added only from snd_hda_override_conn_list(), and you don't change that call pattern, so dev_id is always zero. thanks, Takashi > > Signed-off-by: Nikhil Mahale <nmahale@xxxxxxxxxx> > Reviewed-by: Aaron Plattner <aplattner@xxxxxxxxxx> > --- > sound/pci/hda/hda_codec.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c > index a2fb19129219..8f32cab8f4a4 100644 > --- a/sound/pci/hda/hda_codec.c > +++ b/sound/pci/hda/hda_codec.c > @@ -88,6 +88,7 @@ struct hda_conn_list { > struct list_head list; > int len; > hda_nid_t nid; > + int dev_id; > hda_nid_t conns[0]; > }; > > @@ -96,8 +97,9 @@ static struct hda_conn_list * > lookup_conn_list(struct hda_codec *codec, hda_nid_t nid) > { > struct hda_conn_list *p; > + int dev_id = snd_hda_get_dev_select(codec, nid); > list_for_each_entry(p, &codec->conn_list, list) { > - if (p->nid == nid) > + if (p->nid == nid && p->dev_id == dev_id) > return p; > } > return NULL; > @@ -113,6 +115,7 @@ static int add_conn_list(struct hda_codec *codec, hda_nid_t nid, int len, > return -ENOMEM; > p->len = len; > p->nid = nid; > + p->dev_id = snd_hda_get_dev_select(codec, nid); > memcpy(p->conns, list, len * sizeof(hda_nid_t)); > list_add(&p->list, &codec->conn_list); > return 0; > -- > 2.16.4 > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel