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>
This commit is contained in:
Baofeng Tian 2023-05-17 16:34:02 +08:00 committed by Ranjani Sridharan
parent f3e9f73e96
commit 1dd1939f05
3 changed files with 23 additions and 20 deletions

View File

@ -477,7 +477,7 @@ static int copy_single_channel_c32(const struct audio_stream __sparse_cache *src
static int copier_prepare(struct comp_dev *dev)
{
struct copier_data *cd = comp_get_drvdata(dev);
int ret, i;
int ret;
comp_dbg(dev, "copier_prepare()");
@ -503,25 +503,9 @@ static int copier_prepare(struct comp_dev *dev)
}
break;
case SOF_COMP_DAI:
if (cd->endpoint_num == 1) {
ret = dai_zephyr_config_prepare(cd->dd[0], dev);
if (ret < 0)
return ret;
ret = dai_zephyr_prepare(cd->dd[0], dev);
if (ret < 0)
return ret;
} else {
for (i = 0; i < cd->endpoint_num; i++) {
ret = dai_zephyr_config_prepare(cd->dd[i], dev);
if (ret < 0)
return ret;
ret = dai_zephyr_prepare(cd->dd[i], dev);
if (ret < 0)
return ret;
}
}
ret = copier_dai_prepare(dev, cd);
if (ret < 0)
return ret;
break;
default:
break;

View File

@ -286,3 +286,20 @@ void copier_dai_free(struct copier_data *cd)
rfree(cd->dd[i]);
}
}
int copier_dai_prepare(struct comp_dev *dev, struct copier_data *cd)
{
int ret;
for (int i = 0; i < cd->endpoint_num; i++) {
ret = dai_zephyr_config_prepare(cd->dd[i], dev);
if (ret < 0)
return ret;
ret = dai_zephyr_prepare(cd->dd[i], dev);
if (ret < 0)
return ret;
}
return 0;
}

View File

@ -63,4 +63,6 @@ int copier_dai_create(struct comp_dev *parent_dev, struct copier_data *cd,
struct pipeline *pipeline);
void copier_dai_free(struct copier_data *cd);
int copier_dai_prepare(struct comp_dev *dev, struct copier_data *cd);
#endif /* __SOF_LIB_DAI_COPIER_H__ */