Lines Matching refs:comp

126 	int (*parse)(struct snd_soc_component *comp, void *elem, void *object, u32 offset);
130 avs_parse_uuid_token(struct snd_soc_component *comp, void *elem, void *object, u32 offset)
141 avs_parse_bool_token(struct snd_soc_component *comp, void *elem, void *object, u32 offset)
152 avs_parse_byte_token(struct snd_soc_component *comp, void *elem, void *object, u32 offset)
163 avs_parse_short_token(struct snd_soc_component *comp, void *elem, void *object, u32 offset)
174 avs_parse_word_token(struct snd_soc_component *comp, void *elem, void *object, u32 offset)
185 avs_parse_string_token(struct snd_soc_component *comp, void *elem, void *object, u32 offset)
195 static int avs_parse_uuid_tokens(struct snd_soc_component *comp, void *object,
212 ret = parsers[j].parse(comp, tuple, object, parsers[j].offset);
221 static int avs_parse_string_tokens(struct snd_soc_component *comp, void *object,
238 ret = parsers[j].parse(comp, tuple, object, parsers[j].offset);
247 static int avs_parse_word_tokens(struct snd_soc_component *comp, void *object,
269 ret = parsers[j].parse(comp, tuple, object, parsers[j].offset);
278 static int avs_parse_tokens(struct snd_soc_component *comp, void *object,
288 dev_err(comp->dev, "invalid array size 0x%x\n", array_size);
295 dev_err(comp->dev, "invalid array size 0x%x\n", array_size);
301 ret = avs_parse_uuid_tokens(comp, object, parsers, count, tuples);
304 ret = avs_parse_string_tokens(comp, object, parsers, count, tuples);
310 ret = avs_parse_word_tokens(comp, object, parsers, count, tuples);
313 dev_err(comp->dev, "unknown token type %d\n", tuples->type);
318 dev_err(comp->dev, "parsing %zu tokens of %d type failed: %d\n",
331 avs_parse_##name##_ptr(struct snd_soc_component *comp, void *elem, void *object, u32 offset) \
334 struct avs_soc_component *acomp = to_avs_soc_component(comp); \
354 parse_audio_format_bitfield(struct snd_soc_component *comp, void *elem, void *object, u32 offset)
374 static int parse_link_formatted_string(struct snd_soc_component *comp, void *elem,
378 struct snd_soc_acpi_mach *mach = dev_get_platdata(comp->card->dev);
386 return avs_parse_string_token(comp, elem, object, offset);
395 parse_dictionary_header(struct snd_soc_component *comp,
405 dev_err(comp->dev, "invalid dictionary header, expected: %d\n",
411 *dict = devm_kcalloc(comp->card->dev, *num_entries, entry_size, GFP_KERNEL);
419 parse_dictionary_entries(struct snd_soc_component *comp,
437 ret = avs_parse_tokens(comp, pos, parsers, num_parsers, tuples, esize);
439 dev_err(comp->dev, "parse entry: %d of type: %d failed: %d\n",
452 static int parse_dictionary(struct snd_soc_component *comp,
460 ret = parse_dictionary_header(comp, tuples, dict, num_entries,
469 return parse_dictionary_entries(comp, tuples, block_size, *dict,
483 static int avs_tplg_parse_libraries(struct snd_soc_component *comp,
486 struct avs_soc_component *acomp = to_avs_soc_component(comp);
489 return parse_dictionary(comp, tuples, block_size, (void **)&tplg->libs,
547 static int avs_tplg_parse_audio_formats(struct snd_soc_component *comp,
551 struct avs_soc_component *acomp = to_avs_soc_component(comp);
554 return parse_dictionary(comp, tuples, block_size, (void **)&tplg->fmts,
588 static int avs_tplg_parse_modcfgs_base(struct snd_soc_component *comp,
592 struct avs_soc_component *acomp = to_avs_soc_component(comp);
595 return parse_dictionary(comp, tuples, block_size, (void **)&tplg->modcfgs_base,
813 assign_copier_gtw_instance(struct snd_soc_component *comp, struct avs_tplg_modcfg_ext *cfg)
829 mach = dev_get_platdata(comp->card->dev);
836 static int avs_tplg_parse_modcfg_ext(struct snd_soc_component *comp,
850 ret = avs_parse_tokens(comp, cfg, modcfg_ext_parsers,
856 assign_copier_gtw_instance(comp, cfg);
868 pins = devm_kcalloc(comp->card->dev, num_pins, sizeof(*pins), GFP_KERNEL);
873 ret = parse_dictionary_entries(comp, tuples, block_size,
886 static int avs_tplg_parse_modcfgs_ext(struct snd_soc_component *comp,
890 struct avs_soc_component *acomp = to_avs_soc_component(comp);
894 ret = parse_dictionary_header(comp, tuples, (void **)&tplg->modcfgs_ext,
914 ret = avs_tplg_parse_modcfg_ext(comp, cfg, tuples, esize);
958 static int avs_tplg_parse_pplcfgs(struct snd_soc_component *comp,
962 struct avs_soc_component *acomp = to_avs_soc_component(comp);
965 return parse_dictionary(comp, tuples, block_size, (void **)&tplg->pplcfgs,
1023 static int avs_tplg_parse_bindings(struct snd_soc_component *comp,
1027 struct avs_soc_component *acomp = to_avs_soc_component(comp);
1030 return parse_dictionary(comp, tuples, block_size, (void **)&tplg->bindings,
1083 avs_tplg_module_create(struct snd_soc_component *comp, struct avs_tplg_pipeline *owner,
1089 module = devm_kzalloc(comp->card->dev, sizeof(*module), GFP_KERNEL);
1093 ret = avs_parse_tokens(comp, module, module_parsers,
1135 avs_tplg_pipeline_create(struct snd_soc_component *comp, struct avs_tplg_path *owner,
1142 pipeline = devm_kzalloc(comp->card->dev, sizeof(*pipeline), GFP_KERNEL);
1158 ret = avs_parse_tokens(comp, pipeline, pipeline_parsers,
1179 pipeline->bindings = devm_kcalloc(comp->card->dev, pipeline->num_bindings,
1197 module = avs_tplg_module_create(comp, pipeline, tuples, esize);
1199 dev_err(comp->dev, "parse module failed: %ld\n",
1210 ret = parse_dictionary_entries(comp, tuples, block_size, pipeline->bindings,
1242 avs_tplg_path_create(struct snd_soc_component *comp, struct avs_tplg_path_template *owner,
1251 path = devm_kzalloc(comp->card->dev, sizeof(*path), GFP_KERNEL);
1270 ret = avs_parse_tokens(comp, path, parsers, num_parsers, tuples, offset);
1284 pipeline = avs_tplg_pipeline_create(comp, path, tuples, esize);
1286 dev_err(comp->dev, "parse pipeline failed: %ld\n",
1308 static int parse_path_template(struct snd_soc_component *comp,
1325 ret = avs_parse_tokens(comp, template, tmpl_tokens, num_tmpl_tokens, tuples, offset);
1339 path = avs_tplg_path_create(comp, template, tuples, esize, path_tokens,
1342 dev_err(comp->dev, "parse path failed: %ld\n", PTR_ERR(path));
1355 avs_tplg_path_template_create(struct snd_soc_component *comp, struct avs_tplg *owner,
1361 template = devm_kzalloc(comp->card->dev, sizeof(*template), GFP_KERNEL);
1369 ret = parse_path_template(comp, tuples, block_size, template, path_tmpl_parsers,
1378 static int avs_route_load(struct snd_soc_component *comp, int index,
1381 struct snd_soc_acpi_mach *mach = dev_get_platdata(comp->card->dev);
1403 static int avs_widget_load(struct snd_soc_component *comp, int index,
1409 struct avs_soc_component *acomp = to_avs_soc_component(comp);
1416 dev_info_once(comp->dev, "Device does not support S0IX, check BIOS settings\n");
1421 mach = dev_get_platdata(comp->card->dev);
1432 template = avs_tplg_path_template_create(comp, tplg, dw->priv.array,
1435 dev_err(comp->dev, "widget %s load failed: %ld\n", dw->name,
1445 static int avs_widget_ready(struct snd_soc_component *comp, int index,
1455 static int avs_dai_load(struct snd_soc_component *comp, int index,
1464 static int avs_link_load(struct snd_soc_component *comp, int index, struct snd_soc_dai_link *link,
1468 dev_info_once(comp->dev, "Device does not support S0IX, check BIOS settings\n");
1499 static int avs_manifest(struct snd_soc_component *comp, int index,
1503 struct avs_soc_component *acomp = to_avs_soc_component(comp);
1514 dev_err(comp->dev, "incorrect manifest format: %d\n", ret);
1519 ret = avs_parse_tokens(comp, acomp->tplg, manifest_parsers,
1530 dev_err(comp->dev, "audio formats lookup failed: %d\n", ret);
1535 ret = avs_tplg_parse_libraries(comp, tuples, offset);
1545 dev_err(comp->dev, "modcfgs_base lookup failed: %d\n", ret);
1550 ret = avs_tplg_parse_audio_formats(comp, tuples, offset);
1560 dev_err(comp->dev, "modcfgs_ext lookup failed: %d\n", ret);
1565 ret = avs_tplg_parse_modcfgs_base(comp, tuples, offset);
1575 dev_err(comp->dev, "pplcfgs lookup failed: %d\n", ret);
1580 ret = avs_tplg_parse_modcfgs_ext(comp, tuples, offset);
1590 dev_err(comp->dev, "bindings lookup failed: %d\n", ret);
1595 ret = avs_tplg_parse_pplcfgs(comp, tuples, offset);
1603 return avs_tplg_parse_bindings(comp, tuples, remaining);
1626 avs_control_load(struct snd_soc_component *comp, int index, struct snd_kcontrol_new *ctmpl,
1646 ctl_data = devm_kzalloc(comp->card->dev, sizeof(*ctl_data), GFP_KERNEL);
1650 ret = parse_dictionary_entries(comp, tuples, block_size, ctl_data, 1, sizeof(*ctl_data),
1673 struct avs_tplg *avs_tplg_new(struct snd_soc_component *comp)
1677 tplg = devm_kzalloc(comp->card->dev, sizeof(*tplg), GFP_KERNEL);
1681 tplg->comp = comp;
1687 int avs_load_topology(struct snd_soc_component *comp, const char *filename)
1692 ret = request_firmware(&fw, filename, comp->dev);
1694 dev_err(comp->dev, "request topology \"%s\" failed: %d\n", filename, ret);
1698 ret = snd_soc_tplg_component_load(comp, &avs_tplg_ops, fw);
1700 dev_err(comp->dev, "load topology \"%s\" failed: %d\n", filename, ret);
1706 int avs_remove_topology(struct snd_soc_component *comp)
1708 snd_soc_tplg_component_remove(comp);