summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c
diff options
context:
space:
mode:
authorCharlene Liu <charlene.liu@amd.com>2017-08-03 13:04:44 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-09-26 18:16:18 -0400
commitc10efbd3714bfb6fff8c3b8e2d817028bc25355b (patch)
treed2bdf74977c3ab0b8b59c0a1a12616e40d5b3aa0 /drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c
parent2a8f6ccb665c6ac53afdcf76b2aaa7fc5e513bfc (diff)
drm/amd/display: fix eDP power down sequence
Signed-off-by: Charlene Liu <charlene.liu@amd.com> Reviewed-by: Anthony Koo <Anthony.Koo@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/display/dc/core/dc_link_hwss.c')
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c
index 822568767f2d..d19c663c257f 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c
@@ -90,10 +90,13 @@ void dp_enable_link_phy(
if (dc_is_dp_sst_signal(signal)) {
if (signal == SIGNAL_TYPE_EDP) {
link_enc->funcs->power_control(link_enc, true);
+ link_enc->funcs->enable_dp_output(
+ link_enc,
+ link_settings,
+ clock_source);
link_enc->funcs->backlight_control(link_enc, true);
- }
-
- link_enc->funcs->enable_dp_output(
+ } else
+ link_enc->funcs->enable_dp_output(
link_enc,
link_settings,
clock_source);
@@ -114,10 +117,10 @@ void dp_disable_link_phy(struct dc_link *link, enum signal_type signal)
if (signal == SIGNAL_TYPE_EDP) {
link->link_enc->funcs->backlight_control(link->link_enc, false);
+ link->link_enc->funcs->disable_output(link->link_enc, signal);
link->link_enc->funcs->power_control(link->link_enc, false);
- }
-
- link->link_enc->funcs->disable_output(link->link_enc, signal);
+ } else
+ link->link_enc->funcs->disable_output(link->link_enc, signal);
/* Clear current link setting.*/
memset(&link->cur_link_settings, 0,