From b5c0a3fcdbf4e629e39bc55c6541c3a097ff26fe Mon Sep 17 00:00:00 2001 From: Harry Wentland Date: Mon, 24 Jul 2017 13:55:26 -0400 Subject: [PATCH 0660/4131] drm/amd/display: Roll sink struct into core_sink Signed-off-by: Harry Wentland Reviewed-by: Tony Cheng Acked-by: Harry Wentland Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/display/dc/core/dc_sink.c | 43 +++++++++---------------- drivers/gpu/drm/amd/display/dc/inc/core_types.h | 3 ++ 2 files changed, 18 insertions(+), 28 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_sink.c b/drivers/gpu/drm/amd/display/dc/core/dc_sink.c index 7f0ba72..1f7985a 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_sink.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_sink.c @@ -28,30 +28,18 @@ #include "core_types.h" /******************************************************************************* - * Private definitions - ******************************************************************************/ - -struct sink { - struct core_sink protected; - int ref_count; -}; - -#define DC_SINK_TO_SINK(dc_sink) \ - container_of(dc_sink, struct sink, protected.public) - -/******************************************************************************* * Private functions ******************************************************************************/ -static void destruct(struct sink *sink) +static void destruct(struct core_sink *sink) { - if (sink->protected.public.dc_container_id) { - dm_free(sink->protected.public.dc_container_id); - sink->protected.public.dc_container_id = NULL; + if (sink->public.dc_container_id) { + dm_free(sink->public.dc_container_id); + sink->public.dc_container_id = NULL; } } -static bool construct(struct sink *sink, const struct dc_sink_init_data *init_params) +static bool construct(struct core_sink *sink, const struct dc_sink_init_data *init_params) { struct dc_link *link = init_params->link; @@ -59,13 +47,12 @@ static bool construct(struct sink *sink, const struct dc_sink_init_data *init_pa if (!link) return false; - sink->protected.public.sink_signal = init_params->sink_signal; - sink->protected.link = link; - sink->protected.ctx = link->ctx; - sink->protected.public.dongle_max_pix_clk = init_params->dongle_max_pix_clk; - sink->protected.public.converter_disable_audio = - init_params->converter_disable_audio; - sink->protected.public.dc_container_id = NULL; + sink->public.sink_signal = init_params->sink_signal; + sink->link = link; + sink->ctx = link->ctx; + sink->public.dongle_max_pix_clk = init_params->dongle_max_pix_clk; + sink->public.converter_disable_audio = init_params->converter_disable_audio; + sink->public.dc_container_id = NULL; return true; } @@ -76,7 +63,7 @@ static bool construct(struct sink *sink, const struct dc_sink_init_data *init_pa void dc_sink_retain(const struct dc_sink *dc_sink) { - struct sink *sink = DC_SINK_TO_SINK(dc_sink); + struct core_sink *sink = DC_SINK_TO_CORE(dc_sink); ASSERT(sink->ref_count > 0); ++sink->ref_count; @@ -84,7 +71,7 @@ void dc_sink_retain(const struct dc_sink *dc_sink) void dc_sink_release(const struct dc_sink *dc_sink) { - struct sink *sink = DC_SINK_TO_SINK(dc_sink); + struct core_sink *sink = DC_SINK_TO_CORE(dc_sink); ASSERT(sink->ref_count > 0); --sink->ref_count; @@ -97,7 +84,7 @@ void dc_sink_release(const struct dc_sink *dc_sink) struct dc_sink *dc_sink_create(const struct dc_sink_init_data *init_params) { - struct sink *sink = dm_alloc(sizeof(*sink)); + struct core_sink *sink = dm_alloc(sizeof(*sink)); if (NULL == sink) goto alloc_fail; @@ -107,7 +94,7 @@ struct dc_sink *dc_sink_create(const struct dc_sink_init_data *init_params) ++sink->ref_count; - return &sink->protected.public; + return &sink->public; construct_fail: dm_free(sink); 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 6cdfeeb..eed31a8 100644 --- a/drivers/gpu/drm/amd/display/dc/inc/core_types.h +++ b/drivers/gpu/drm/amd/display/dc/inc/core_types.h @@ -94,6 +94,9 @@ struct core_sink { /* not used for now */ struct dc_link *link; struct dc_context *ctx; + + /* private to dc_sink.c */ + int ref_count; }; /************ link *****************/ -- 2.7.4