Lines Matching full:pipe

38 #define IS_PIPE_SYNCD_VALID(pipe) ((((pipe)->pipe_idx_syncd) & 0x80)?1:0)  argument
39 #define GET_PIPE_SYNCD_FROM_PIPE(pipe) ((pipe)->pipe_idx_syncd & 0x7F) argument
40 #define SET_PIPE_SYNCD_TO_PIPE(pipe, pipe_syncd) ((pipe)->pipe_idx_syncd = (0x80 | pipe_syncd)) argument
158 * pipe types are identified based on MUXes in DCN front end that are capable
161 * pipeline ends with and YYYY is the rendering role that the pipe is in.
163 * For instance OTG_MASTER is a pipe ending with OTG hardware block in its
164 * pipeline and it is in a role of a master pipe for timing generation.
166 * For quick reference a diagram of each pipe type's areas of responsibility
171 * |OTG master 0 (OPP head 0)|OPP head 2 (DPP pipe 2) |
172 * | (DPP pipe 0)| |
175 * | |DPP pipe 1 |DPP | |
176 * | | |pipe| |
203 * Inter-pipe Relation
205 * |PIPE IDX| DPP PIPES | OPP HEADS | OTG MASTER |
224 * stream ---1-----------1--- OTG Master pipe
226 * OTG Master pipe ---1--------1..N--- OPP Head pipes
228 * OPP Head pipe ---1--------0..N--- DPP pipes
236 /* free pipe - free pipe is an uninitialized pipe without a stream
237 * associated with it. It is a free DCN pipe resource. It can be
238 * acquired as any type of pipe.
242 /* OTG master pipe - the master pipe of its OPP head pipes with a
244 * block and output to back end DIG. OTG master pipe is responsible for
245 * generating entire CRTC timing to back end DIG. An OTG master pipe may
253 /* OPP head pipe - the head pipe of an MPC blending tree with a
254 * functional OPP outputting to an OTG. OPP head pipe is responsible for
259 * data in its own ODM slice. OTG master pipe is also an OPP head pipe
264 /* DPP pipe - the pipe with a functional DPP outputting to an OPP head
265 * pipe's MPC. DPP pipe is responsible for processing pixel data from
267 * pipe and it must have a plane associated with it.
273 * Determine if the input pipe_ctx is of a pipe type.
279 * Acquire a pipe as OTG master pipe and allocate pipe resources required to
287 * Release pipe resources and the OTG master pipe associated with the stream
296 * Add plane to the bottom most layer in plane composition and allocate DPP pipe
308 * Add plane to the bottom most layer in plane composition and allocate DPP pipe
324 * affected pipe parameters are updated.
345 * @dpp_pipe - top most dpp pipe for MPCC combine.
348 * affected pipe parameters are updated.
364 * Get the OTG master pipe in resource context associated with the stream.
365 * return - NULL if not found. Otherwise the OTG master pipe associated with the
374 * master pipe in res_ctx.
384 * head pipe in res_ctx.
386 * an OPP pipe, the function returns 0.
402 * Get the OTG master pipe for the input pipe context.
403 * return - the OTG master pipe for the input pipe
409 * Get the OPP head pipe for the input pipe context.
410 * return - the OPP head pipe for the input pipe
416 * Get the DPP pipe allocated for MPC slice 0 and ODM slice 0 of the plane
423 * For example, if a DPP pipe is used as a secondary pipe in MPCC combine, MPC
429 * Get the number of MPC slices associated with the pipe.
430 * The function returns 0 if the pipe is not associated with an MPC combine
431 * pipe topology.
433 int resource_get_mpc_slice_count(const struct pipe_ctx *pipe);
436 * Get the number of ODM slices associated with the pipe.
437 * The function returns 0 if the pipe is not associated with an ODM combine
438 * pipe topology.
440 int resource_get_odm_slice_count(const struct pipe_ctx *pipe);
455 /* determine if pipe topology is changed between state a and state b */
469 /* log the pipe topology update in state */
473 * Look for a free pipe in new resource context that is used as a secondary OPP
476 * return - FREE_PIPE_INDEX_NOT_FOUND if free pipe is not found, otherwise
477 * pipe idx of the free pipe
485 * Look for a free pipe in new resource context that is used as a secondary DPP
486 * pipe in MPC blending tree associated with input OPP head pipe.
488 * return - FREE_PIPE_INDEX_NOT_FOUND if free pipe is not found, otherwise
489 * pipe idx of the free pipe
497 * Look for a free pipe in new resource context that is not used in current
500 * return - FREE_PIPE_INDEX_NOT_FOUND if free pipe is not found, otherwise
501 * pipe idx of the free pipe
509 * Look for a free pipe in new resource context that is used in current resource
510 * context as an OTG master pipe.
512 * return - FREE_PIPE_INDEX_NOT_FOUND if free pipe is not found, otherwise
513 * pipe idx of the free pipe
521 * Look for a free pipe in new resource context that is used as a secondary DPP
522 * pipe in current resource context.
523 * return - FREE_PIPE_INDEX_NOT_FOUND if free pipe is not found, otherwise
524 * pipe idx of the free pipe
532 * Look for a free pipe in new resource context that is used as a secondary DPP
533 * pipe in any MPCC combine in current resource context.
534 * return - FREE_PIPE_INDEX_NOT_FOUND if free pipe is not found, otherwise
535 * pipe idx of the free pipe
543 * Look for any free pipe in new resource context.
544 * return - FREE_PIPE_INDEX_NOT_FOUND if free pipe is not found, otherwise
545 * pipe idx of the free pipe
551 * Legacy find free secondary pipe logic deprecated for newer DCNs as it doesn't
552 * find the most optimal free pipe to prevent from time consuming hardware state
632 /* Get hw programming parameters container from pipe context
633 * @pipe_ctx: pipe context
644 *Calculate total DET allocated for all pipes for a given OTG_MASTER pipe