aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0542-drm-amd-dal-small-refactoring-in-DP-related-code.patch
blob: 4d1a5e40a97badb334f31173c608a32b045376b3 (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
From 4f1d9df2b807835c4c977392abcb0e65b2f51f46 Mon Sep 17 00:00:00 2001
From: Mykola Lysenko <Mykola.Lysenko@amd.com>
Date: Tue, 1 Dec 2015 18:26:31 +0800
Subject: [PATCH 0542/1110] drm/amd/dal: small refactoring in DP related code

Reuse regular DP code in MST case instead of duplication
Ident properly few places in link training code

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
---
 drivers/gpu/drm/amd/dal/dc/core/dc_link_dp.c   | 16 ++++++++--------
 drivers/gpu/drm/amd/dal/dc/core/dc_link_hwss.c | 12 ++----------
 2 files changed, 10 insertions(+), 18 deletions(-)

diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/dal/dc/core/dc_link_dp.c
index 9214aec..71e6f8c 100644
--- a/drivers/gpu/drm/amd/dal/dc/core/dc_link_dp.c
+++ b/drivers/gpu/drm/amd/dal/dc/core/dc_link_dp.c
@@ -1315,9 +1315,9 @@ static bool hpd_rx_irq_check_link_loss_status(
 	 */
 
 	dpcd_result = core_link_read_dpcd(link,
-	DPCD_ADDRESS_POWER_STATE,
-	&irq_reg_rx_power_state,
-	sizeof(irq_reg_rx_power_state));
+		DPCD_ADDRESS_POWER_STATE,
+		&irq_reg_rx_power_state,
+		sizeof(irq_reg_rx_power_state));
 
 	if (dpcd_result != DC_OK) {
 		irq_reg_rx_power_state = DP_PWR_STATE_D0;
@@ -1333,15 +1333,15 @@ static bool hpd_rx_irq_check_link_loss_status(
 		/*2. Check that Link Status changed, before re-training.*/
 
 		/*parse lane status*/
-		for (lane = 0; lane <
-			(uint32_t)(link->cur_link_settings.lane_count) &&
-			!sink_status_changed; lane++) {
+		for (lane = 0;
+			lane < link->cur_link_settings.lane_count;
+			lane++) {
 
 			/* check status of lanes 0,1
 			 * changed DpcdAddress_Lane01Status (0x202)*/
 			lane_status.raw = get_nibble_at_index(
-			&hpd_irq_dpcd_data->bytes.lane01_status.raw,
-			lane);
+				&hpd_irq_dpcd_data->bytes.lane01_status.raw,
+				lane);
 
 			if (!lane_status.bits.CHANNEL_EQ_DONE_0 ||
 				!lane_status.bits.CR_DONE_0 ||
diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_link_hwss.c b/drivers/gpu/drm/amd/dal/dc/core/dc_link_hwss.c
index e7673ed..8ef4674 100644
--- a/drivers/gpu/drm/amd/dal/dc/core/dc_link_hwss.c
+++ b/drivers/gpu/drm/amd/dal/dc/core/dc_link_hwss.c
@@ -95,18 +95,10 @@ void dp_disable_link_phy_mst(struct core_link *link, struct core_stream *stream)
 		}
 	}
 	/* MST disable link only when no stream use the link */
-	if (link->enabled_stream_count > 0) {
+	if (link->enabled_stream_count > 0)
 		return;
-	}
-
-	if (!link->dp_wa.bits.KEEP_RECEIVER_POWERED)
-		dp_receiver_power_ctrl(link, false);
 
-	link->dc->hwss.encoder_disable_output(link->link_enc, stream->signal);
-
-	/* Clear current link setting.*/
-	dc_service_memset(&link->cur_link_settings, 0,
-			sizeof(link->cur_link_settings));
+	dp_disable_link_phy(link, stream->signal);
 }
 
 bool dp_set_hw_training_pattern(
-- 
2.7.4