Lines Matching full:tokens

17 #include <uapi/sound/sof/tokens.h>
40 * sof_update_ipc_object - Parse multiple sets of tokens within the token array associated with the
59 const struct sof_topology_token *tokens; in sof_update_ipc_object() local
72 /* No tokens to match */ in sof_update_ipc_object()
76 tokens = token_list[token_id].tokens; in sof_update_ipc_object()
77 if (!tokens) { in sof_update_ipc_object()
78 dev_err(scomp->dev, "Invalid tokens for token id: %d\n", token_id); in sof_update_ipc_object()
87 if (tokens[i].token == tuples[j].token) { in sof_update_ipc_object()
88 switch (tokens[i].type) { in sof_update_ipc_object()
91 u32 *val = (u32 *)((u8 *)object + tokens[i].offset + in sof_update_ipc_object()
100 u16 *val = (u16 *)((u8 *)object + tokens[i].offset + in sof_update_ipc_object()
108 if (!tokens[i].get_token) { in sof_update_ipc_object()
111 tokens[i].token, token_list[token_id].name); in sof_update_ipc_object()
115 tokens[i].get_token((void *)tuples[j].value.s, object, in sof_update_ipc_object()
116 tokens[i].offset + offset); in sof_update_ipc_object()
437 * sof_parse_uuid_tokens - Parse multiple sets of UUID tokens
441 * @tokens: array of struct sof_topology_token containing the tokens to be matched
442 * @num_tokens: number of tokens in tokens array
445 * This function parses multiple sets of string type tokens in vendor arrays
449 const struct sof_topology_token *tokens, int num_tokens, in sof_parse_uuid_tokens() argument
463 if (tokens[j].type != SND_SOC_TPLG_TUPLE_TYPE_UUID) in sof_parse_uuid_tokens()
467 if (tokens[j].token != le32_to_cpu(elem->token)) in sof_parse_uuid_tokens()
471 tokens[j].get_token(elem, object, in sof_parse_uuid_tokens()
472 offset + tokens[j].offset); in sof_parse_uuid_tokens()
482 * sof_copy_tuples - Parse tokens and copy them to the @tuples array
501 const struct sof_topology_token *tokens; in sof_copy_tuples() local
516 tokens = token_list[token_id].tokens; in sof_copy_tuples()
519 if (!tokens) { in sof_copy_tuples()
524 /* check if there's space in the tuples array for new tokens */ in sof_copy_tuples()
526 dev_err(sdev->dev, "No space in tuples array for new tokens from %s", in sof_copy_tuples()
552 if (!(tokens[j].type == SND_SOC_TPLG_TUPLE_TYPE_WORD || in sof_copy_tuples()
553 tokens[j].type == SND_SOC_TPLG_TUPLE_TYPE_SHORT || in sof_copy_tuples()
554 tokens[j].type == SND_SOC_TPLG_TUPLE_TYPE_BYTE || in sof_copy_tuples()
555 tokens[j].type == SND_SOC_TPLG_TUPLE_TYPE_BOOL || in sof_copy_tuples()
556 tokens[j].type == SND_SOC_TPLG_TUPLE_TYPE_STRING)) in sof_copy_tuples()
559 if (tokens[j].type == SND_SOC_TPLG_TUPLE_TYPE_STRING) { in sof_copy_tuples()
565 if (tokens[j].token != le32_to_cpu(elem->token)) in sof_copy_tuples()
568 tuples[*num_copied_tuples].token = tokens[j].token; in sof_copy_tuples()
576 if (tokens[j].token != le32_to_cpu(elem->token)) in sof_copy_tuples()
579 tuples[*num_copied_tuples].token = tokens[j].token; in sof_copy_tuples()
604 * sof_parse_string_tokens - Parse multiple sets of tokens
608 * @tokens: array of struct sof_topology_token containing the tokens to be matched
609 * @num_tokens: number of tokens in tokens array
612 * This function parses multiple sets of string type tokens in vendor arrays
616 const struct sof_topology_token *tokens, int num_tokens, in sof_parse_string_tokens() argument
630 if (tokens[j].type != SND_SOC_TPLG_TUPLE_TYPE_STRING) in sof_parse_string_tokens()
634 if (tokens[j].token != le32_to_cpu(elem->token)) in sof_parse_string_tokens()
638 ret = tokens[j].get_token(elem->string, object, offset + tokens[j].offset); in sof_parse_string_tokens()
650 * sof_parse_word_tokens - Parse multiple sets of tokens
654 * @tokens: array of struct sof_topology_token containing the tokens to be matched
655 * @num_tokens: number of tokens in tokens array
658 * This function parses multiple sets of word type tokens in vendor arrays
662 const struct sof_topology_token *tokens, int num_tokens, in sof_parse_word_tokens() argument
676 if (!(tokens[j].type == SND_SOC_TPLG_TUPLE_TYPE_WORD || in sof_parse_word_tokens()
677 tokens[j].type == SND_SOC_TPLG_TUPLE_TYPE_SHORT || in sof_parse_word_tokens()
678 tokens[j].type == SND_SOC_TPLG_TUPLE_TYPE_BYTE || in sof_parse_word_tokens()
679 tokens[j].type == SND_SOC_TPLG_TUPLE_TYPE_BOOL)) in sof_parse_word_tokens()
683 if (tokens[j].token != le32_to_cpu(elem->token)) in sof_parse_word_tokens()
687 tokens[j].get_token(elem, object, offset + tokens[j].offset); in sof_parse_word_tokens()
697 * sof_parse_token_sets - Parse multiple sets of tokens
700 * @tokens: token definition array describing what tokens to parse
701 * @count: number of tokens in definition array
704 * @token_instance_num: number of times the same tokens needs to be parsed i.e. the function
705 * looks for @token_instance_num of each token in the @tokens
708 * This function parses multiple sets of tokens in vendor arrays into
712 void *object, const struct sof_topology_token *tokens, in sof_parse_token_sets() argument
743 found += sof_parse_uuid_tokens(scomp, object, offset, tokens, count, in sof_parse_token_sets()
748 ret = sof_parse_string_tokens(scomp, object, offset, tokens, count, in sof_parse_token_sets()
761 found += sof_parse_word_tokens(scomp, object, offset, tokens, count, in sof_parse_token_sets()
786 * sof_parse_tokens - Parse one set of tokens
789 * @tokens: token definition array describing what tokens to parse
790 * @num_tokens: number of tokens in definition array
794 * This function parses a single set of tokens in vendor arrays into
798 const struct sof_topology_token *tokens, int num_tokens, in sof_parse_tokens() argument
809 return sof_parse_token_sets(scomp, object, tokens, num_tokens, array, in sof_parse_tokens()
870 dev_err(scomp->dev, "error: parse led tokens failed %d\n", in sof_control_load_volume()
1232 token_list[object_token_list[i]].tokens, in sof_widget_parse_tokens()
1418 dev_err(scomp->dev, "failed to parse dapm widget tokens for %s\n", in sof_widget_ready()
1427 dev_err(scomp->dev, "failed to parse component pin tokens for %s\n", in sof_widget_ready()
1493 /* check we have some tokens - we need at least process type */ in sof_widget_ready()
1495 dev_err(scomp->dev, "error: process tokens not found\n"); in sof_widget_ready()
1753 dev_err(scomp->dev, "error: parse stream tokens failed %d\n", in sof_dai_load()
1881 /* check we have some tokens - we need at least DAI type */ in sof_link_load()
1883 dev_err(scomp->dev, "error: expected tokens for DAI, none found\n"); in sof_link_load()
1910 dev_err(scomp->dev, "Failed tp parse common DAI link tokens\n"); in sof_link_load()
1983 if (token_list[SOF_DAI_LINK_TOKENS].tokens) { in sof_link_load()
1984 /* parse one set of DAI link tokens */ in sof_link_load()
1995 /* nothing more to do if there are no DAI type-specific tokens defined */ in sof_link_load()
1996 if (!token_id || !token_list[token_id].tokens) in sof_link_load()
1999 /* parse "num_sets" sets of DAI-specific tokens */ in sof_link_load()
2008 /* for DMIC, also parse all sets of DMIC PDM tokens based on active PDM count */ in sof_link_load()