Lines Matching refs:pipe
17 struct komeda_pipeline *pipe; in komeda_pipeline_add() local
25 if (size < sizeof(*pipe)) { in komeda_pipeline_add()
30 pipe = devm_kzalloc(mdev->dev, size, GFP_KERNEL); in komeda_pipeline_add()
31 if (!pipe) in komeda_pipeline_add()
34 pipe->mdev = mdev; in komeda_pipeline_add()
35 pipe->id = mdev->n_pipelines; in komeda_pipeline_add()
36 pipe->funcs = funcs; in komeda_pipeline_add()
38 mdev->pipelines[mdev->n_pipelines] = pipe; in komeda_pipeline_add()
41 return pipe; in komeda_pipeline_add()
45 struct komeda_pipeline *pipe) in komeda_pipeline_destroy() argument
50 dp_for_each_set_bit(i, pipe->avail_comps) { in komeda_pipeline_destroy()
51 c = komeda_pipeline_get_component(pipe, i); in komeda_pipeline_destroy()
55 clk_put(pipe->pxlclk); in komeda_pipeline_destroy()
57 of_node_put(pipe->of_output_links[0]); in komeda_pipeline_destroy()
58 of_node_put(pipe->of_output_links[1]); in komeda_pipeline_destroy()
59 of_node_put(pipe->of_output_port); in komeda_pipeline_destroy()
60 of_node_put(pipe->of_node); in komeda_pipeline_destroy()
62 devm_kfree(mdev->dev, pipe); in komeda_pipeline_destroy()
66 komeda_pipeline_get_component_pos(struct komeda_pipeline *pipe, int id) in komeda_pipeline_get_component_pos() argument
68 struct komeda_dev *mdev = pipe->mdev; in komeda_pipeline_get_component_pos()
77 pos = to_cpos(pipe->layers[id - KOMEDA_COMPONENT_LAYER0]); in komeda_pipeline_get_component_pos()
80 pos = to_cpos(pipe->wb_layer); in komeda_pipeline_get_component_pos()
93 pos = to_cpos(pipe->scalers[id - KOMEDA_COMPONENT_SCALER0]); in komeda_pipeline_get_component_pos()
96 pos = to_cpos(pipe->splitter); in komeda_pipeline_get_component_pos()
99 pos = to_cpos(pipe->merger); in komeda_pipeline_get_component_pos()
111 pos = to_cpos(pipe->ctrlr); in komeda_pipeline_get_component_pos()
123 komeda_pipeline_get_component(struct komeda_pipeline *pipe, int id) in komeda_pipeline_get_component() argument
128 pos = komeda_pipeline_get_component_pos(pipe, id); in komeda_pipeline_get_component()
136 komeda_pipeline_get_first_component(struct komeda_pipeline *pipe, in komeda_pipeline_get_first_component() argument
144 c = komeda_pipeline_get_component(pipe, id); in komeda_pipeline_get_first_component()
159 komeda_component_add(struct komeda_pipeline *pipe, in komeda_component_add() argument
176 pos = komeda_pipeline_get_component_pos(pipe, id); in komeda_component_add()
182 num = &pipe->n_layers; in komeda_component_add()
183 if (idx != pipe->n_layers) { in komeda_component_add()
189 num = &pipe->n_scalers; in komeda_component_add()
190 if (idx != pipe->n_scalers) { in komeda_component_add()
196 c = devm_kzalloc(pipe->mdev->dev, comp_sz, GFP_KERNEL); in komeda_component_add()
203 c->pipeline = pipe; in komeda_component_add()
220 pipe->avail_comps |= BIT(c->id); in komeda_component_add()
245 static void komeda_pipeline_dump(struct komeda_pipeline *pipe) in komeda_pipeline_dump() argument
251 pipe->id, pipe->n_layers, pipe->n_scalers, in komeda_pipeline_dump()
252 pipe->dual_link ? "dual-link" : "single-link"); in komeda_pipeline_dump()
254 pipe->of_output_links[0] ? in komeda_pipeline_dump()
255 pipe->of_output_links[0]->full_name : "none"); in komeda_pipeline_dump()
257 pipe->of_output_links[1] ? in komeda_pipeline_dump()
258 pipe->of_output_links[1]->full_name : "none"); in komeda_pipeline_dump()
260 dp_for_each_set_bit(id, pipe->avail_comps) { in komeda_pipeline_dump()
261 c = komeda_pipeline_get_component(pipe, id); in komeda_pipeline_dump()
269 struct komeda_pipeline *pipe = c->pipeline; in komeda_component_verify_inputs() local
274 input = komeda_pipeline_get_component(pipe, id); in komeda_component_verify_inputs()
287 komeda_get_layer_split_right_layer(struct komeda_pipeline *pipe, in komeda_get_layer_split_right_layer() argument
293 for (i = index + 1; i < pipe->n_layers; i++) in komeda_get_layer_split_right_layer()
294 if (left->layer_type == pipe->layers[i]->layer_type) in komeda_get_layer_split_right_layer()
295 return pipe->layers[i]; in komeda_get_layer_split_right_layer()
299 static void komeda_pipeline_assemble(struct komeda_pipeline *pipe) in komeda_pipeline_assemble() argument
305 dp_for_each_set_bit(id, pipe->avail_comps) { in komeda_pipeline_assemble()
306 c = komeda_pipeline_get_component(pipe, id); in komeda_pipeline_assemble()
310 for (i = 0; i < pipe->n_layers; i++) { in komeda_pipeline_assemble()
311 layer = pipe->layers[i]; in komeda_pipeline_assemble()
313 layer->right = komeda_get_layer_split_right_layer(pipe, layer); in komeda_pipeline_assemble()
316 if (pipe->dual_link && !pipe->ctrlr->supports_dual_link) { in komeda_pipeline_assemble()
317 pipe->dual_link = false; in komeda_pipeline_assemble()
319 pipe->id); in komeda_pipeline_assemble()
339 struct komeda_pipeline *pipe; in komeda_assemble_pipelines() local
343 pipe = mdev->pipelines[i]; in komeda_assemble_pipelines()
345 komeda_pipeline_assemble(pipe); in komeda_assemble_pipelines()
346 komeda_pipeline_dump(pipe); in komeda_assemble_pipelines()
352 void komeda_pipeline_dump_register(struct komeda_pipeline *pipe, in komeda_pipeline_dump_register() argument
358 seq_printf(sf, "\n======== Pipeline-%d ==========\n", pipe->id); in komeda_pipeline_dump_register()
360 if (pipe->funcs && pipe->funcs->dump_register) in komeda_pipeline_dump_register()
361 pipe->funcs->dump_register(pipe, sf); in komeda_pipeline_dump_register()
363 dp_for_each_set_bit(id, pipe->avail_comps) { in komeda_pipeline_dump_register()
364 c = komeda_pipeline_get_component(pipe, id); in komeda_pipeline_dump_register()