aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharlene Liu <charlene.liu@amd.com>2018-01-18 12:53:04 -0500
committerAlex Deucher <alexander.deucher@amd.com>2018-02-19 14:19:24 -0500
commit69b9723a81e74e517048e1523a24d76fe8e2aef2 (patch)
treea27f1e222ef36906503c32c5485e7e4a31f0d3fe
parentfdb401d03d311399d844b9f23ec5ab98a2811f58 (diff)
drm/amd/display: wait for T9 after backlight off mainlink blank.
Signed-off-by: Charlene Liu <charlene.liu@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>
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c3
-rw-r--r--drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c2
-rw-r--r--drivers/gpu/drm/amd/display/dc/inc/link_hwss.h1
3 files changed, 4 insertions, 2 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 2096f2a179f2..524f4aafa543 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
@@ -102,7 +102,7 @@ void dp_enable_link_phy(
102 dp_receiver_power_ctrl(link, true); 102 dp_receiver_power_ctrl(link, true);
103} 103}
104 104
105static bool edp_receiver_ready_T9(struct dc_link *link) 105bool edp_receiver_ready_T9(struct dc_link *link)
106{ 106{
107 unsigned int tries = 0; 107 unsigned int tries = 0;
108 unsigned char sinkstatus = 0; 108 unsigned char sinkstatus = 0;
@@ -130,7 +130,6 @@ void dp_disable_link_phy(struct dc_link *link, enum signal_type signal)
130 dp_receiver_power_ctrl(link, false); 130 dp_receiver_power_ctrl(link, false);
131 131
132 if (signal == SIGNAL_TYPE_EDP) { 132 if (signal == SIGNAL_TYPE_EDP) {
133 edp_receiver_ready_T9(link);
134 link->link_enc->funcs->disable_output(link->link_enc, signal); 133 link->link_enc->funcs->disable_output(link->link_enc, signal);
135 link->dc->hwss.edp_power_control(link, false); 134 link->dc->hwss.edp_power_control(link, false);
136 } else 135 } else
diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
index d293cafb6418..fbb84a7ccaf5 100644
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
@@ -928,6 +928,8 @@ void hwss_edp_backlight_control(
928 */ 928 */
929 /* dc_service_sleep_in_milliseconds(50); */ 929 /* dc_service_sleep_in_milliseconds(50); */
930 link_transmitter_control(ctx->dc_bios, &cntl); 930 link_transmitter_control(ctx->dc_bios, &cntl);
931 /*edp 1.2*/
932 edp_receiver_ready_T9(link);
931} 933}
932 934
933void dce110_disable_stream(struct pipe_ctx *pipe_ctx, int option) 935void dce110_disable_stream(struct pipe_ctx *pipe_ctx, int option)
diff --git a/drivers/gpu/drm/amd/display/dc/inc/link_hwss.h b/drivers/gpu/drm/amd/display/dc/inc/link_hwss.h
index f2b8c9a376d5..46bb201aab6a 100644
--- a/drivers/gpu/drm/amd/display/dc/inc/link_hwss.h
+++ b/drivers/gpu/drm/amd/display/dc/inc/link_hwss.h
@@ -51,6 +51,7 @@ void dp_enable_link_phy(
51 const struct dc_link_settings *link_settings); 51 const struct dc_link_settings *link_settings);
52 52
53void dp_receiver_power_ctrl(struct dc_link *link, bool on); 53void dp_receiver_power_ctrl(struct dc_link *link, bool on);
54bool edp_receiver_ready_T9(struct dc_link *link);
54 55
55void dp_disable_link_phy(struct dc_link *link, enum signal_type signal); 56void dp_disable_link_phy(struct dc_link *link, enum signal_type signal);
56 57