Skip to content

Commit 1dd1939

Browse files
btian1ranj063
authored andcommitted
copier-dai: Add copier_dai_prepare in copier dai source file
Add this function to integrate copier dai prepare code. Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
1 parent f3e9f73 commit 1dd1939

3 files changed

Lines changed: 23 additions & 20 deletions

File tree

‎src/audio/copier/copier.c‎

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,7 @@ static int copy_single_channel_c32(const struct audio_stream __sparse_cache *src
477477
staticintcopier_prepare(structcomp_dev*dev)
478478
{
479479
structcopier_data*cd=comp_get_drvdata(dev);
480-
intret, i;
480+
intret;
481481

482482
comp_dbg(dev, "copier_prepare()");
483483

@@ -503,25 +503,9 @@ static int copier_prepare(struct comp_dev *dev)
503503
}
504504
break;
505505
caseSOF_COMP_DAI:
506-
if (cd->endpoint_num==1) {
507-
ret=dai_zephyr_config_prepare(cd->dd[0], dev);
508-
if (ret<0)
509-
returnret;
510-
511-
ret=dai_zephyr_prepare(cd->dd[0], dev);
512-
if (ret<0)
513-
returnret;
514-
} else {
515-
for (i=0; i<cd->endpoint_num; i++) {
516-
ret=dai_zephyr_config_prepare(cd->dd[i], dev);
517-
if (ret<0)
518-
returnret;
519-
520-
ret=dai_zephyr_prepare(cd->dd[i], dev);
521-
if (ret<0)
522-
returnret;
523-
}
524-
}
506+
ret=copier_dai_prepare(dev, cd);
507+
if (ret<0)
508+
returnret;
525509
break;
526510
default:
527511
break;

‎src/audio/copier/copier_dai.c‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,3 +286,20 @@ void copier_dai_free(struct copier_data *cd)
286286
rfree(cd->dd[i]);
287287
}
288288
}
289+
290+
intcopier_dai_prepare(structcomp_dev*dev, structcopier_data*cd)
291+
{
292+
intret;
293+
294+
for (inti=0; i<cd->endpoint_num; i++) {
295+
ret=dai_zephyr_config_prepare(cd->dd[i], dev);
296+
if (ret<0)
297+
returnret;
298+
299+
ret=dai_zephyr_prepare(cd->dd[i], dev);
300+
if (ret<0)
301+
returnret;
302+
}
303+
304+
return0;
305+
}

‎src/include/sof/audio/dai_copier.h‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,6 @@ int copier_dai_create(struct comp_dev *parent_dev, struct copier_data *cd,
6363
structpipeline*pipeline);
6464

6565
voidcopier_dai_free(structcopier_data*cd);
66+
67+
intcopier_dai_prepare(structcomp_dev*dev, structcopier_data*cd);
6668
#endif/* __SOF_LIB_DAI_COPIER_H__ */

0 commit comments

Comments
 (0)