Lines Matching full:pipeline
149 [SOF_PIPELINE_TOKENS] = {"Pipeline tokens", pipeline_tokens, ARRAY_SIZE(pipeline_tokens)},
515 struct sof_ipc4_pipeline *pipeline; in sof_ipc4_widget_setup_comp_dai() local
554 pipeline = pipe_widget->private; in sof_ipc4_widget_setup_comp_dai()
555 if (pipeline->use_chain_dma && ipc4_copier->dai_type != SOF_DAI_INTEL_HDA) { in sof_ipc4_widget_setup_comp_dai()
678 struct sof_ipc4_pipeline *pipeline; in sof_ipc4_widget_setup_comp_pipeline() local
682 pipeline = kzalloc(sizeof(*pipeline), GFP_KERNEL); in sof_ipc4_widget_setup_comp_pipeline()
683 if (!pipeline) in sof_ipc4_widget_setup_comp_pipeline()
686 ret = sof_update_ipc_object(scomp, pipeline, SOF_SCHED_TOKENS, swidget->tuples, in sof_ipc4_widget_setup_comp_pipeline()
687 swidget->num_tuples, sizeof(*pipeline), 1); in sof_ipc4_widget_setup_comp_pipeline()
693 swidget->core = pipeline->core_id; in sof_ipc4_widget_setup_comp_pipeline()
694 spipe->core_mask |= BIT(pipeline->core_id); in sof_ipc4_widget_setup_comp_pipeline()
696 if (pipeline->use_chain_dma) { in sof_ipc4_widget_setup_comp_pipeline()
698 swidget->private = pipeline; in sof_ipc4_widget_setup_comp_pipeline()
702 /* parse one set of pipeline tokens */ in sof_ipc4_widget_setup_comp_pipeline()
706 dev_err(scomp->dev, "parsing pipeline tokens failed\n"); in sof_ipc4_widget_setup_comp_pipeline()
710 dev_dbg(scomp->dev, "pipeline '%s': id %d, pri %d, core_id %u, lp mode %d\n", in sof_ipc4_widget_setup_comp_pipeline()
712 pipeline->priority, pipeline->core_id, pipeline->lp_mode); in sof_ipc4_widget_setup_comp_pipeline()
714 swidget->private = pipeline; in sof_ipc4_widget_setup_comp_pipeline()
716 pipeline->msg.primary = SOF_IPC4_GLB_PIPE_PRIORITY(pipeline->priority); in sof_ipc4_widget_setup_comp_pipeline()
717 pipeline->msg.primary |= SOF_IPC4_MSG_TYPE_SET(SOF_IPC4_GLB_CREATE_PIPELINE); in sof_ipc4_widget_setup_comp_pipeline()
718 pipeline->msg.primary |= SOF_IPC4_MSG_DIR(SOF_IPC4_MSG_REQUEST); in sof_ipc4_widget_setup_comp_pipeline()
719 pipeline->msg.primary |= SOF_IPC4_MSG_TARGET(SOF_IPC4_FW_GEN_MSG); in sof_ipc4_widget_setup_comp_pipeline()
721 pipeline->msg.extension = pipeline->lp_mode; in sof_ipc4_widget_setup_comp_pipeline()
722 pipeline->msg.extension |= SOF_IPC4_GLB_PIPE_EXT_CORE_ID(pipeline->core_id); in sof_ipc4_widget_setup_comp_pipeline()
723 pipeline->state = SOF_IPC4_PIPE_UNINITIALIZED; in sof_ipc4_widget_setup_comp_pipeline()
727 kfree(pipeline); in sof_ipc4_widget_setup_comp_pipeline()
950 /* set pipeline core mask to keep track of the core the module is scheduled to run on */ in sof_ipc4_widget_setup_comp_process()
985 struct sof_ipc4_pipeline *pipeline; in sof_ipc4_update_resource_usage() local
1010 pipeline = pipe_widget->private; in sof_ipc4_update_resource_usage()
1011 pipeline->mem_usage += total; in sof_ipc4_update_resource_usage()
1249 struct sof_ipc4_pipeline *pipeline; in sof_ipc4_unprepare_copier_module() local
1251 /* reset pipeline memory usage */ in sof_ipc4_unprepare_copier_module()
1253 pipeline = pipe_widget->private; in sof_ipc4_unprepare_copier_module()
1254 pipeline->mem_usage = 0; in sof_ipc4_unprepare_copier_module()
1257 if (pipeline->use_chain_dma) { in sof_ipc4_unprepare_copier_module()
1258 pipeline->msg.primary = 0; in sof_ipc4_unprepare_copier_module()
1259 pipeline->msg.extension = 0; in sof_ipc4_unprepare_copier_module()
1267 if (pipeline->use_chain_dma) { in sof_ipc4_unprepare_copier_module()
1268 pipeline->msg.primary = 0; in sof_ipc4_unprepare_copier_module()
1269 pipeline->msg.extension = 0; in sof_ipc4_unprepare_copier_module()
1459 struct sof_ipc4_pipeline *pipeline; in sof_ipc4_prepare_copier_module() local
1477 pipeline = pipe_widget->private; in sof_ipc4_prepare_copier_module()
1479 if (pipeline->use_chain_dma) { in sof_ipc4_prepare_copier_module()
1484 pipeline->msg.primary |= SOF_IPC4_GLB_CHAIN_DMA_HOST_ID(host_dma_id); in sof_ipc4_prepare_copier_module()
1488 pipeline->msg.primary |= SOF_IPC4_GLB_CHAIN_DMA_SCS_MASK; in sof_ipc4_prepare_copier_module()
1498 pipeline->msg.extension |= SOF_IPC4_GLB_EXT_CHAIN_DMA_FIFO_SIZE(fifo_size); in sof_ipc4_prepare_copier_module()
1523 gtw_attr->lp_buffer_alloc = pipeline->lp_mode; in sof_ipc4_prepare_copier_module()
1530 struct sof_ipc4_pipeline *pipeline = pipe_widget->private; in sof_ipc4_prepare_copier_module() local
1532 if (pipeline->use_chain_dma) in sof_ipc4_prepare_copier_module()
1542 * When there is format conversion within a pipeline, the number of supported in sof_ipc4_prepare_copier_module()
1545 * FE hw_params for capture and the pipeline params for playback. in sof_ipc4_prepare_copier_module()
1812 /* update pipeline memory usage */ in sof_ipc4_prepare_copier_module()
1867 /* update pipeline memory usage */ in sof_ipc4_prepare_gain_module()
1904 /* update pipeline memory usage */ in sof_ipc4_prepare_mixer_module()
1963 /* update pipeline memory usage */ in sof_ipc4_prepare_src_module()
2093 /* modify the pipeline params with the pin 0 output format */ in sof_ipc4_prepare_process_module()
2099 /* update pipeline memory usage */ in sof_ipc4_prepare_process_module()
2279 struct sof_ipc4_pipeline *pipeline; in sof_ipc4_widget_setup() local
2287 pipeline = swidget->private; in sof_ipc4_widget_setup()
2289 if (pipeline->use_chain_dma) { in sof_ipc4_widget_setup()
2295 dev_dbg(sdev->dev, "pipeline: %d memory pages: %d\n", swidget->pipeline_id, in sof_ipc4_widget_setup()
2296 pipeline->mem_usage); in sof_ipc4_widget_setup()
2298 msg = &pipeline->msg; in sof_ipc4_widget_setup()
2299 msg->primary |= pipeline->mem_usage; in sof_ipc4_widget_setup()
2304 dev_err(sdev->dev, "failed to assign pipeline id for %s: %d\n", in sof_ipc4_widget_setup()
2317 pipeline = pipe_widget->private; in sof_ipc4_widget_setup()
2318 if (pipeline->use_chain_dma) in sof_ipc4_widget_setup()
2333 pipeline = pipe_widget->private; in sof_ipc4_widget_setup()
2334 if (pipeline->use_chain_dma) in sof_ipc4_widget_setup()
2417 dev_dbg(sdev->dev, "Create pipeline %s (pipe %d) - instance %d, core %d\n", in sof_ipc4_widget_setup()
2449 /* freeing a pipeline frees all the widgets associated with it */ in sof_ipc4_widget_free()
2451 struct sof_ipc4_pipeline *pipeline = swidget->private; in sof_ipc4_widget_free() local
2455 if (pipeline->use_chain_dma) { in sof_ipc4_widget_free()
2471 dev_err(sdev->dev, "failed to free pipeline widget %s\n", in sof_ipc4_widget_free()
2474 pipeline->mem_usage = 0; in sof_ipc4_widget_free()
2475 pipeline->state = SOF_IPC4_PIPE_UNINITIALIZED; in sof_ipc4_widget_free()
2480 struct sof_ipc4_pipeline *pipeline = pipe_widget->private; in sof_ipc4_widget_free() local
2482 if (!pipeline->use_chain_dma) in sof_ipc4_widget_free()
2745 * routes belonging to the same pipeline will be disconnected by the FW when the pipeline in sof_ipc4_route_free()
2781 struct sof_ipc4_pipeline *pipeline = pipe_widget->private; in sof_ipc4_dai_config() local
2801 if (pipeline->use_chain_dma) { in sof_ipc4_dai_config()
2802 pipeline->msg.primary &= ~SOF_IPC4_GLB_CHAIN_DMA_LINK_ID_MASK; in sof_ipc4_dai_config()
2803 pipeline->msg.primary |= SOF_IPC4_GLB_CHAIN_DMA_LINK_ID(data->dai_data); in sof_ipc4_dai_config()
2807 gtw_attr->lp_buffer_alloc = pipeline->lp_mode; in sof_ipc4_dai_config()