Lines Matching refs:pipeline
493 struct sof_ipc4_pipeline *pipeline;
532 pipeline = pipe_widget->private;
533 if (pipeline->use_chain_dma && ipc4_copier->dai_type != SOF_DAI_INTEL_HDA) {
656 struct sof_ipc4_pipeline *pipeline;
660 pipeline = kzalloc(sizeof(*pipeline), GFP_KERNEL);
661 if (!pipeline)
664 ret = sof_update_ipc_object(scomp, pipeline, SOF_SCHED_TOKENS, swidget->tuples,
665 swidget->num_tuples, sizeof(*pipeline), 1);
671 swidget->core = pipeline->core_id;
672 spipe->core_mask |= BIT(pipeline->core_id);
674 if (pipeline->use_chain_dma) {
676 swidget->private = pipeline;
680 /* parse one set of pipeline tokens */
684 dev_err(scomp->dev, "parsing pipeline tokens failed\n");
689 pipeline->priority = 0;
691 dev_dbg(scomp->dev, "pipeline '%s': id %d, pri %d, core_id %u, lp mode %d\n",
693 pipeline->priority, pipeline->core_id, pipeline->lp_mode);
695 swidget->private = pipeline;
697 pipeline->msg.primary = SOF_IPC4_GLB_PIPE_PRIORITY(pipeline->priority);
698 pipeline->msg.primary |= SOF_IPC4_MSG_TYPE_SET(SOF_IPC4_GLB_CREATE_PIPELINE);
699 pipeline->msg.primary |= SOF_IPC4_MSG_DIR(SOF_IPC4_MSG_REQUEST);
700 pipeline->msg.primary |= SOF_IPC4_MSG_TARGET(SOF_IPC4_FW_GEN_MSG);
702 pipeline->msg.extension = pipeline->lp_mode;
703 pipeline->msg.extension |= SOF_IPC4_GLB_PIPE_EXT_CORE_ID(pipeline->core_id);
704 pipeline->state = SOF_IPC4_PIPE_UNINITIALIZED;
708 kfree(pipeline);
931 /* set pipeline core mask to keep track of the core the module is scheduled to run on */
966 struct sof_ipc4_pipeline *pipeline;
991 pipeline = pipe_widget->private;
992 pipeline->mem_usage += total;
1230 struct sof_ipc4_pipeline *pipeline;
1232 /* reset pipeline memory usage */
1234 pipeline = pipe_widget->private;
1235 pipeline->mem_usage = 0;
1238 if (pipeline->use_chain_dma) {
1239 pipeline->msg.primary = 0;
1240 pipeline->msg.extension = 0;
1248 if (pipeline->use_chain_dma) {
1249 pipeline->msg.primary = 0;
1250 pipeline->msg.extension = 0;
1440 struct sof_ipc4_pipeline *pipeline;
1458 pipeline = pipe_widget->private;
1460 if (pipeline->use_chain_dma) {
1465 pipeline->msg.primary |= SOF_IPC4_GLB_CHAIN_DMA_HOST_ID(host_dma_id);
1469 pipeline->msg.primary |= SOF_IPC4_GLB_CHAIN_DMA_SCS_MASK;
1479 pipeline->msg.extension |= SOF_IPC4_GLB_EXT_CHAIN_DMA_FIFO_SIZE(fifo_size);
1504 gtw_attr->lp_buffer_alloc = pipeline->lp_mode;
1511 struct sof_ipc4_pipeline *pipeline = pipe_widget->private;
1513 if (pipeline->use_chain_dma)
1523 * When there is format conversion within a pipeline, the number of supported
1526 * FE hw_params for capture and the pipeline params for playback.
1788 /* update pipeline memory usage */
1843 /* update pipeline memory usage */
1880 /* update pipeline memory usage */
1939 /* update pipeline memory usage */
2069 /* modify the pipeline params with the pin 0 output format */
2075 /* update pipeline memory usage */
2212 struct sof_ipc4_pipeline *pipeline;
2220 pipeline = swidget->private;
2222 if (pipeline->use_chain_dma) {
2228 dev_dbg(sdev->dev, "pipeline: %d memory pages: %d\n", swidget->pipeline_id,
2229 pipeline->mem_usage);
2231 msg = &pipeline->msg;
2232 msg->primary |= pipeline->mem_usage;
2237 dev_err(sdev->dev, "failed to assign pipeline id for %s: %d\n",
2250 pipeline = pipe_widget->private;
2251 if (pipeline->use_chain_dma)
2266 pipeline = pipe_widget->private;
2267 if (pipeline->use_chain_dma)
2374 /* freeing a pipeline frees all the widgets associated with it */
2376 struct sof_ipc4_pipeline *pipeline = swidget->private;
2380 if (pipeline->use_chain_dma) {
2396 dev_err(sdev->dev, "failed to free pipeline widget %s\n",
2399 pipeline->mem_usage = 0;
2400 pipeline->state = SOF_IPC4_PIPE_UNINITIALIZED;
2405 struct sof_ipc4_pipeline *pipeline = pipe_widget->private;
2407 if (!pipeline->use_chain_dma)
2670 * routes belonging to the same pipeline will be disconnected by the FW when the pipeline
2706 struct sof_ipc4_pipeline *pipeline = pipe_widget->private;
2726 if (pipeline->use_chain_dma) {
2727 pipeline->msg.primary &= ~SOF_IPC4_GLB_CHAIN_DMA_LINK_ID_MASK;
2728 pipeline->msg.primary |= SOF_IPC4_GLB_CHAIN_DMA_LINK_ID(data->dai_data);
2732 gtw_attr->lp_buffer_alloc = pipeline->lp_mode;