aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0660-drm-amd-display-Roll-sink-struct-into-core_sink.patch
blob: 3ed17158a21567166654d6cc9d9b077dcc0c6092 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
From b5c0a3fcdbf4e629e39bc55c6541c3a097ff26fe Mon Sep 17 00:00:00 2001
From: Harry Wentland <harry.wentland@amd.com>
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 <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>
---
 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