Lines Matching defs:swidget
58 static int ipc_pcm_params(struct snd_sof_widget *swidget, int dir)
61 struct snd_soc_component *scomp = swidget->scomp;
71 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname);
74 swidget->widget->name);
83 pcm.comp_id = swidget->comp_id;
112 swidget->widget->name);
118 static int ipc_trigger(struct snd_sof_widget *swidget, int cmd)
120 struct snd_soc_component *scomp = swidget->scomp;
129 stream.comp_id = swidget->comp_id;
136 swidget->widget->name);
144 struct snd_sof_widget *swidget = w->dobj.private;
150 if (!swidget)
153 scomp = swidget->scomp;
159 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname);
162 swidget->widget->name);
175 ret = ipc_pcm_params(swidget, stream);
179 swidget->widget->name);
184 ret = ipc_trigger(swidget, SOF_IPC_STREAM_TRIG_START);
188 swidget->widget->name);
197 ret = ipc_trigger(swidget, SOF_IPC_STREAM_TRIG_STOP);
201 swidget->widget->name);
204 ret = ipc_trigger(swidget, SOF_IPC_STREAM_PCM_FREE);
208 swidget->widget->name);
1360 const struct snd_sof_widget *swidget)
1365 if (swidget->id == snd_soc_dapm_scheduler) {
1366 pipeline = swidget->private;
1368 pipeline = snd_sof_pipeline_find(sdev, swidget->pipeline_id);
1378 return sof_core_enable(sdev, swidget->core);
1464 * @swidget: pointer to struct snd_sof_widget containing extended data
1471 static struct sof_ipc_comp *sof_comp_alloc(struct snd_sof_widget *swidget,
1479 if (memcmp(&swidget->comp_ext, nil_uuid, SOF_UUID_SIZE))
1480 total_size += sizeof(swidget->comp_ext);
1489 comp->id = swidget->comp_id;
1491 comp->core = swidget->core;
1496 memcpy((u8 *)comp + *ipc_size, &swidget->comp_ext, sizeof(swidget->comp_ext));
1497 comp->ext_data_length = sizeof(swidget->comp_ext);
1506 struct snd_sof_widget *swidget,
1518 sof_comp_alloc(swidget, &ipc_size, index);
1545 swidget->widget->name, comp_dai->type, comp_dai->dai_index);
1572 struct snd_sof_widget *swidget,
1588 buffer->comp.id = swidget->comp_id;
1591 buffer->comp.core = swidget->core;
1604 swidget->widget->name, buffer->size, buffer->caps);
1606 swidget->private = buffer;
1612 swidget->widget->name);
1643 struct snd_sof_widget *swidget,
1655 sof_comp_alloc(swidget, &ipc_size, index);
1682 dev_dbg(scomp->dev, "loaded host %s\n", swidget->widget->name);
1685 swidget->private = host;
1718 struct snd_sof_widget *swidget,
1735 pipeline->comp_id = swidget->comp_id;
1761 swidget->widget->name, pipeline->period, pipeline->priority,
1764 swidget->private = pipeline;
1780 struct snd_sof_widget *swidget,
1791 sof_comp_alloc(swidget, &ipc_size, index);
1811 swidget->private = mixer;
1825 struct snd_sof_widget *swidget,
1836 sof_comp_alloc(swidget, &ipc_size, index);
1856 swidget->private = mux;
1871 struct snd_sof_widget *swidget,
1885 sof_comp_alloc(swidget, &ipc_size, index);
1919 swidget->private = volume;
1922 if (scontrol->comp_id == swidget->comp_id &&
1947 struct snd_sof_widget *swidget,
1958 sof_comp_alloc(swidget, &ipc_size, index);
1985 swidget->widget->name, src->source_rate, src->sink_rate);
1988 swidget->private = src;
2004 struct snd_sof_widget *swidget,
2015 sof_comp_alloc(swidget, &ipc_size, index);
2043 swidget->widget->name, asrc->source_rate, asrc->sink_rate,
2047 swidget->private = asrc;
2063 struct snd_sof_widget *swidget,
2074 sof_comp_alloc(swidget, &ipc_size, index);
2101 swidget->widget->name, tone->frequency, tone->amplitude);
2104 swidget->private = tone;
2188 struct snd_sof_widget *swidget,
2194 struct snd_soc_dapm_widget *widget = swidget->widget;
2230 sof_comp_alloc(swidget, &ipc_size, index);
2266 swidget->private = process;
2308 struct snd_sof_widget *swidget,
2323 config.comp.core = swidget->core;
2336 ret = sof_process_load(scomp, index, swidget, tw, r,
2347 struct snd_sof_widget *swidget,
2356 if (swidget->id != snd_soc_dapm_effect)
2359 ipc_comp = swidget->private;
2364 return snd_soc_tplg_widget_bind_event(swidget->widget,
2374 event_type, swidget->widget->name);
2384 struct snd_sof_widget *swidget;
2393 swidget = kzalloc(sizeof(*swidget), GFP_KERNEL);
2394 if (!swidget)
2397 swidget->scomp = scomp;
2398 swidget->widget = w;
2399 swidget->comp_id = sdev->next_comp_id++;
2400 swidget->complete = 0;
2401 swidget->id = w->id;
2402 swidget->pipeline_id = index;
2403 swidget->private = NULL;
2407 swidget->comp_id, index, swidget->id, tw->name,
2417 kfree(swidget);
2421 swidget->core = comp.core;
2427 kfree(swidget);
2431 ret = sof_parse_tokens(scomp, &swidget->comp_ext, comp_ext_tokens,
2437 kfree(swidget);
2447 kfree(swidget);
2451 ret = sof_widget_load_dai(scomp, index, swidget, tw, &reply, dai);
2455 swidget->private = dai;
2461 ret = sof_widget_load_mixer(scomp, index, swidget, tw, &reply);
2464 ret = sof_widget_load_pga(scomp, index, swidget, tw, &reply);
2467 if (scontrol->comp_id == swidget->comp_id) {
2474 ret = sof_widget_load_buffer(scomp, index, swidget, tw, &reply);
2477 ret = sof_widget_load_pipeline(scomp, index, swidget, tw, &reply);
2480 ret = sof_widget_load_pcm(scomp, index, swidget,
2484 ret = sof_widget_load_pcm(scomp, index, swidget,
2488 ret = sof_widget_load_src(scomp, index, swidget, tw, &reply);
2491 ret = sof_widget_load_asrc(scomp, index, swidget, tw, &reply);
2494 ret = sof_widget_load_siggen(scomp, index, swidget, tw, &reply);
2497 ret = sof_widget_load_process(scomp, index, swidget, tw, &reply);
2501 ret = sof_widget_load_mux(scomp, index, swidget, tw, &reply);
2507 dev_dbg(scomp->dev, "widget type %d name %s not handled\n", swidget->id, tw->name);
2515 tw->shift, swidget->id, tw->name,
2518 kfree(swidget);
2524 ret = sof_widget_bind_event(scomp, swidget,
2528 kfree(swidget->private);
2529 kfree(swidget);
2534 w->dobj.private = swidget;
2535 list_add(&swidget->list, &sdev->widget_list);
2564 struct snd_sof_widget *swidget;
2572 swidget = dobj->private;
2573 if (!swidget)
2576 widget = swidget->widget;
2578 switch (swidget->id) {
2581 dai = swidget->private;
2592 pipeline = swidget->private;
2642 kfree(swidget->private);
2644 /* remove and free swidget object */
2645 list_del(&swidget->list);
2646 kfree(swidget);
3584 struct snd_sof_widget *swidget)
3592 swidget->widget->name, swidget->comp_id);
3597 ready.comp_id = swidget->comp_id;
3611 struct snd_sof_widget *swidget;
3614 list_for_each_entry(swidget, &sdev->widget_list, list) {
3615 if (swidget->complete)
3618 switch (swidget->id) {
3620 swidget->complete =
3621 snd_sof_complete_pipeline(scomp->dev, swidget);