Lines Matching refs:hdr
249 static enum snd_soc_dobj_type get_dobj_type(struct snd_soc_tplg_hdr *hdr, in get_dobj_type() argument
252 switch (hdr->type) { in get_dobj_type()
272 struct snd_soc_tplg_ctl_hdr *hdr, int index) in soc_bind_err() argument
276 hdr->ops.get, hdr->ops.put, hdr->ops.info, index, in soc_bind_err()
281 struct snd_soc_tplg_ctl_hdr *hdr, const char *name) in soc_control_err() argument
285 name, hdr->ops.get, hdr->ops.put, hdr->ops.info, in soc_control_err()
291 struct snd_soc_tplg_hdr *hdr) in soc_tplg_vendor_load_() argument
296 ret = tplg->ops->vendor_load(tplg->comp, hdr); in soc_tplg_vendor_load_()
299 hdr->vendor_type); in soc_tplg_vendor_load_()
308 hdr->type, hdr->vendor_type); in soc_tplg_vendor_load_()
314 struct snd_soc_tplg_hdr *hdr) in soc_tplg_vendor_load() argument
319 return soc_tplg_vendor_load_(tplg, hdr); in soc_tplg_vendor_load()
513 static int soc_tplg_kcontrol_bind_io(struct snd_soc_tplg_ctl_hdr *hdr, in soc_tplg_kcontrol_bind_io() argument
521 if (hdr->ops.info == SND_SOC_TPLG_CTL_BYTES in soc_tplg_kcontrol_bind_io()
529 be = container_of(hdr, struct snd_soc_tplg_bytes_control, hdr); in soc_tplg_kcontrol_bind_io()
557 if (k->put == NULL && ops[i].id == hdr->ops.put) in soc_tplg_kcontrol_bind_io()
559 if (k->get == NULL && ops[i].id == hdr->ops.get) in soc_tplg_kcontrol_bind_io()
561 if (k->info == NULL && ops[i].id == hdr->ops.info) in soc_tplg_kcontrol_bind_io()
574 if (k->put == NULL && ops[i].id == hdr->ops.put) in soc_tplg_kcontrol_bind_io()
576 if (k->get == NULL && ops[i].id == hdr->ops.get) in soc_tplg_kcontrol_bind_io()
578 if (k->info == NULL && ops[i].id == hdr->ops.info) in soc_tplg_kcontrol_bind_io()
615 struct snd_kcontrol_new *k, struct snd_soc_tplg_ctl_hdr *hdr) in soc_tplg_init_kcontrol() argument
618 return tplg->ops->control_load(tplg->comp, k, hdr); in soc_tplg_init_kcontrol()
696 if (strnlen(be->hdr.name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN) == in soc_tplg_dbytes_create()
709 be->hdr.name, be->hdr.access); in soc_tplg_dbytes_create()
712 kc.name = be->hdr.name; in soc_tplg_dbytes_create()
715 kc.access = be->hdr.access; in soc_tplg_dbytes_create()
723 err = soc_tplg_kcontrol_bind_io(&be->hdr, &kc, tplg); in soc_tplg_dbytes_create()
725 soc_control_err(tplg, &be->hdr, be->hdr.name); in soc_tplg_dbytes_create()
735 be->hdr.name); in soc_tplg_dbytes_create()
745 be->hdr.name); in soc_tplg_dbytes_create()
777 if (strnlen(mc->hdr.name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN) == in soc_tplg_dmixer_create()
789 mc->hdr.name, mc->hdr.access); in soc_tplg_dmixer_create()
792 kc.name = mc->hdr.name; in soc_tplg_dmixer_create()
795 kc.access = mc->hdr.access; in soc_tplg_dmixer_create()
817 err = soc_tplg_kcontrol_bind_io(&mc->hdr, &kc, tplg); in soc_tplg_dmixer_create()
819 soc_control_err(tplg, &mc->hdr, mc->hdr.name); in soc_tplg_dmixer_create()
829 mc->hdr.name); in soc_tplg_dmixer_create()
835 soc_tplg_create_tlv(tplg, &kc, &mc->hdr); in soc_tplg_dmixer_create()
842 mc->hdr.name); in soc_tplg_dmixer_create()
926 if (strnlen(ec->hdr.name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN) == in soc_tplg_denum_create()
935 ec->hdr.name, ec->items); in soc_tplg_denum_create()
938 kc.name = ec->hdr.name; in soc_tplg_denum_create()
941 kc.access = ec->hdr.access; in soc_tplg_denum_create()
956 switch (ec->hdr.ops.info) { in soc_tplg_denum_create()
963 ec->hdr.name); in soc_tplg_denum_create()
975 ec->hdr.name); in soc_tplg_denum_create()
983 ec->hdr.ops.info, ec->hdr.name); in soc_tplg_denum_create()
989 err = soc_tplg_kcontrol_bind_io(&ec->hdr, &kc, tplg); in soc_tplg_denum_create()
991 soc_control_err(tplg, &ec->hdr, ec->hdr.name); in soc_tplg_denum_create()
1001 ec->hdr.name); in soc_tplg_denum_create()
1011 ec->hdr.name); in soc_tplg_denum_create()
1023 struct snd_soc_tplg_hdr *hdr) in soc_tplg_kcontrol_elems_load() argument
1029 tplg->pos += hdr->size + hdr->payload_size; in soc_tplg_kcontrol_elems_load()
1033 dev_dbg(tplg->dev, "ASoC: adding %d kcontrols at 0x%lx\n", hdr->count, in soc_tplg_kcontrol_elems_load()
1036 for (i = 0; i < hdr->count; i++) { in soc_tplg_kcontrol_elems_load()
1048 soc_tplg_dmixer_create(tplg, 1, hdr->payload_size); in soc_tplg_kcontrol_elems_load()
1055 soc_tplg_denum_create(tplg, 1, hdr->payload_size); in soc_tplg_kcontrol_elems_load()
1058 soc_tplg_dbytes_create(tplg, 1, hdr->payload_size); in soc_tplg_kcontrol_elems_load()
1070 struct snd_soc_tplg_hdr *hdr) in soc_tplg_dapm_graph_elems_load() argument
1075 int count = hdr->count, i; in soc_tplg_dapm_graph_elems_load()
1078 tplg->pos += hdr->size + hdr->payload_size; in soc_tplg_dapm_graph_elems_load()
1084 count, hdr->payload_size, "graph")) { in soc_tplg_dapm_graph_elems_load()
1145 if (strnlen(mc->hdr.name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN) == in soc_tplg_dapm_widget_dmixer_create()
1150 mc->hdr.name, i); in soc_tplg_dapm_widget_dmixer_create()
1152 kc[i].name = mc->hdr.name; in soc_tplg_dapm_widget_dmixer_create()
1155 kc[i].access = mc->hdr.access; in soc_tplg_dapm_widget_dmixer_create()
1175 err = soc_tplg_kcontrol_bind_io(&mc->hdr, &kc[i], tplg); in soc_tplg_dapm_widget_dmixer_create()
1177 soc_control_err(tplg, &mc->hdr, mc->hdr.name); in soc_tplg_dapm_widget_dmixer_create()
1187 mc->hdr.name); in soc_tplg_dapm_widget_dmixer_create()
1216 if (strnlen(ec->hdr.name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN) == in soc_tplg_dapm_widget_denum_create()
1229 ec->hdr.name); in soc_tplg_dapm_widget_denum_create()
1231 kc->name = ec->hdr.name; in soc_tplg_dapm_widget_denum_create()
1234 kc->access = ec->hdr.access; in soc_tplg_dapm_widget_denum_create()
1245 switch (ec->hdr.ops.info) { in soc_tplg_dapm_widget_denum_create()
1251 ec->hdr.name); in soc_tplg_dapm_widget_denum_create()
1261 ec->hdr.name); in soc_tplg_dapm_widget_denum_create()
1267 ec->hdr.ops.info, ec->hdr.name); in soc_tplg_dapm_widget_denum_create()
1272 err = soc_tplg_kcontrol_bind_io(&ec->hdr, kc, tplg); in soc_tplg_dapm_widget_denum_create()
1274 soc_control_err(tplg, &ec->hdr, ec->hdr.name); in soc_tplg_dapm_widget_denum_create()
1283 ec->hdr.name); in soc_tplg_dapm_widget_denum_create()
1318 if (strnlen(be->hdr.name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN) == in soc_tplg_dapm_widget_dbytes_create()
1331 be->hdr.name, be->hdr.access); in soc_tplg_dapm_widget_dbytes_create()
1333 kc[i].name = be->hdr.name; in soc_tplg_dapm_widget_dbytes_create()
1336 kc[i].access = be->hdr.access; in soc_tplg_dapm_widget_dbytes_create()
1342 err = soc_tplg_kcontrol_bind_io(&be->hdr, &kc[i], tplg); in soc_tplg_dapm_widget_dbytes_create()
1344 soc_control_err(tplg, &be->hdr, be->hdr.name); in soc_tplg_dapm_widget_dbytes_create()
1354 be->hdr.name); in soc_tplg_dapm_widget_dbytes_create()
1504 struct snd_soc_tplg_hdr *hdr) in soc_tplg_dapm_widget_elems_load() argument
1507 int ret, count = hdr->count, i; in soc_tplg_dapm_widget_elems_load()
1548 struct snd_soc_tplg_hdr *hdr) in soc_tplg_pcm_dai_elems_load() argument
1552 int count = hdr->count; in soc_tplg_pcm_dai_elems_load()
1562 hdr->payload_size, "PCM DAI")) { in soc_tplg_pcm_dai_elems_load()
1582 dobj->type = get_dobj_type(hdr, NULL); in soc_tplg_pcm_dai_elems_load()
1596 struct snd_soc_tplg_hdr *hdr) in soc_tplg_manifest_load() argument
1615 struct snd_soc_tplg_hdr *hdr) in soc_valid_header() argument
1621 if (hdr->magic == cpu_to_be32(SND_SOC_TPLG_MAGIC)) { in soc_valid_header()
1624 tplg->pass, hdr->magic, in soc_valid_header()
1629 if (hdr->magic != SND_SOC_TPLG_MAGIC) { in soc_valid_header()
1632 tplg->pass, hdr->magic, in soc_valid_header()
1637 if (hdr->abi != SND_SOC_TPLG_ABI_VERSION) { in soc_valid_header()
1640 tplg->pass, hdr->abi, in soc_valid_header()
1646 if (hdr->payload_size == 0) { in soc_valid_header()
1652 if (tplg->pass == hdr->type) in soc_valid_header()
1655 hdr->payload_size, hdr->type, hdr->version, in soc_valid_header()
1656 hdr->vendor_type, tplg->pass); in soc_valid_header()
1663 struct snd_soc_tplg_hdr *hdr) in soc_tplg_load_header() argument
1668 if (hdr->index != tplg->req_index && in soc_tplg_load_header()
1669 hdr->index != SND_SOC_TPLG_INDEX_ALL) in soc_tplg_load_header()
1672 tplg->index = hdr->index; in soc_tplg_load_header()
1674 switch (hdr->type) { in soc_tplg_load_header()
1678 return soc_tplg_kcontrol_elems_load(tplg, hdr); in soc_tplg_load_header()
1680 return soc_tplg_dapm_graph_elems_load(tplg, hdr); in soc_tplg_load_header()
1682 return soc_tplg_dapm_widget_elems_load(tplg, hdr); in soc_tplg_load_header()
1686 return soc_tplg_pcm_dai_elems_load(tplg, hdr); in soc_tplg_load_header()
1688 return soc_tplg_manifest_load(tplg, hdr); in soc_tplg_load_header()
1691 return soc_tplg_vendor_load(tplg, hdr); in soc_tplg_load_header()
1700 struct snd_soc_tplg_hdr *hdr; in soc_tplg_process_headers() local
1709 hdr = (struct snd_soc_tplg_hdr *)tplg->hdr_pos; in soc_tplg_process_headers()
1714 ret = soc_valid_header(tplg, hdr); in soc_tplg_process_headers()
1721 ret = soc_tplg_load_header(tplg, hdr); in soc_tplg_process_headers()
1726 tplg->hdr_pos += hdr->payload_size + in soc_tplg_process_headers()
1728 hdr = (struct snd_soc_tplg_hdr *)tplg->hdr_pos; in soc_tplg_process_headers()