summary refs log tree commit diff
path: root/drivers
diff options
context:
space:
mode:
authorSwapnil Patel <swapatel@amd.com>2023-11-21 17:00:14 -0500
committerChristian Marcheselli <christianm@valvesoftware.com>2023-11-21 16:03:57 -0800
commitd28ab6b875cbe5d76033f00518e183b88328d299 (patch)
treeb25f1baa429a5e489b78e60ea73358685e16fc47 /drivers
parent04394c2cde5a60cfab2cf0425586967cd4f17d1f (diff)
downloadlinux-d28ab6b875cbe5d76033f00518e183b88328d299.tar.gz
Add 2s delay before enabling DP link for dock
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c9
1 files changed, 9 insertions, 0 deletions
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 55bb9fa9eb62..c91c5855e898 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
@@ -91,6 +91,8 @@
 #define FN(reg_name, field_name) \
 	hws->shifts->field_name, hws->masks->field_name
 
+static const uint8_t DP_SINK_BRANCH_DEV_NAME_KT50X0[] = "KT50X0!";
+
 struct dce110_hw_seq_reg_offsets {
 	uint32_t crtc;
 };
@@ -3054,6 +3056,13 @@ void dce110_enable_dp_link_output(
 			link->dc->res_pool->dp_clock_source;
 	const struct link_hwss *link_hwss = get_link_hwss(link, link_res);
 	unsigned int i;
+	if (link->ctx->dce_version == DCN_VERSION_3_01 &&
+	    link->dpcd_caps.sink_dev_id == DP_BRANCH_DEVICE_ID_0060AD &&
+	    memcmp(&link->dpcd_caps.branch_dev_name,
+		   DP_SINK_BRANCH_DEV_NAME_KT50X0,
+		   sizeof(link->dpcd_caps.branch_dev_name)) == 0) {
+		msleep(2000);
+	}
 
 	/*
 	 * Add the logic to extract BOTH power up and power down sequences