Lines Matching refs:sg

65 static void audioreach_tplg_add_sub_graph(struct audioreach_sub_graph *sg,
68 list_add_tail(&sg->node, &info->sg_list);
69 sg->info = info;
77 struct audioreach_sub_graph *sg;
85 sg = idr_find(&apm->sub_graphs_idr, sub_graph_id);
88 if (sg) {
90 return sg;
94 sg = kzalloc(sizeof(*sg), GFP_KERNEL);
95 if (!sg)
98 INIT_LIST_HEAD(&sg->container_list);
101 ret = idr_alloc_u32(&apm->sub_graphs_idr, sg, &sub_graph_id, sub_graph_id, GFP_KERNEL);
106 kfree(sg);
110 sg->sub_graph_id = sub_graph_id;
112 return sg;
116 struct audioreach_sub_graph *sg,
153 cont->sub_graph = sg;
155 list_add_tail(&cont->node, &sg->container_list);
156 sg->num_containers++;
314 struct audioreach_sub_graph *sg;
324 sg = audioreach_tplg_alloc_sub_graph(apm, sub_graph_id, &found);
325 if (IS_ERR(sg)) {
326 return sg;
329 return sg;
340 sg->perf_mode = le32_to_cpu(sg_elem->value);
343 sg->direction = le32_to_cpu(sg_elem->value);
346 sg->scenario_id = le32_to_cpu(sg_elem->value);
359 audioreach_tplg_add_sub_graph(sg, info);
361 return sg;
365 struct audioreach_sub_graph *sg,
381 cont = audioreach_tplg_alloc_container(apm, sg, container_id, &found);
576 struct audioreach_sub_graph *sg;
580 sg = audioreach_parse_sg_tokens(apm, &tplg_w->priv);
581 if (IS_ERR(sg))
582 return PTR_ERR(sg);
584 cont = audioreach_parse_cont_tokens(apm, sg, &tplg_w->priv);
926 struct audioreach_sub_graph *sg = cont->sub_graph;
930 sg->num_containers--;
933 if (list_empty(&sg->container_list)) {
934 struct audioreach_graph_info *info = sg->info;
936 idr_remove(&apm->sub_graphs_idr, sg->sub_graph_id);
937 list_del(&sg->node);
939 kfree(sg);