ALSA: hda - proc - show which I/O NID is associated to PCM device
[cascardo/linux.git] / sound / pci / hda / hda_proc.c
index 95f24e4..f5639c2 100644 (file)
@@ -309,7 +309,21 @@ static void print_audio_io(struct snd_info_buffer *buffer,
                           struct hda_codec *codec, hda_nid_t nid,
                           unsigned int wid_type)
 {
-       int conv = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_CONV, 0);
+       int pcm, conv;
+       for (pcm = 0; pcm < codec->num_pcms; pcm++) {
+               int type;
+               struct hda_pcm *cpcm = &codec->pcm_info[pcm];
+               for (type = 0; type < 2; type++) {
+                       if (cpcm->stream[type].nid != nid || cpcm->pcm == NULL)
+                               continue;
+                       snd_iprintf(buffer, "  Device: name=\"%s\", type=\"%s\", device=%i, substream=%i\n",
+                               cpcm->name,
+                               snd_hda_pcm_type_name[cpcm->pcm_type],
+                               cpcm->pcm->device,
+                               cpcm->pcm->streams[type].substream->number);
+               }
+       }
+       conv = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_CONV, 0);
        snd_iprintf(buffer,
                    "  Converter: stream=%d, channel=%d\n",
                    (conv & AC_CONV_STREAM) >> AC_CONV_STREAM_SHIFT,