#include "avs.h"
 #include "path.h"
 #include "topology.h"
+#include "../../codecs/hda.h"
 
 struct avs_dma_data {
        struct avs_tplg_path_template *template;
                                ret = -ENOMEM;
                                goto exit;
                        }
+
+                       if (!hda_codec_is_display(codec)) {
+                               dais[i].playback.formats = pcm->stream[0].formats;
+                               dais[i].playback.subformats = pcm->stream[0].subformats;
+                               dais[i].playback.rates = pcm->stream[0].rates;
+                               dais[i].playback.channels_min = pcm->stream[0].channels_min;
+                               dais[i].playback.channels_max = pcm->stream[0].channels_max;
+                               dais[i].playback.sig_bits = pcm->stream[0].maxbps;
+                       }
                }
 
                if (pcm->stream[1].substreams) {
                                ret = -ENOMEM;
                                goto exit;
                        }
+
+                       if (!hda_codec_is_display(codec)) {
+                               dais[i].capture.formats = pcm->stream[1].formats;
+                               dais[i].capture.subformats = pcm->stream[1].subformats;
+                               dais[i].capture.rates = pcm->stream[1].rates;
+                               dais[i].capture.channels_min = pcm->stream[1].channels_min;
+                               dais[i].capture.channels_max = pcm->stream[1].channels_max;
+                               dais[i].capture.sig_bits = pcm->stream[1].maxbps;
+                       }
                }
 
                dai = snd_soc_register_dai(component, &dais[i], false);