From: Dillon Varone Date: Wed, 13 Dec 2023 21:39:22 +0000 (-0500) Subject: drm/amd/display: Deep copy dml2_context when copying dc_state X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=08daec77fddf23cd246a0662c6dc0d60229caaee;p=linux.git drm/amd/display: Deep copy dml2_context when copying dc_state [WHY&HOW] dml2_context should be deep copied from src to dst dc_state. Reviewed-by: George Shen Acked-by: Wayne Lin Signed-off-by: Dillon Varone Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_state.c b/drivers/gpu/drm/amd/display/dc/core/dc_state.c index 66a70a60c479a..dd52cab7ecdf8 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_state.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_state.c @@ -212,10 +212,14 @@ struct dc_state *dc_state_create(struct dc *dc) void dc_state_copy(struct dc_state *dst_state, struct dc_state *src_state) { struct kref refcount = dst_state->refcount; +#ifdef CONFIG_DRM_AMD_DC_FP + struct dml2_context *dst_dml2 = dst_state->bw_ctx.dml2; +#endif dc_state_copy_internal(dst_state, src_state); #ifdef CONFIG_DRM_AMD_DC_FP + dst_state->bw_ctx.dml2 = dst_dml2; if (src_state->bw_ctx.dml2) dml2_copy(dst_state->bw_ctx.dml2, src_state->bw_ctx.dml2); #endif