summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetri Gynther <pgynther@google.com>2024-03-15 11:18:38 -0700
committerPetri Gynther <pgynther@google.com>2024-03-15 14:19:08 -0700
commitab192d3d7ce698a5b6907e439ceea16edab6f279 (patch)
tree3f18b6215208dedfdbbcefe0d4324dda7cecac83
parentaad4bf72150f7f3e9e6d5fa786074cdc9ba941e3 (diff)
downloaddisplay-android-gs-shusky-5.15-android14-qpr3-beta.tar.gz
Bug: 329876567 Signed-off-by: Petri Gynther <pgynther@google.com> Change-Id: I130cf4b5378edfcafcd56d7539875e149389c263
-rw-r--r--samsung/exynos_drm_dp.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/samsung/exynos_drm_dp.c b/samsung/exynos_drm_dp.c
index 597fce7..97786f2 100644
--- a/samsung/exynos_drm_dp.c
+++ b/samsung/exynos_drm_dp.c
@@ -955,6 +955,20 @@ static int dp_link_up(struct dp_device *dp)
}
}
+ /*
+ * Sanity-check DP_DPCD_REV and DP_MAX_LINK_RATE values.
+ *
+ * Per DP CTS test 4.2.2.2, on future sinks, these values can be
+ * higher than 0x14 (DPCD r1.4) and 0x1E (HBR3).
+ *
+ * If connected to such sink, adjust the max link rate to HBR3.
+ */
+ if (dpcd[DP_DPCD_REV] > DP_DPCD_REV_14 && dpcd[DP_MAX_LINK_RATE] > DP_LINK_BW_8_1) {
+ dp_info(dp, "DP Sink: DPCD_%X MAX_LINK_RATE 0x%X, adjust max to HBR3\n",
+ dpcd[DP_DPCD_REV], dpcd[DP_MAX_LINK_RATE]);
+ dpcd[DP_MAX_LINK_RATE] = DP_LINK_BW_8_1;
+ }
+
/* Fill Sink Capabilities */
dp_fill_sink_caps(dp, dpcd);