dc_state_get_pipe_subvp_type
if (pipe_ctx->stream && dc_state_get_pipe_subvp_type(context, pipe_ctx) != SUBVP_PHANTOM) {
if (pipe_ctx->stream && dc_state_get_pipe_subvp_type(context, pipe_ctx) != SUBVP_PHANTOM) {
dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_PHANTOM) {
subvp_prev_use |= (dc_state_get_pipe_subvp_type(dc->current_state, old_pipe) == SUBVP_PHANTOM);
if (!pipe->plane_state || (dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_PHANTOM))
subvp_prev_use |= (dc_state_get_pipe_subvp_type(dc->current_state, old_pipe) == SUBVP_PHANTOM);
if (dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_PHANTOM) {
if (dc_state_get_pipe_subvp_type(dc->current_state, pipe) != SUBVP_NONE) {
if (pipe->stream && dc_state_get_pipe_subvp_type(dc->current_state, pipe) == SUBVP_PHANTOM) {
subvp_pipe_type[i] = dc_state_get_pipe_subvp_type(context, pipe);
dc_state_get_pipe_subvp_type(context, opp_head) == SUBVP_PHANTOM)
dc_state_get_pipe_subvp_type(context, otg_master) == SUBVP_PHANTOM)
if (!pipe->plane_state || dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_PHANTOM)
dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_MAIN) {
if (enable_subvp && dc_state_get_pipe_subvp_type(context, pipe_ctx) == SUBVP_NONE) {
dml2_options->svp_pstate.callbacks.get_pipe_subvp_type = &dc_state_get_pipe_subvp_type;
if (pipe->plane_state && pipe->stream && dc_state_get_pipe_subvp_type(state, pipe) == SUBVP_PHANTOM) {
if (dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_MAIN)
dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_MAIN)
pipe_mall_type = dc_state_get_pipe_subvp_type(context, pipe);
enum mall_stream_type dc_state_get_pipe_subvp_type(const struct dc_state *state,
if (dc_state_get_pipe_subvp_type(context, &context->res_ctx.pipe_ctx[i]) == SUBVP_PHANTOM) {
dc_state_get_pipe_subvp_type(context, &res_ctx->pipe_ctx[i]) == SUBVP_PHANTOM))
dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_MAIN) {
enum mall_stream_type pipe_mall_type = dc_state_get_pipe_subvp_type(context, pipe);
dc_state_get_pipe_subvp_type(context, pipe_ctx) == SUBVP_MAIN) {
if (dc_state_get_pipe_subvp_type(context, &context->res_ctx.pipe_ctx[i]) == SUBVP_PHANTOM) {
if (dc_state_get_pipe_subvp_type(context, &context->res_ctx.pipe_ctx[i]) != SUBVP_PHANTOM) {
if (pipe->plane_state && dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_PHANTOM) {
dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_NONE &&
dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_NONE) {
dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_MAIN) {
if (dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_MAIN) {
if (dc_state_get_pipe_subvp_type(context, drr_pipe) == SUBVP_NONE && drr_pipe->stream->ignore_msa_timing_param &&
pipe_mall_type = dc_state_get_pipe_subvp_type(context, pipe);
dc_state_get_pipe_subvp_type(context, pipe_ctx) == SUBVP_MAIN) {
pipe_mall_type = dc_state_get_pipe_subvp_type(context, &context->res_ctx.pipe_ctx[dc_pipe_ctx_index]);
if (dc_state_get_pipe_subvp_type(context, pipe_ctx) != SUBVP_PHANTOM) {
if (dc_state_get_pipe_subvp_type(state, pipe_ctx) != SUBVP_PHANTOM)
dc_state_get_pipe_subvp_type(context, pipe_ctx) == SUBVP_PHANTOM)
if (grouped_pipes[i]->stream && dc_state_get_pipe_subvp_type(state, grouped_pipes[i]) == SUBVP_PHANTOM)
if (grouped_pipes[i]->stream && dc_state_get_pipe_subvp_type(state, grouped_pipes[i]) == SUBVP_PHANTOM)
if (grouped_pipes[i]->stream && dc_state_get_pipe_subvp_type(state, grouped_pipes[i]) == SUBVP_PHANTOM)
if (grouped_pipes[1]->stream && dc_state_get_pipe_subvp_type(state, grouped_pipes[1]) != SUBVP_PHANTOM)
if (grouped_pipes[i]->stream && dc_state_get_pipe_subvp_type(state, grouped_pipes[i]) == SUBVP_PHANTOM)
if (dc_state_get_pipe_subvp_type(state, grouped_pipes[i]) == SUBVP_PHANTOM)
bool old_is_phantom = dc_state_get_pipe_subvp_type(old_state, old_pipe) == SUBVP_PHANTOM;
bool new_is_phantom = dc_state_get_pipe_subvp_type(new_state, new_pipe) == SUBVP_PHANTOM;
if (new_pipe->stream && dc_state_get_pipe_subvp_type(new_state, new_pipe) == SUBVP_PHANTOM)
enum mall_stream_type pipe_mall_type = dc_state_get_pipe_subvp_type(context, pipe_ctx);
if (dc_state_get_pipe_subvp_type(context, pipe_ctx) != SUBVP_PHANTOM)
dc_state_get_pipe_subvp_type(dc->current_state, pipe) == SUBVP_PHANTOM) {
dc_state_get_pipe_subvp_type(context, &context->res_ctx.pipe_ctx[i])
dc_state_get_pipe_subvp_type(context, pipe) != SUBVP_PHANTOM)
dc_state_get_pipe_subvp_type(context, pipe) != SUBVP_PHANTOM) {
dc_state_get_pipe_subvp_type(context, pipe) != SUBVP_PHANTOM) {
if (pipe->stream && dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_PHANTOM) {
if (pipe->stream && dc_state_get_pipe_subvp_type(context, pipe) != SUBVP_NONE) {
if (pipe->stream && dc_state_get_pipe_subvp_type(context, pipe) != SUBVP_NONE) {
bool is_phantom = dc_state_get_pipe_subvp_type(state, pipe_ctx) == SUBVP_PHANTOM;
if (dc_state_get_pipe_subvp_type(context, pipe_ctx) == SUBVP_PHANTOM) {
if (dc_state_get_pipe_subvp_type(dc->current_state, pipe) == SUBVP_MAIN) {
&& dc_state_get_pipe_subvp_type(dc_state, pipe) != SUBVP_PHANTOM) {
if (pipe->stream && dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_MAIN &&
if (dc_state_get_pipe_subvp_type(dc->current_state, pipe_ctx_old) != SUBVP_PHANTOM)
(pipe_ctx->stream && dc_state_get_pipe_subvp_type(context, pipe_ctx) != SUBVP_PHANTOM)) {
if (pipe->stream && dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_PHANTOM &&
old_pipe->stream && dc_state_get_pipe_subvp_type(dc->current_state, old_pipe) != SUBVP_PHANTOM) {
if (dc_state_get_pipe_subvp_type(context, pipe_ctx) != SUBVP_PHANTOM)
enum mall_stream_type cur_pipe_type = dc_state_get_pipe_subvp_type(cur_ctx, cur_pipe);
enum mall_stream_type new_pipe_type = dc_state_get_pipe_subvp_type(new_ctx, new_pipe);
dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_PHANTOM)
if (pipe_ctx->stream && dc_state_get_pipe_subvp_type(context, pipe_ctx) == SUBVP_MAIN) {
pipe_mall_type = dc_state_get_pipe_subvp_type(context, pipe);
if (dc_state_get_pipe_subvp_type(context, top_pipe_to_program) == SUBVP_MAIN &&
if (!pipe->stream || !(dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_MAIN ||
if (pipe->stream && (dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_MAIN ||
(!old_pipe->stream || (dc_state_get_pipe_subvp_type(dc->current_state, old_pipe) != SUBVP_MAIN &&
if (dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_PHANTOM) {
if (dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_MAIN)
bool is_phantom = dc_state_get_pipe_subvp_type(state, pipe_ctx) == SUBVP_PHANTOM;
dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_PHANTOM)
dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_PHANTOM) {
dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_PHANTOM) {
if (dc_state_get_pipe_subvp_type(context, pipe_ctx) != SUBVP_PHANTOM)
if (dc_state_get_pipe_subvp_type(context, pipe_ctx) != SUBVP_PHANTOM)
dc_state_get_pipe_subvp_type(dc->current_state, pipe) == SUBVP_PHANTOM) {
dc_state_get_pipe_subvp_type(context, &context->res_ctx.pipe_ctx[i]) ==
dc_state_get_pipe_subvp_type(context, pipe) != SUBVP_PHANTOM)
dc_state_get_pipe_subvp_type(context, pipe) != SUBVP_PHANTOM) {
dc_state_get_pipe_subvp_type(context, pipe) != SUBVP_PHANTOM) {
if (pipe->stream && dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_PHANTOM) {
bool old_is_phantom = dc_state_get_pipe_subvp_type(old_state, old_pipe) == SUBVP_PHANTOM;
bool new_is_phantom = dc_state_get_pipe_subvp_type(new_state, new_pipe) == SUBVP_PHANTOM;
if (new_pipe->stream && dc_state_get_pipe_subvp_type(new_state, new_pipe) == SUBVP_PHANTOM)
if (dc_state_get_pipe_subvp_type(state, pipe_ctx) != SUBVP_PHANTOM) {
bool is_phantom = dc_state_get_pipe_subvp_type(state, pipe_ctx) == SUBVP_PHANTOM;
enum mall_stream_type pipe_mall_type = dc_state_get_pipe_subvp_type(context, pipe_ctx);
if (dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_PHANTOM) {
if (dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_MAIN)
if (dc_state_get_pipe_subvp_type(context, pipe_ctx) == SUBVP_PHANTOM) {
dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_PHANTOM) {
mall_type = dc_state_get_pipe_subvp_type(context, pipe);
mall_type = dc_state_get_pipe_subvp_type(context, pipe);
switch (dc_state_get_pipe_subvp_type(context, pipe)) {
if (dc_state_get_pipe_subvp_type(context, pipe) != SUBVP_NONE)
if (pipe_ctx->stream && pipe_ctx->plane_state && dc_state_get_pipe_subvp_type(context, pipe_ctx) != SUBVP_PHANTOM) {
if (pipe_ctx->stream && pipe_ctx->plane_state && dc_state_get_pipe_subvp_type(context, pipe_ctx) != SUBVP_PHANTOM) {
enum mall_stream_type pipe_mall_type = dc_state_get_pipe_subvp_type(context, pipe);
enum mall_stream_type pipe_mall_type = dc_state_get_pipe_subvp_type(context, pipe);