Lines Matching refs:dst_state
142 static void dc_state_copy_internal(struct dc_state *dst_state, struct dc_state *src_state)
146 memcpy(dst_state, src_state, sizeof(struct dc_state));
149 struct pipe_ctx *cur_pipe = &dst_state->res_ctx.pipe_ctx[i];
152 cur_pipe->top_pipe = &dst_state->res_ctx.pipe_ctx[cur_pipe->top_pipe->pipe_idx];
155 cur_pipe->bottom_pipe = &dst_state->res_ctx.pipe_ctx[cur_pipe->bottom_pipe->pipe_idx];
158 cur_pipe->prev_odm_pipe = &dst_state->res_ctx.pipe_ctx[cur_pipe->prev_odm_pipe->pipe_idx];
161 cur_pipe->next_odm_pipe = &dst_state->res_ctx.pipe_ctx[cur_pipe->next_odm_pipe->pipe_idx];
165 for (i = 0; i < dst_state->phantom_stream_count; i++)
166 dc_stream_retain(dst_state->phantom_streams[i]);
168 for (i = 0; i < dst_state->phantom_plane_count; i++)
169 dc_plane_state_retain(dst_state->phantom_planes[i]);
172 for (i = 0; i < dst_state->stream_count; i++) {
173 dc_stream_retain(dst_state->streams[i]);
174 for (j = 0; j < dst_state->stream_status[i].plane_count; j++)
176 dst_state->stream_status[i].plane_states[j]);
212 void dc_state_copy(struct dc_state *dst_state, struct dc_state *src_state)
214 struct kref refcount = dst_state->refcount;
216 struct dml2_context *dst_dml2 = dst_state->bw_ctx.dml2;
219 dc_state_copy_internal(dst_state, src_state);
222 dst_state->bw_ctx.dml2 = dst_dml2;
224 dml2_copy(dst_state->bw_ctx.dml2, src_state->bw_ctx.dml2);
228 dst_state->refcount = refcount;
255 void dc_state_copy_current(struct dc *dc, struct dc_state *dst_state)
257 dc_state_copy(dst_state, dc->current_state);