aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0542-drm-amd-dal-small-refactoring-in-DP-related-code.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0542-drm-amd-dal-small-refactoring-in-DP-related-code.patch')
-rw-r--r--common/recipes-kernel/linux/files/0542-drm-amd-dal-small-refactoring-in-DP-related-code.patch81
1 files changed, 81 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0542-drm-amd-dal-small-refactoring-in-DP-related-code.patch b/common/recipes-kernel/linux/files/0542-drm-amd-dal-small-refactoring-in-DP-related-code.patch
new file mode 100644
index 00000000..4d1a5e40
--- /dev/null
+++ b/common/recipes-kernel/linux/files/0542-drm-amd-dal-small-refactoring-in-DP-related-code.patch
@@ -0,0 +1,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
+