mirror of https://github.com/thesofproject/sof.git
codec_adapter: check if more fragments are expected first.
Check if more fragments of config data are expected first and return immediately to make the code easier to follow. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
This commit is contained in:
parent
6241f50549
commit
42dd0a6932
|
@ -521,10 +521,11 @@ static int codec_adapter_set_params(struct comp_dev *dev, struct sof_ipc_ctrl_da
|
||||||
ret = memcpy_s(dst, size - offset, src, cdata->num_elems);
|
ret = memcpy_s(dst, size - offset, src, cdata->num_elems);
|
||||||
assert(!ret);
|
assert(!ret);
|
||||||
|
|
||||||
/* Config has been copied now we can load & apply it depending on
|
/* return as more fragments of config data expected */
|
||||||
* codec state.
|
if (cdata->elems_remaining)
|
||||||
*/
|
return 0;
|
||||||
if (!cdata->elems_remaining) {
|
|
||||||
|
/* config fully copied, now load it */
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case MODULE_CFG_SETUP:
|
case MODULE_CFG_SETUP:
|
||||||
ret = load_setup_config(dev, md->runtime_params, size);
|
ret = load_setup_config(dev, md->runtime_params, size);
|
||||||
|
@ -533,7 +534,6 @@ static int codec_adapter_set_params(struct comp_dev *dev, struct sof_ipc_ctrl_da
|
||||||
ret);
|
ret);
|
||||||
else
|
else
|
||||||
comp_dbg(dev, "codec_adapter_set_params() load of setup config done.");
|
comp_dbg(dev, "codec_adapter_set_params() load of setup config done.");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case MODULE_CFG_RUNTIME:
|
case MODULE_CFG_RUNTIME:
|
||||||
ret = module_load_config(dev, md->runtime_params, size, MODULE_CFG_RUNTIME);
|
ret = module_load_config(dev, md->runtime_params, size, MODULE_CFG_RUNTIME);
|
||||||
|
@ -545,10 +545,8 @@ static int codec_adapter_set_params(struct comp_dev *dev, struct sof_ipc_ctrl_da
|
||||||
|
|
||||||
comp_dbg(dev, "codec_adapter_set_params() load of runtime config done.");
|
comp_dbg(dev, "codec_adapter_set_params() load of runtime config done.");
|
||||||
|
|
||||||
|
/* And apply it right away if codec is already prepared */
|
||||||
if (md->state >= MODULE_INITIALIZED) {
|
if (md->state >= MODULE_INITIALIZED) {
|
||||||
/* We are already prepared so we can apply runtime
|
|
||||||
* config right away.
|
|
||||||
*/
|
|
||||||
ret = module_apply_runtime_config(dev);
|
ret = module_apply_runtime_config(dev);
|
||||||
if (ret)
|
if (ret)
|
||||||
comp_err(dev, "codec_adapter_set_params() error %x: codec runtime config apply failed",
|
comp_err(dev, "codec_adapter_set_params() error %x: codec runtime config apply failed",
|
||||||
|
@ -558,15 +556,11 @@ static int codec_adapter_set_params(struct comp_dev *dev, struct sof_ipc_ctrl_da
|
||||||
} else {
|
} else {
|
||||||
mod->priv.r_cfg.avail = true;
|
mod->priv.r_cfg.avail = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
comp_err(dev, "codec_adapter_set_params(): error: unknown config type.");
|
comp_err(dev, "codec_adapter_set_params(): error: unknown config type.");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (md->runtime_params)
|
if (md->runtime_params)
|
||||||
rfree(md->runtime_params);
|
rfree(md->runtime_params);
|
||||||
|
|
Loading…
Reference in New Issue