Lines Matching refs:scomp

393 static void sof_dbg_comp_config(struct snd_soc_component *scomp, struct sof_ipc_comp_config *config)
395 dev_dbg(scomp->dev, " config: periods snk %d src %d fmt %d\n",
402 struct snd_soc_component *scomp = swidget->scomp;
422 ret = sof_update_ipc_object(scomp, host, SOF_PCM_TOKENS, swidget->tuples,
428 ret = sof_update_ipc_object(scomp, &host->config, SOF_COMP_TOKENS, swidget->tuples,
433 dev_dbg(scomp->dev, "loaded host %s\n", swidget->widget->name);
434 sof_dbg_comp_config(scomp, &host->config);
451 struct snd_soc_component *scomp = swidget->scomp;
467 ret = sof_update_ipc_object(scomp, &tone->config, SOF_COMP_TOKENS, swidget->tuples,
475 dev_dbg(scomp->dev, "tone %s: frequency %d amplitude %d\n",
477 sof_dbg_comp_config(scomp, &tone->config);
484 struct snd_soc_component *scomp = swidget->scomp;
500 ret = sof_update_ipc_object(scomp, &mixer->config, SOF_COMP_TOKENS,
510 dev_dbg(scomp->dev, "loaded mixer %s\n", swidget->widget->name);
511 sof_dbg_comp_config(scomp, &mixer->config);
518 struct snd_soc_component *scomp = swidget->scomp;
537 comp_swidget = snd_sof_find_swidget(scomp, swidget->widget->sname);
539 dev_err(scomp->dev, "scheduler %s refers to non existent widget %s\n",
548 ret = sof_update_ipc_object(scomp, pipeline, SOF_SCHED_TOKENS, swidget->tuples,
554 ret = sof_update_ipc_object(scomp, swidget, SOF_PIPELINE_TOKENS, swidget->tuples,
566 dev_dbg(scomp->dev, "pipeline %s: period %d pri %d mips %d core %d frames %d dynamic %d\n",
585 struct snd_soc_component *scomp = swidget->scomp;
604 ret = sof_update_ipc_object(scomp, buffer, SOF_BUFFER_TOKENS, swidget->tuples,
612 dev_dbg(scomp->dev, "buffer %s: size %d caps 0x%x\n",
620 struct snd_soc_component *scomp = swidget->scomp;
636 ret = sof_update_ipc_object(scomp, src, SOF_SRC_TOKENS, swidget->tuples,
642 ret = sof_update_ipc_object(scomp, &src->config, SOF_COMP_TOKENS,
647 dev_dbg(scomp->dev, "src %s: source rate %d sink rate %d\n",
649 sof_dbg_comp_config(scomp, &src->config);
661 struct snd_soc_component *scomp = swidget->scomp;
677 ret = sof_update_ipc_object(scomp, asrc, SOF_ASRC_TOKENS, swidget->tuples,
683 ret = sof_update_ipc_object(scomp, &asrc->config, SOF_COMP_TOKENS,
688 dev_dbg(scomp->dev, "asrc %s: source rate %d sink rate %d asynch %d operation %d\n",
692 sof_dbg_comp_config(scomp, &asrc->config);
707 struct snd_soc_component *scomp = swidget->scomp;
723 ret = sof_update_ipc_object(scomp, &mux->config, SOF_COMP_TOKENS,
731 dev_dbg(scomp->dev, "loaded mux %s\n", swidget->widget->name);
732 sof_dbg_comp_config(scomp, &mux->config);
743 struct snd_soc_component *scomp = swidget->scomp;
744 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp);
762 ret = sof_update_ipc_object(scomp, volume, SOF_VOLUME_TOKENS, swidget->tuples,
768 ret = sof_update_ipc_object(scomp, &volume->config, SOF_COMP_TOKENS,
774 dev_dbg(scomp->dev, "loaded PGA %s\n", swidget->widget->name);
775 sof_dbg_comp_config(scomp, &volume->config);
797 static int sof_get_control_data(struct snd_soc_component *scomp,
827 dev_err(scomp->dev, "Unknown kcontrol type %u in widget %s\n",
833 dev_err(scomp->dev, "No scontrol for widget %s\n", widget->name);
879 static int sof_process_load(struct snd_soc_component *scomp,
898 ret = sof_get_control_data(scomp, widget, wdata, &ipc_data_size);
924 ret = sof_update_ipc_object(scomp, &process->config, SOF_COMP_TOKENS,
930 dev_dbg(scomp->dev, "loaded process %s\n", swidget->widget->name);
931 sof_dbg_comp_config(scomp, &process->config);
981 struct snd_soc_component *scomp = swidget->scomp;
989 ret = sof_update_ipc_object(scomp, &config, SOF_PROCESS_TOKENS, swidget->tuples,
995 return sof_process_load(scomp, swidget, find_process_comp_type(config.type));
998 static int sof_link_hda_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink,
1010 ret = sof_update_ipc_object(scomp, &config->hda, SOF_HDA_TOKENS, slink->tuples,
1015 dev_dbg(scomp->dev, "HDA config rate %d channels %d\n",
1063 static int sof_link_sai_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink,
1079 ret = sof_update_ipc_object(scomp, &config->sai, SOF_SAI_TOKENS, slink->tuples,
1094 dev_info(scomp->dev,
1101 dev_err(scomp->dev, "Invalid channel count for SAI%d\n", config->dai_index);
1114 static int sof_link_esai_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink,
1130 ret = sof_update_ipc_object(scomp, &config->esai, SOF_ESAI_TOKENS, slink->tuples,
1144 dev_info(scomp->dev,
1151 dev_err(scomp->dev, "Invalid channel count for ESAI%d\n", config->dai_index);
1164 static int sof_link_micfil_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink,
1178 ret = sof_update_ipc_object(scomp, &config->micfil, SOF_MICFIL_TOKENS, slink->tuples,
1183 dev_info(scomp->dev, "MICFIL PDM config dai_index %d channel %d rate %d\n",
1195 static int sof_link_acp_dmic_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink,
1209 ret = sof_update_ipc_object(scomp, &config->acpdmic, SOF_ACPDMIC_TOKENS, slink->tuples,
1214 dev_info(scomp->dev, "ACP_DMIC config ACP%d channel %d rate %d\n",
1227 static int sof_link_acp_bt_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink,
1242 ret = sof_update_ipc_object(scomp, &config->acpbt, SOF_ACPI2S_TOKENS, slink->tuples,
1247 dev_info(scomp->dev, "ACP_BT config ACP%d channel %d rate %d tdm_mode %d\n",
1260 static int sof_link_acp_sp_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink,
1275 ret = sof_update_ipc_object(scomp, &config->acpsp, SOF_ACPI2S_TOKENS, slink->tuples,
1281 dev_info(scomp->dev, "ACP_SP config ACP%d channel %d rate %d tdm_mode %d\n",
1294 static int sof_link_acp_hs_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink,
1309 ret = sof_update_ipc_object(scomp, &config->acphs, SOF_ACPI2S_TOKENS, slink->tuples,
1314 dev_info(scomp->dev, "ACP_HS config ACP%d channel %d rate %d tdm_mode %d\n",
1327 static int sof_link_acp_sdw_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink,
1335 ret = sof_update_ipc_object(scomp, &config->acp_sdw, SOF_ACP_SDW_TOKENS, slink->tuples,
1342 dev_dbg(scomp->dev, "ACP SDW config rate %d channels %d\n",
1355 static int sof_link_afe_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink,
1365 ret = sof_update_ipc_object(scomp, &config->afe, SOF_AFE_TOKENS, slink->tuples,
1370 dev_dbg(scomp->dev, "AFE config rate %d channels %d format:%d\n",
1384 static int sof_link_ssp_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink,
1387 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp);
1397 ret = sof_update_ipc_object(scomp, &config->ssp, SOF_SSP_TOKENS, slink->tuples,
1413 dev_dbg(scomp->dev, "tplg: overriding topology mclk_id %d by quirk %d\n",
1428 dev_dbg(scomp->dev, "tplg: config SSP%d fmt %#x mclk %d bclk %d fclk %d width (%d)%d slots %d mclk id %d quirks %d clks_control %#x\n",
1437 dev_err(scomp->dev, "Invalid fsync rate for SSP%d\n", config[i].dai_index);
1442 dev_err(scomp->dev, "Invalid channel count for SSP%d\n",
1457 static int sof_link_dmic_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink,
1460 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp);
1471 ret = sof_update_ipc_object(scomp, &config->dmic, SOF_DMIC_TOKENS, slink->tuples,
1477 ret = sof_update_ipc_object(scomp, &config->dmic.pdm[0], SOF_DMIC_PDM_TOKENS,
1488 dev_dbg(scomp->dev, "tplg: config DMIC%d driver version %d\n",
1490 dev_dbg(scomp->dev, "pdmclk_min %d pdm_clkmax %d duty_min %d\n",
1493 dev_dbg(scomp->dev, "duty_max %d fifo_fs %d num_pdms active %d\n",
1496 dev_dbg(scomp->dev, "fifo word length %d\n", config->dmic.fifo_bits);
1499 dev_dbg(scomp->dev, "pdm %d mic a %d mic b %d\n",
1503 dev_dbg(scomp->dev, "pdm %d polarity a %d polarity b %d\n",
1507 dev_dbg(scomp->dev, "pdm %d clk_edge %d skew %d\n",
1529 static int sof_link_alh_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink,
1537 ret = sof_update_ipc_object(scomp, &config->alh, SOF_ALH_TOKENS, slink->tuples,
1557 struct snd_soc_component *scomp = swidget->scomp;
1558 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp);
1585 ret = sof_update_ipc_object(scomp, comp_dai, SOF_DAI_TOKENS, swidget->tuples,
1591 ret = sof_update_ipc_object(scomp, &comp_dai->config, SOF_COMP_TOKENS,
1597 dev_dbg(scomp->dev, "dai %s: type %d index %d\n",
1599 sof_dbg_comp_config(scomp, &comp_dai->config);
1617 ret = sof_update_ipc_object(scomp, &common_config, SOF_DAI_LINK_TOKENS,
1632 ret = sof_link_ssp_load(scomp, slink, config, dai);
1635 ret = sof_link_dmic_load(scomp, slink, config, dai);
1638 ret = sof_link_hda_load(scomp, slink, config, dai);
1641 ret = sof_link_alh_load(scomp, slink, config, dai);
1644 ret = sof_link_sai_load(scomp, slink, config, dai);
1647 ret = sof_link_esai_load(scomp, slink, config, dai);
1650 ret = sof_link_micfil_load(scomp, slink, config, dai);
1653 ret = sof_link_acp_bt_load(scomp, slink, config, dai);
1657 ret = sof_link_acp_sp_load(scomp, slink, config, dai);
1661 ret = sof_link_acp_hs_load(scomp, slink, config, dai);
1664 ret = sof_link_acp_dmic_load(scomp, slink, config, dai);
1667 ret = sof_link_afe_load(scomp, slink, config, dai);
1670 ret = sof_link_acp_sdw_load(scomp, slink, config, dai);
1676 dev_err(scomp->dev, "failed to load config for dai %s\n", dai->name);
1890 struct snd_soc_component *scomp = swidget->scomp;
1891 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp);
1898 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname);
1900 dev_err(scomp->dev, "Cannot find PCM for %s\n", swidget->widget->name);
1937 dev_err(scomp->dev, "%s: PCM params failed for %s\n", __func__,
1946 struct snd_soc_component *scomp = swidget->scomp;
1947 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp);
1959 dev_err(scomp->dev, "%s: Failed to trigger %s\n", __func__, swidget->widget->name);
1968 struct snd_soc_component *scomp;
1976 scomp = swidget->scomp;
1978 dev_dbg(scomp->dev, "received event %d for widget %s\n",
1982 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname);
1984 dev_err(scomp->dev, "%s: Cannot find PCM for %s\n", __func__,
1993 dev_dbg(scomp->dev, "PRE_PMU event ignored, KWD pipeline is already RUNNING\n");
2000 dev_err(scomp->dev, "%s: Failed to set pcm params for widget %s\n",
2008 dev_err(scomp->dev, "%s: Failed to trigger widget %s\n", __func__,
2013 dev_dbg(scomp->dev,
2021 dev_err(scomp->dev, "%s: Failed to trigger widget %s\n", __func__,
2027 dev_err(scomp->dev, "%s: Failed to free PCM for widget %s\n", __func__,
2042 static int sof_ipc3_widget_bind_event(struct snd_soc_component *scomp,
2065 dev_err(scomp->dev, "Invalid event type %d for widget %s\n", event_type,
2531 static int sof_ipc3_parse_manifest(struct snd_soc_component *scomp, int index,
2539 dev_dbg(scomp->dev, "No topology ABI info\n");
2544 dev_err(scomp->dev, "%s: Invalid topology ABI size: %u\n",
2549 dev_info(scomp->dev,
2557 dev_err(scomp->dev, "%s: Incompatible topology ABI version\n", __func__);
2563 dev_err(scomp->dev, "%s: Topology ABI is more recent than kernel\n", __func__);