Lines Matching full:pipe

37 #define IS_PIPE_SYNCD_VALID(pipe) ((((pipe)->pipe_idx_syncd) & 0x80)?1:0)  argument
38 #define GET_PIPE_SYNCD_FROM_PIPE(pipe) ((pipe)->pipe_idx_syncd & 0x7F) argument
39 #define SET_PIPE_SYNCD_TO_PIPE(pipe, pipe_syncd) ((pipe)->pipe_idx_syncd = (0x80 | pipe_syncd)) argument
159 * pipe types are identified based on MUXes in DCN front end that are capable
162 * pipeline ends with and YYYY is the rendering role that the pipe is in.
164 * For instance OTG_MASTER is a pipe ending with OTG hardware block in its
165 * pipeline and it is in a role of a master pipe for timing generation.
167 * For quick reference a diagram of each pipe type's areas of responsibility
172 * |OTG master 0 (OPP head 0)|OPP head 2 (DPP pipe 2) |
173 * | (DPP pipe 0)| |
176 * | |DPP pipe 1 |DPP | |
177 * | | |pipe| |
204 * Inter-pipe Relation
206 * |PIPE IDX| DPP PIPES | OPP HEADS | OTG MASTER |
225 * stream ---1-----------1--- OTG Master pipe
227 * OTG Master pipe ---1--------1..N--- OPP Head pipes
229 * OPP Head pipe ---1--------0..N--- DPP pipes
237 /* free pipe - free pipe is an uninitialized pipe without a stream
238 * associated with it. It is a free DCN pipe resource. It can be
239 * acquired as any type of pipe.
243 /* OTG master pipe - the master pipe of its OPP head pipes with a
245 * block and output to back end DIG. OTG master pipe is responsible for
246 * generating entire CRTC timing to back end DIG. An OTG master pipe may
254 /* OPP head pipe - the head pipe of an MPC blending tree with a
255 * functional OPP outputting to an OTG. OPP head pipe is responsible for
260 * data in its own ODM slice. OTG master pipe is also an OPP head pipe
265 /* DPP pipe - the pipe with a functional DPP outputting to an OPP head
266 * pipe's MPC. DPP pipe is responsible for processing pixel data from
268 * pipe and it must have a plane associated with it.
274 * Determine if the input pipe_ctx is of a pipe type.
280 * Acquire a pipe as OTG master pipe and allocate pipe resources required to
288 * Release pipe resources and the OTG master pipe associated with the stream
297 * Add plane to the bottom most layer in plane composition and allocate DPP pipe
309 * Add plane to the bottom most layer in plane composition and allocate DPP pipe
325 * affected pipe parameters are updated.
346 * @dpp_pipe - top most dpp pipe for MPCC combine.
349 * affected pipe parameters are updated.
365 * Get the OTG master pipe in resource context associated with the stream.
366 * return - NULL if not found. Otherwise the OTG master pipe associated with the
375 * master pipe in res_ctx.
385 * head pipe in res_ctx.
387 * an OPP pipe, the function returns 0.
403 * Get the OTG master pipe for the input pipe context.
404 * return - the OTG master pipe for the input pipe
410 * Get the OPP head pipe for the input pipe context.
411 * return - the OPP head pipe for the input pipe
417 * Get the DPP pipe allocated for MPC slice 0 and ODM slice 0 of the plane
424 * For example, if a DPP pipe is used as a secondary pipe in MPCC combine, MPC
430 * Get the number of MPC slices associated with the pipe.
431 * The function returns 0 if the pipe is not associated with an MPC combine
432 * pipe topology.
434 int resource_get_mpc_slice_count(const struct pipe_ctx *pipe);
437 * Get the number of ODM slices associated with the pipe.
438 * The function returns 0 if the pipe is not associated with an ODM combine
439 * pipe topology.
441 int resource_get_odm_slice_count(const struct pipe_ctx *pipe);
446 /* determine if pipe topology is changed between state a and state b */
460 /* log the pipe topology update in state */
464 * Look for a free pipe in new resource context that is used as a secondary OPP
467 * return - FREE_PIPE_INDEX_NOT_FOUND if free pipe is not found, otherwise
468 * pipe idx of the free pipe
476 * Look for a free pipe in new resource context that is used as a secondary DPP
477 * pipe in MPC blending tree associated with input OPP head pipe.
479 * return - FREE_PIPE_INDEX_NOT_FOUND if free pipe is not found, otherwise
480 * pipe idx of the free pipe
488 * Look for a free pipe in new resource context that is not used in current
491 * return - FREE_PIPE_INDEX_NOT_FOUND if free pipe is not found, otherwise
492 * pipe idx of the free pipe
500 * Look for a free pipe in new resource context that is used in current resource
501 * context as an OTG master pipe.
503 * return - FREE_PIPE_INDEX_NOT_FOUND if free pipe is not found, otherwise
504 * pipe idx of the free pipe
512 * Look for a free pipe in new resource context that is used as a secondary DPP
513 * pipe in any MPCC combine in current resource context.
514 * return - FREE_PIPE_INDEX_NOT_FOUND if free pipe is not found, otherwise
515 * pipe idx of the free pipe
523 * Look for any free pipe in new resource context.
524 * return - FREE_PIPE_INDEX_NOT_FOUND if free pipe is not found, otherwise
525 * pipe idx of the free pipe
531 * Legacy find free secondary pipe logic deprecated for newer DCNs as it doesn't
532 * find the most optimal free pipe to prevent from time consuming hardware state