Lines Matching defs:tplg
108 static int tplg_save_access(snd_tplg_t *tplg ATTRIBUTE_UNUSED,
161 static int tplg_build_mixer_control(snd_tplg_t *tplg,
178 ref->elem = tplg_elem_lookup(&tplg->tlv_list,
184 err = tplg_copy_data(tplg, elem, ref);
212 static int tplg_build_enum_control(snd_tplg_t *tplg,
228 ref->elem = tplg_elem_lookup(&tplg->text_list,
234 err = tplg_copy_data(tplg, elem, ref);
249 static int tplg_build_bytes_control(snd_tplg_t *tplg, struct tplg_elem *elem)
264 err = tplg_copy_data(tplg, elem, ref);
273 int tplg_build_controls(snd_tplg_t *tplg)
279 base = &tplg->mixer_list;
283 err = tplg_build_mixer_control(tplg, elem);
288 tplg->manifest.control_elems++;
291 base = &tplg->enum_list;
295 err = tplg_build_enum_control(tplg, elem);
300 tplg->manifest.control_elems++;
303 base = &tplg->bytes_ext_list;
307 err = tplg_build_bytes_control(tplg, elem);
312 tplg->manifest.control_elems++;
368 int tplg_parse_tlv(snd_tplg_t *tplg, snd_config_t *cfg,
377 elem = tplg_elem_new_common(tplg, cfg, NULL, SND_TPLG_TYPE_TLV);
401 int tplg_save_tlv(snd_tplg_t *tplg ATTRIBUTE_UNUSED,
432 int tplg_parse_control_bytes(snd_tplg_t *tplg,
444 elem = tplg_elem_new_common(tplg, cfg, NULL, SND_TPLG_TYPE_BYTES);
523 err = tplg_parse_compound(tplg, n, tplg_parse_ops,
531 err = tplg_parse_compound(tplg, n, tplg_parse_ext_ops,
559 int tplg_save_control_bytes(snd_tplg_t *tplg ATTRIBUTE_UNUSED,
585 err = tplg_save_ops(tplg, &be->hdr, dst, pfx2);
587 err = tplg_save_ext_ops(tplg, be, dst, pfx2);
589 err = tplg_save_access(tplg, &be->hdr, dst, pfx2);
591 err = tplg_save_refs(tplg, elem, SND_TPLG_TYPE_TLV,
594 err = tplg_save_refs(tplg, elem, SND_TPLG_TYPE_DATA,
602 int tplg_parse_control_enum(snd_tplg_t *tplg, snd_config_t *cfg,
613 elem = tplg_elem_new_common(tplg, cfg, NULL, SND_TPLG_TYPE_ENUM);
621 tplg->channel_idx = 0;
657 err = tplg_parse_compound(tplg, n, tplg_parse_channel,
662 ec->num_channels = tplg->channel_idx;
667 err = tplg_parse_compound(tplg, n, tplg_parse_ops,
699 int tplg_save_control_enum(snd_tplg_t *tplg ATTRIBUTE_UNUSED,
717 err = tplg_save_refs(tplg, elem, SND_TPLG_TYPE_TEXT,
720 err = tplg_save_channels(tplg, ec->channel, ec->num_channels,
723 err = tplg_save_ops(tplg, &ec->hdr, dst, pfx2);
725 err = tplg_save_access(tplg, &ec->hdr, dst, pfx2);
727 err = tplg_save_refs(tplg, elem, SND_TPLG_TYPE_DATA,
738 int tplg_parse_control_mixer(snd_tplg_t *tplg,
750 elem = tplg_elem_new_common(tplg, cfg, NULL, SND_TPLG_TYPE_MIXER);
759 tplg->channel_idx = 0;
785 err = tplg_parse_compound(tplg, n, tplg_parse_channel,
790 mc->num_channels = tplg->channel_idx;
814 err = tplg_parse_compound(tplg, n, tplg_parse_ops,
861 int tplg_save_control_mixer(snd_tplg_t *tplg ATTRIBUTE_UNUSED,
878 err = tplg_save_channels(tplg, mc->channel, mc->num_channels,
887 err = tplg_save_ops(tplg, &mc->hdr, dst, pfx2);
889 err = tplg_save_access(tplg, &mc->hdr, dst, pfx2);
891 err = tplg_save_refs(tplg, elem, SND_TPLG_TYPE_TLV,
894 err = tplg_save_refs(tplg, elem, SND_TPLG_TYPE_DATA,
901 static int init_ctl_hdr(snd_tplg_t *tplg,
943 elem = tplg_elem_new_common(tplg, NULL, parent->id,
977 int tplg_add_mixer(snd_tplg_t *tplg, struct snd_tplg_mixer_template *mixer,
992 elem = tplg_elem_new_common(tplg, NULL, mixer->hdr.name,
1000 ret = init_ctl_hdr(tplg, elem, &mc->hdr, &mixer->hdr);
1030 ret = tplg_add_data(tplg, elem, priv,
1041 int tplg_add_enum(snd_tplg_t *tplg, struct snd_tplg_enum_template *enum_ctl,
1056 elem = tplg_elem_new_common(tplg, NULL, enum_ctl->hdr.name,
1063 ret = init_ctl_hdr(tplg, elem, &ec->hdr, &enum_ctl->hdr);
1092 struct tplg_elem *texts = tplg_elem_new_common(tplg, NULL,
1121 ret = tplg_add_data(tplg, elem, priv,
1132 int tplg_add_bytes(snd_tplg_t *tplg, struct snd_tplg_bytes_template *bytes_ctl,
1147 elem = tplg_elem_new_common(tplg, NULL, bytes_ctl->hdr.name,
1154 ret = init_ctl_hdr(tplg, elem, &be->hdr, &bytes_ctl->hdr);
1170 ret = tplg_add_data(tplg, elem, priv,
1197 int tplg_add_mixer_object(snd_tplg_t *tplg, snd_tplg_obj_template_t *t)
1199 return tplg_add_mixer(tplg, t->mixer, NULL);
1202 int tplg_add_enum_object(snd_tplg_t *tplg, snd_tplg_obj_template_t *t)
1204 return tplg_add_enum(tplg, t->enum_ctl, NULL);
1207 int tplg_add_bytes_object(snd_tplg_t *tplg, snd_tplg_obj_template_t *t)
1209 return tplg_add_bytes(tplg, t->bytes_ctl, NULL);
1212 int tplg_decode_control_mixer1(snd_tplg_t *tplg,
1228 tplg_log(tplg, 'D', pos, "mixer: size %d TLV size %d private size %d",
1245 tplg_log(tplg, 'D', pos, "mixer: name '%s' access 0x%x",
1273 tplg_log(tplg, 'D', pos, "mixer: dB scale TLV: min %d step %d mute %d",
1281 tplg_log(tplg, 'D', pos + offsetof(struct snd_soc_tplg_mixer_control, priv),
1286 int tplg_decode_control_mixer(snd_tplg_t *tplg,
1298 err = tplg_decode_template(tplg, pos, hdr, &t);
1316 err = tplg_decode_control_mixer1(tplg, &heap, &mt, pos, bin, size2);
1319 err = snd_tplg_add_object(tplg, &t);
1335 int tplg_decode_control_enum1(snd_tplg_t *tplg,
1378 tplg_log(tplg, 'D', pos + ((void *)&ec->channel[i] - (void *)ec),
1389 int tplg_decode_control_enum(snd_tplg_t *tplg,
1401 err = tplg_decode_template(tplg, pos, hdr, &t);
1419 tplg_log(tplg, 'D', pos, "enum: size %d private size %d",
1422 err = tplg_decode_control_enum1(tplg, &heap, &et, pos, ec);
1425 err = snd_tplg_add_object(tplg, &t);
1441 int tplg_decode_control_bytes1(snd_tplg_t *tplg,
1453 tplg_log(tplg, 'D', pos, "control bytes: size %d private size %d",
1474 tplg_log(tplg, 'D', pos, "control bytes: name '%s' access 0x%x",
1481 int tplg_decode_control_bytes(snd_tplg_t *tplg,
1492 err = tplg_decode_template(tplg, pos, hdr, &t);
1509 err = tplg_decode_control_bytes1(tplg, &bt, pos, bin, size);
1514 err = snd_tplg_add_object(tplg, &t);