aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amdfalconx86/recipes-kernel/linux/files/0951-drm-amd-dal-validate-MST-connector-modes.patch
blob: 5cdf4cadeeae56ee5916e8738204e64e6d939c88 (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
From 3617d0f36cacb163808ca9420975601091b2e414 Mon Sep 17 00:00:00 2001
From: Mykola Lysenko <Mykola.Lysenko@amd.com>
Date: Mon, 14 Dec 2015 19:08:47 +0800
Subject: [PATCH 0951/1050] drm/amd/dal: validate MST connector modes

Same validation should be applied for MST connector,
as for regular one.

In this change default validation function is exposed
globally and used for MST connector

Change-Id: I23c8a0f13f91f7d40fc2fb16fa1bab4940a10809
Signed-off-by: Mykola Lysenko <Mykola.Lysenko@amd.com>
Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Acked-by: Harry Wentland<harry.wentland@amd.com>
---
 drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_mst_types.c | 9 +--------
 drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c     | 5 +++--
 drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.h     | 4 ++++
 3 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_mst_types.c
index ef3a835..23f816c 100644
--- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_mst_types.c
+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_mst_types.c
@@ -208,13 +208,6 @@ static int dm_dp_mst_get_modes(struct drm_connector *connector)
 	return ret;
 }
 
-static enum drm_mode_status
-dm_dp_mst_mode_valid(struct drm_connector *connector,
-			struct drm_display_mode *mode)
-{
-	return MODE_OK;
-}
-
 static struct drm_encoder *dm_mst_best_encoder(struct drm_connector *connector)
 {
 	struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector);
@@ -224,7 +217,7 @@ static struct drm_encoder *dm_mst_best_encoder(struct drm_connector *connector)
 
 static const struct drm_connector_helper_funcs dm_dp_mst_connector_helper_funcs = {
 	.get_modes = dm_dp_mst_get_modes,
-	.mode_valid = dm_dp_mst_mode_valid,
+	.mode_valid = amdgpu_dm_connector_mode_valid,
 	.best_encoder = dm_mst_best_encoder,
 };
 
diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c
index 60e800f..60865cb 100644
--- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c
+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c
@@ -1224,7 +1224,8 @@ static int get_modes(struct drm_connector *connector)
 	return amdgpu_connector->num_modes;
 }
 
-static int mode_valid(struct drm_connector *connector,
+int amdgpu_dm_connector_mode_valid(
+		struct drm_connector *connector,
 		struct drm_display_mode *mode)
 {
 	int result = MODE_ERROR;
@@ -1289,7 +1290,7 @@ amdgpu_dm_connector_helper_funcs = {
 	* in get_modes call back, not just return the modes count
 	*/
 	.get_modes = get_modes,
-	.mode_valid = mode_valid,
+	.mode_valid = amdgpu_dm_connector_mode_valid,
 	.best_encoder = best_encoder
 };
 
diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.h b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.h
index 1b8b3eb..5d1152e 100644
--- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.h
+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.h
@@ -92,6 +92,10 @@ void amdgpu_dm_connector_init_helper(
 	const struct dc_link *link,
 	int link_index);
 
+int amdgpu_dm_connector_mode_valid(
+	struct drm_connector *connector,
+	struct drm_display_mode *mode);
+
 extern const struct drm_encoder_helper_funcs amdgpu_dm_encoder_helper_funcs;
 
 #endif		/* __AMDGPU_DM_TYPES_H__ */
-- 
1.9.1