Lines Matching refs:pipe

20 	struct komeda_pipeline *pipe;
28 if (size < sizeof(*pipe)) {
33 pipe = devm_kzalloc(mdev->dev, size, GFP_KERNEL);
34 if (!pipe)
37 pipe->mdev = mdev;
38 pipe->id = mdev->n_pipelines;
39 pipe->funcs = funcs;
41 mdev->pipelines[mdev->n_pipelines] = pipe;
44 return pipe;
48 struct komeda_pipeline *pipe)
52 unsigned long avail_comps = pipe->avail_comps;
55 c = komeda_pipeline_get_component(pipe, i);
59 clk_put(pipe->pxlclk);
61 of_node_put(pipe->of_output_links[0]);
62 of_node_put(pipe->of_output_links[1]);
63 of_node_put(pipe->of_output_port);
64 of_node_put(pipe->of_node);
66 devm_kfree(mdev->dev, pipe);
70 komeda_pipeline_get_component_pos(struct komeda_pipeline *pipe, int id)
72 struct komeda_dev *mdev = pipe->mdev;
81 pos = to_cpos(pipe->layers[id - KOMEDA_COMPONENT_LAYER0]);
84 pos = to_cpos(pipe->wb_layer);
97 pos = to_cpos(pipe->scalers[id - KOMEDA_COMPONENT_SCALER0]);
100 pos = to_cpos(pipe->splitter);
103 pos = to_cpos(pipe->merger);
115 pos = to_cpos(pipe->ctrlr);
127 komeda_pipeline_get_component(struct komeda_pipeline *pipe, int id)
132 pos = komeda_pipeline_get_component_pos(pipe, id);
140 komeda_pipeline_get_first_component(struct komeda_pipeline *pipe,
149 c = komeda_pipeline_get_component(pipe, id);
164 komeda_component_add(struct komeda_pipeline *pipe,
181 pos = komeda_pipeline_get_component_pos(pipe, id);
187 num = &pipe->n_layers;
188 if (idx != pipe->n_layers) {
194 num = &pipe->n_scalers;
195 if (idx != pipe->n_scalers) {
201 c = devm_kzalloc(pipe->mdev->dev, comp_sz, GFP_KERNEL);
208 c->pipeline = pipe;
225 pipe->avail_comps |= BIT(c->id);
250 static void komeda_pipeline_dump(struct komeda_pipeline *pipe)
254 unsigned long avail_comps = pipe->avail_comps;
257 pipe->id, pipe->n_layers, pipe->n_scalers,
258 pipe->dual_link ? "dual-link" : "single-link");
260 pipe->of_output_links[0] ?
261 pipe->of_output_links[0]->full_name : "none");
263 pipe->of_output_links[1] ?
264 pipe->of_output_links[1]->full_name : "none");
267 c = komeda_pipeline_get_component(pipe, id);
275 struct komeda_pipeline *pipe = c->pipeline;
281 input = komeda_pipeline_get_component(pipe, id);
294 komeda_get_layer_split_right_layer(struct komeda_pipeline *pipe,
300 for (i = index + 1; i < pipe->n_layers; i++)
301 if (left->layer_type == pipe->layers[i]->layer_type)
302 return pipe->layers[i];
306 static void komeda_pipeline_assemble(struct komeda_pipeline *pipe)
311 unsigned long avail_comps = pipe->avail_comps;
314 c = komeda_pipeline_get_component(pipe, id);
318 for (i = 0; i < pipe->n_layers; i++) {
319 layer = pipe->layers[i];
321 layer->right = komeda_get_layer_split_right_layer(pipe, layer);
324 if (pipe->dual_link && !pipe->ctrlr->supports_dual_link) {
325 pipe->dual_link = false;
327 pipe->id);
347 struct komeda_pipeline *pipe;
351 pipe = mdev->pipelines[i];
353 komeda_pipeline_assemble(pipe);
354 komeda_pipeline_dump(pipe);
360 void komeda_pipeline_dump_register(struct komeda_pipeline *pipe,
367 seq_printf(sf, "\n======== Pipeline-%d ==========\n", pipe->id);
369 if (pipe->funcs && pipe->funcs->dump_register)
370 pipe->funcs->dump_register(pipe, sf);
372 avail_comps = pipe->avail_comps;
374 c = komeda_pipeline_get_component(pipe, id);