Lines Matching full:pipe

21 	struct komeda_pipeline *pipe;  in komeda_pipeline_add()  local
29 if (size < sizeof(*pipe)) { in komeda_pipeline_add()
34 pipe = devm_kzalloc(mdev->dev, size, GFP_KERNEL); in komeda_pipeline_add()
35 if (!pipe) in komeda_pipeline_add()
38 pipe->mdev = mdev; in komeda_pipeline_add()
39 pipe->id = mdev->n_pipelines; in komeda_pipeline_add()
40 pipe->funcs = funcs; in komeda_pipeline_add()
42 mdev->pipelines[mdev->n_pipelines] = pipe; in komeda_pipeline_add()
45 return pipe; in komeda_pipeline_add()
49 struct komeda_pipeline *pipe) in komeda_pipeline_destroy() argument
53 unsigned long avail_comps = pipe->avail_comps; in komeda_pipeline_destroy()
56 c = komeda_pipeline_get_component(pipe, i); in komeda_pipeline_destroy()
60 clk_put(pipe->pxlclk); in komeda_pipeline_destroy()
62 of_node_put(pipe->of_output_links[0]); in komeda_pipeline_destroy()
63 of_node_put(pipe->of_output_links[1]); in komeda_pipeline_destroy()
64 of_node_put(pipe->of_output_port); in komeda_pipeline_destroy()
65 of_node_put(pipe->of_node); in komeda_pipeline_destroy()
67 devm_kfree(mdev->dev, pipe); in komeda_pipeline_destroy()
71 komeda_pipeline_get_component_pos(struct komeda_pipeline *pipe, int id) in komeda_pipeline_get_component_pos() argument
73 struct komeda_dev *mdev = pipe->mdev; in komeda_pipeline_get_component_pos()
82 pos = to_cpos(pipe->layers[id - KOMEDA_COMPONENT_LAYER0]); in komeda_pipeline_get_component_pos()
85 pos = to_cpos(pipe->wb_layer); in komeda_pipeline_get_component_pos()
98 pos = to_cpos(pipe->scalers[id - KOMEDA_COMPONENT_SCALER0]); in komeda_pipeline_get_component_pos()
101 pos = to_cpos(pipe->splitter); in komeda_pipeline_get_component_pos()
104 pos = to_cpos(pipe->merger); in komeda_pipeline_get_component_pos()
116 pos = to_cpos(pipe->ctrlr); in komeda_pipeline_get_component_pos()
128 komeda_pipeline_get_component(struct komeda_pipeline *pipe, int id) in komeda_pipeline_get_component() argument
133 pos = komeda_pipeline_get_component_pos(pipe, id); in komeda_pipeline_get_component()
141 komeda_pipeline_get_first_component(struct komeda_pipeline *pipe, in komeda_pipeline_get_first_component() argument
150 c = komeda_pipeline_get_component(pipe, id); in komeda_pipeline_get_first_component()
165 komeda_component_add(struct komeda_pipeline *pipe, in komeda_component_add() argument
182 pos = komeda_pipeline_get_component_pos(pipe, id); in komeda_component_add()
188 num = &pipe->n_layers; in komeda_component_add()
189 if (idx != pipe->n_layers) { in komeda_component_add()
195 num = &pipe->n_scalers; in komeda_component_add()
196 if (idx != pipe->n_scalers) { in komeda_component_add()
202 c = devm_kzalloc(pipe->mdev->dev, comp_sz, GFP_KERNEL); in komeda_component_add()
209 c->pipeline = pipe; in komeda_component_add()
226 pipe->avail_comps |= BIT(c->id); in komeda_component_add()
251 void komeda_pipeline_dump(struct komeda_pipeline *pipe) in komeda_pipeline_dump() argument
255 unsigned long avail_comps = pipe->avail_comps; in komeda_pipeline_dump()
258 pipe->id, pipe->n_layers, pipe->n_scalers, in komeda_pipeline_dump()
259 pipe->dual_link ? "dual-link" : "single-link"); in komeda_pipeline_dump()
261 pipe->of_output_links[0] ? in komeda_pipeline_dump()
262 pipe->of_output_links[0]->full_name : "none"); in komeda_pipeline_dump()
264 pipe->of_output_links[1] ? in komeda_pipeline_dump()
265 pipe->of_output_links[1]->full_name : "none"); in komeda_pipeline_dump()
268 c = komeda_pipeline_get_component(pipe, id); in komeda_pipeline_dump()
276 struct komeda_pipeline *pipe = c->pipeline; in komeda_component_verify_inputs() local
282 input = komeda_pipeline_get_component(pipe, id); in komeda_component_verify_inputs()
295 komeda_get_layer_split_right_layer(struct komeda_pipeline *pipe, in komeda_get_layer_split_right_layer() argument
301 for (i = index + 1; i < pipe->n_layers; i++) in komeda_get_layer_split_right_layer()
302 if (left->layer_type == pipe->layers[i]->layer_type) in komeda_get_layer_split_right_layer()
303 return pipe->layers[i]; in komeda_get_layer_split_right_layer()
307 static void komeda_pipeline_assemble(struct komeda_pipeline *pipe) in komeda_pipeline_assemble() argument
312 unsigned long avail_comps = pipe->avail_comps; in komeda_pipeline_assemble()
315 c = komeda_pipeline_get_component(pipe, id); in komeda_pipeline_assemble()
319 for (i = 0; i < pipe->n_layers; i++) { in komeda_pipeline_assemble()
320 layer = pipe->layers[i]; in komeda_pipeline_assemble()
322 layer->right = komeda_get_layer_split_right_layer(pipe, layer); in komeda_pipeline_assemble()
325 if (pipe->dual_link && !pipe->ctrlr->supports_dual_link) { in komeda_pipeline_assemble()
326 pipe->dual_link = false; in komeda_pipeline_assemble()
327 DRM_WARN("PIPE-%d doesn't support dual-link, ignore DT dual-link configuration.\n", in komeda_pipeline_assemble()
328 pipe->id); in komeda_pipeline_assemble()
348 struct komeda_pipeline *pipe; in komeda_assemble_pipelines() local
352 pipe = mdev->pipelines[i]; in komeda_assemble_pipelines()
354 komeda_pipeline_assemble(pipe); in komeda_assemble_pipelines()
360 void komeda_pipeline_dump_register(struct komeda_pipeline *pipe, in komeda_pipeline_dump_register() argument
367 seq_printf(sf, "\n======== Pipeline-%d ==========\n", pipe->id); in komeda_pipeline_dump_register()
369 if (pipe->funcs && pipe->funcs->dump_register) in komeda_pipeline_dump_register()
370 pipe->funcs->dump_register(pipe, sf); in komeda_pipeline_dump_register()
372 avail_comps = pipe->avail_comps; in komeda_pipeline_dump_register()
374 c = komeda_pipeline_get_component(pipe, id); in komeda_pipeline_dump_register()