Lines Matching defs:pipe

396 		struct pipe_ctx *pipe = &dc->current_state->res_ctx.pipe_ctx[i];
398 if (pipe->stream == stream && pipe->stream_res.tg)
444 struct pipe_ctx *pipe = &context->res_ctx.pipe_ctx[i];
446 if (!pipe->stream)
453 if (!pipe->stream->fpo_in_use) {
462 struct pipe_ctx *pipe = &context->res_ctx.pipe_ctx[i];
464 if (resource_is_pipe_type(pipe, OTG_MASTER) && pipe->stream->fpo_in_use) {
465 struct pipe_ctx *pipe = &context->res_ctx.pipe_ctx[i];
466 uint8_t min_refresh_in_hz = (pipe->stream->timing.min_refresh_in_uhz + 999999) / 1000000;
468 config_data->pipe_data[k].pix_clk_100hz = pipe->stream->timing.pix_clk_100hz;
471 config_data->pipe_data[k].pipes = dc_dmub_srv_get_pipes_for_stream(dc, pipe->stream);
472 dc_dmub_srv_populate_fams_pipe_info(dc, context, pipe, &config_data->pipe_data[k]);
535 * populate_subvp_cmd_drr_info - Helper to populate DRR pipe info for the DMCUB subvp command
538 * @subvp_pipe: [in] pipe_ctx for the SubVP pipe
539 * @vblank_pipe: [in] pipe_ctx for the DRR pipe
543 * Populate the DMCUB SubVP command with DRR pipe info. All the information
547 * 1. Get timing for SubVP pipe, phantom pipe, and DRR pipe
612 * populate_subvp_cmd_vblank_pipe_info - Helper to populate VBLANK pipe info for the DMUB subvp command
617 * @vblank_pipe: [in] pipe_ctx for the VBLANK pipe
618 * @cmd_pipe_index: [in] index for the pipe array in DMCUB SubVP cmd
620 * Populate the DMCUB SubVP command with VBLANK pipe info. All the information
622 * the pipe_data (subvp_data and vblank_data). Also check if the VBLANK pipe
632 struct pipe_ctx *pipe = NULL;
636 // Find the SubVP pipe
638 pipe = &context->res_ctx.pipe_ctx[i];
640 // We check for master pipe, but it shouldn't matter since we only need
641 // the pipe for timing info (stream should be same for any pipe splits)
642 if (!resource_is_pipe_type(pipe, OTG_MASTER) ||
643 !resource_is_pipe_type(pipe, DPP_PIPE))
646 // Find the SubVP pipe
647 if (dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_MAIN)
664 populate_subvp_cmd_drr_info(dc, context, pipe, vblank_pipe, pipe_data);
678 * lengthens the prefetch end to mall start delay of the SubVP pipe that has
728 * populate_subvp_cmd_pipe_info - Helper to populate the SubVP pipe info for the DMUB subvp command
733 * @subvp_pipe: [in] pipe_ctx for the SubVP pipe
734 * @cmd_pipe_index: [in] index for the pipe array in DMCUB SubVP cmd
736 * Populate the DMCUB SubVP command with SubVP pipe info. All the information
737 * required to calculate the microschedule for the SubVP pipe is stored in the
801 // Find phantom pipe index based on phantom stream
827 * This function loops through each pipe and populates the DMUB SubVP CMD info
828 * based on the pipe (e.g. SubVP, VBLANK).
850 struct pipe_ctx *pipe = &context->res_ctx.pipe_ctx[i];
852 /* For SubVP pipe count, only count the top most (ODM / MPC) pipe
854 if (resource_is_pipe_type(pipe, OTG_MASTER) &&
855 resource_is_pipe_type(pipe, DPP_PIPE) &&
856 dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_MAIN)
857 subvp_pipes[subvp_count++] = pipe;
861 // For each pipe that is a "main" SUBVP pipe, fill in pipe data for DMUB SUBVP cmd
863 struct pipe_ctx *pipe = &context->res_ctx.pipe_ctx[i];
864 pipe_mall_type = dc_state_get_pipe_subvp_type(context, pipe);
866 if (!pipe->stream)
869 /* When populating subvp cmd info, only pass in the top most (ODM / MPC) pipe.
873 if (resource_is_pipe_type(pipe, OTG_MASTER) &&
874 resource_is_pipe_type(pipe, DPP_PIPE) &&
876 populate_subvp_cmd_pipe_info(dc, context, &cmd, pipe, cmd_pipe_index++);
877 } else if (resource_is_pipe_type(pipe, OTG_MASTER) &&
878 resource_is_pipe_type(pipe, DPP_PIPE) &&
882 populate_subvp_cmd_vblank_pipe_info(dc, context, &cmd, pipe, cmd_pipe_index++);
974 * Disable the cursor if there's another pipe above this with a
975 * plane that contains this pipe's viewport to prevent double cursor
980 // Skip invisible layer and pipe-split plane on same layer
991 * pipe-split, merge together per same height.
1090 * @pCtx: [in] pipe context
1091 * @pipe_idx: [in] pipe index