From: Dmytro Laktyushkin Date: Mon, 5 Dec 2016 23:03:04 +0000 (-0500) Subject: drm/amd/display: fix up construction of scratch_val_ctx X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=5ea81b91857882bb5bfa883fb27671133957a96c;p=linux.git drm/amd/display: fix up construction of scratch_val_ctx Signed-off-by: Dmytro Laktyushkin Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c index 522ef70475643..8e1d695fcb771 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc.c @@ -450,11 +450,6 @@ static void destruct(struct core_dc *dc) { resource_validate_ctx_destruct(dc->current_context); - dm_free(dc->temp_flip_context); - dc->temp_flip_context = NULL; - dm_free(dc->scratch_val_ctx); - dc->scratch_val_ctx = NULL; - destroy_links(dc); dc_destroy_resource_pool(dc); @@ -473,6 +468,10 @@ static void destruct(struct core_dc *dc) dm_free(dc->current_context); dc->current_context = NULL; + dm_free(dc->temp_flip_context); + dc->temp_flip_context = NULL; + dm_free(dc->scratch_val_ctx); + dc->scratch_val_ctx = NULL; dm_free(dc->ctx); dc->ctx = NULL; @@ -492,7 +491,7 @@ static bool construct(struct core_dc *dc, dc->current_context = dm_alloc(sizeof(*dc->current_context)); dc->temp_flip_context = dm_alloc(sizeof(*dc->temp_flip_context)); - dc->scratch_val_ctx = dm_alloc(sizeof(*dc->temp_flip_context)); + dc->scratch_val_ctx = dm_alloc(sizeof(*dc->scratch_val_ctx)); if (!dc->current_context || !dc->temp_flip_context) { dm_error("%s: failed to create validate ctx\n", __func__); @@ -1220,6 +1219,7 @@ bool dc_pre_update_surfaces_to_target( goto unexpected_fail; } resource_validate_ctx_destruct(context); + ASSERT(core_dc->scratch_val_ctx == temp_context); core_dc->scratch_val_ctx = context; context = temp_context; } diff --git a/drivers/gpu/drm/amd/display/dc/inc/core_types.h b/drivers/gpu/drm/amd/display/dc/inc/core_types.h index 0418e3e02c7a3..3cf9bfb6decd7 100644 --- a/drivers/gpu/drm/amd/display/dc/inc/core_types.h +++ b/drivers/gpu/drm/amd/display/dc/inc/core_types.h @@ -312,7 +312,7 @@ struct validate_context { /* The output from BW and WM calculations. */ struct bw_calcs_output bw_results; - /* Note: this is a big structure, do *not* put on stack! */ + /* Note: these are big structures, do *not* put on stack! */ struct dm_pp_display_configuration pp_display_cfg; };