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