diff options
author | Harry Wentland <harry.wentland@amd.com> | 2017-07-24 13:55:26 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-09-26 18:15:36 -0400 |
commit | 89899039356a645c1cebe5a454d3577aa1f42bf2 (patch) | |
tree | a399022da122d6480137b73ead8b9bdc118d84dc /drivers/gpu/drm/amd | |
parent | d0778ebfd58f5650de17531296ee5ecdde39ba68 (diff) |
drm/amd/display: Roll sink struct into core_sink
Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd')
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/core/dc_sink.c | 43 | ||||
-rw-r--r-- | 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 7f0ba7267682..1f7985ad5dba 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 @@ | |||
28 | #include "core_types.h" | 28 | #include "core_types.h" |
29 | 29 | ||
30 | /******************************************************************************* | 30 | /******************************************************************************* |
31 | * Private definitions | ||
32 | ******************************************************************************/ | ||
33 | |||
34 | struct sink { | ||
35 | struct core_sink protected; | ||
36 | int ref_count; | ||
37 | }; | ||
38 | |||
39 | #define DC_SINK_TO_SINK(dc_sink) \ | ||
40 | container_of(dc_sink, struct sink, protected.public) | ||
41 | |||
42 | /******************************************************************************* | ||
43 | * Private functions | 31 | * Private functions |
44 | ******************************************************************************/ | 32 | ******************************************************************************/ |
45 | 33 | ||
46 | static void destruct(struct sink *sink) | 34 | static void destruct(struct core_sink *sink) |
47 | { | 35 | { |
48 | if (sink->protected.public.dc_container_id) { | 36 | if (sink->public.dc_container_id) { |
49 | dm_free(sink->protected.public.dc_container_id); | 37 | dm_free(sink->public.dc_container_id); |
50 | sink->protected.public.dc_container_id = NULL; | 38 | sink->public.dc_container_id = NULL; |
51 | } | 39 | } |
52 | } | 40 | } |
53 | 41 | ||
54 | static bool construct(struct sink *sink, const struct dc_sink_init_data *init_params) | 42 | static bool construct(struct core_sink *sink, const struct dc_sink_init_data *init_params) |
55 | { | 43 | { |
56 | 44 | ||
57 | struct dc_link *link = init_params->link; | 45 | 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 | |||
59 | if (!link) | 47 | if (!link) |
60 | return false; | 48 | return false; |
61 | 49 | ||
62 | sink->protected.public.sink_signal = init_params->sink_signal; | 50 | sink->public.sink_signal = init_params->sink_signal; |
63 | sink->protected.link = link; | 51 | sink->link = link; |
64 | sink->protected.ctx = link->ctx; | 52 | sink->ctx = link->ctx; |
65 | sink->protected.public.dongle_max_pix_clk = init_params->dongle_max_pix_clk; | 53 | sink->public.dongle_max_pix_clk = init_params->dongle_max_pix_clk; |
66 | sink->protected.public.converter_disable_audio = | 54 | sink->public.converter_disable_audio = init_params->converter_disable_audio; |
67 | init_params->converter_disable_audio; | 55 | sink->public.dc_container_id = NULL; |
68 | sink->protected.public.dc_container_id = NULL; | ||
69 | 56 | ||
70 | return true; | 57 | return true; |
71 | } | 58 | } |
@@ -76,7 +63,7 @@ static bool construct(struct sink *sink, const struct dc_sink_init_data *init_pa | |||
76 | 63 | ||
77 | void dc_sink_retain(const struct dc_sink *dc_sink) | 64 | void dc_sink_retain(const struct dc_sink *dc_sink) |
78 | { | 65 | { |
79 | struct sink *sink = DC_SINK_TO_SINK(dc_sink); | 66 | struct core_sink *sink = DC_SINK_TO_CORE(dc_sink); |
80 | 67 | ||
81 | ASSERT(sink->ref_count > 0); | 68 | ASSERT(sink->ref_count > 0); |
82 | ++sink->ref_count; | 69 | ++sink->ref_count; |
@@ -84,7 +71,7 @@ void dc_sink_retain(const struct dc_sink *dc_sink) | |||
84 | 71 | ||
85 | void dc_sink_release(const struct dc_sink *dc_sink) | 72 | void dc_sink_release(const struct dc_sink *dc_sink) |
86 | { | 73 | { |
87 | struct sink *sink = DC_SINK_TO_SINK(dc_sink); | 74 | struct core_sink *sink = DC_SINK_TO_CORE(dc_sink); |
88 | 75 | ||
89 | ASSERT(sink->ref_count > 0); | 76 | ASSERT(sink->ref_count > 0); |
90 | --sink->ref_count; | 77 | --sink->ref_count; |
@@ -97,7 +84,7 @@ void dc_sink_release(const struct dc_sink *dc_sink) | |||
97 | 84 | ||
98 | struct dc_sink *dc_sink_create(const struct dc_sink_init_data *init_params) | 85 | struct dc_sink *dc_sink_create(const struct dc_sink_init_data *init_params) |
99 | { | 86 | { |
100 | struct sink *sink = dm_alloc(sizeof(*sink)); | 87 | struct core_sink *sink = dm_alloc(sizeof(*sink)); |
101 | 88 | ||
102 | if (NULL == sink) | 89 | if (NULL == sink) |
103 | goto alloc_fail; | 90 | goto alloc_fail; |
@@ -107,7 +94,7 @@ struct dc_sink *dc_sink_create(const struct dc_sink_init_data *init_params) | |||
107 | 94 | ||
108 | ++sink->ref_count; | 95 | ++sink->ref_count; |
109 | 96 | ||
110 | return &sink->protected.public; | 97 | return &sink->public; |
111 | 98 | ||
112 | construct_fail: | 99 | construct_fail: |
113 | dm_free(sink); | 100 | 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 6cdfeeba0faf..eed31a827a90 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 { | |||
94 | /* not used for now */ | 94 | /* not used for now */ |
95 | struct dc_link *link; | 95 | struct dc_link *link; |
96 | struct dc_context *ctx; | 96 | struct dc_context *ctx; |
97 | |||
98 | /* private to dc_sink.c */ | ||
99 | int ref_count; | ||
97 | }; | 100 | }; |
98 | 101 | ||
99 | /************ link *****************/ | 102 | /************ link *****************/ |