[PATCH 2/2] drm/i915/mst: Fix black screen on-boot seen in some MST configurations

Dhinakaran Pandiyan dhinakaran.pandiyan at gmail.com
Fri Sep 1 19:38:51 UTC 2017


Use the POWER_DOWN_PHY and POWER_UP_PHY sideband message trasactions to
set power states for downstream sinks. This fixes the black screen at
boot in a configuration involving Dell monitor + dock.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
---
 drivers/gpu/drm/i915/intel_dp_mst.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
index 8e3aad0ea60b..9a9673e9381e 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -170,9 +170,8 @@ static void intel_mst_post_disable_dp(struct intel_encoder *encoder,
 	if (intel_dp->active_mst_links == 0) {
 		intel_dig_port->base.post_disable(&intel_dig_port->base,
 						  NULL, NULL);
-
-		intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_OFF);
 	}
+	drm_dp_send_power_updown_phy(&intel_dp->mst_mgr, connector->port, false);
 }
 
 static void intel_mst_pre_enable_dp(struct intel_encoder *encoder,
@@ -200,6 +199,7 @@ static void intel_mst_pre_enable_dp(struct intel_encoder *encoder,
 	if (intel_dp->active_mst_links == 0)
 		intel_dig_port->base.pre_enable(&intel_dig_port->base,
 						pipe_config, NULL);
+	drm_dp_send_power_updown_phy(&intel_dp->mst_mgr, connector->port, true);
 
 	ret = drm_dp_mst_allocate_vcpi(&intel_dp->mst_mgr,
 				       connector->port,
-- 
2.11.0



More information about the Intel-gfx-trybot mailing list