diff --git a/src/audio/dai.c b/src/audio/dai.c index 3a6b9f7a5..ff2ff9307 100644 --- a/src/audio/dai.c +++ b/src/audio/dai.c @@ -384,6 +384,7 @@ static int dai_params(struct comp_dev *dev) { struct dai_data *dd = comp_get_drvdata(dev); struct comp_buffer *dma_buffer; + struct sof_ipc_comp_config *dconfig = COMP_GET_CONFIG(dev); trace_dai("par"); @@ -393,6 +394,9 @@ static int dai_params(struct comp_dev *dev) return -EINVAL; } + /* for DAI, we should configure its frame_fmt from topology */ + dev->params.frame_fmt = dconfig->frame_fmt; + /* calculate period size based on config */ dev->frame_bytes = comp_frame_bytes(dev); if (dev->frame_bytes == 0) {