From: Dale Whinham <daleyo@gmail.com>
To: Rob Clark <robdclark@gmail.com>,
Abhinav Kumar <quic_abhinavk@quicinc.com>,
Dmitry Baryshkov <lumag@kernel.org>, Sean Paul <sean@poorly.run>,
Marijn Suijten <marijn.suijten@somainline.org>,
David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>
Cc: "Jérôme de Bretagne" <jerome.debretagne@gmail.com>,
"Dale Whinham" <daleyo@gmail.com>,
linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org,
freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org
Subject: [PATCH 6/9] drm/msm/dp: Work around bogus maximum link rate
Date: Mon, 14 Jul 2025 18:35:42 +0100 [thread overview]
Message-ID: <20250714173554.14223-7-daleyo@gmail.com> (raw)
In-Reply-To: <20250714173554.14223-1-daleyo@gmail.com>
From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
The OLED display in the Surface Pro 11 reports a maximum link rate of
zero in its DPCD, causing it to fail to probe correctly.
The Surface Pro 11's DSDT table contains some XML with an
"EDPOverrideDPCDCaps" block that defines the max link rate as 0x1E
(8.1Gbps/HBR3).
Add a quirk to conditionally override the max link rate if its value
is zero specifically for this model.
Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
Signed-off-by: Dale Whinham <daleyo@gmail.com>
---
drivers/gpu/drm/msm/dp/dp_panel.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/gpu/drm/msm/dp/dp_panel.c b/drivers/gpu/drm/msm/dp/dp_panel.c
index 4e8ab75c771b..b2e65b987c05 100644
--- a/drivers/gpu/drm/msm/dp/dp_panel.c
+++ b/drivers/gpu/drm/msm/dp/dp_panel.c
@@ -11,6 +11,8 @@
#include <drm/drm_of.h>
#include <drm/drm_print.h>
+#include <linux/dmi.h>
+
#define DP_MAX_NUM_DP_LANES 4
#define DP_LINK_RATE_HBR2 540000 /* kbytes */
@@ -58,6 +60,17 @@ static int msm_dp_panel_read_dpcd(struct msm_dp_panel *msm_dp_panel)
if (rc)
return rc;
+ /*
+ * for some reason the ATNA30DW01-1 OLED panel in the Surface Pro 11
+ * reports a max link rate of 0 in the DPCD. Fix it to match the
+ * EDPOverrideDPCDCaps string found in the ACPI DSDT
+ */
+ if (dpcd[DP_MAX_LINK_RATE] == 0 &&
+ dmi_match(DMI_SYS_VENDOR, "Microsoft Corporation") &&
+ dmi_match(DMI_PRODUCT_NAME, "Microsoft Surface Pro, 11th Edition")) {
+ dpcd[1] = DP_LINK_BW_8_1;
+ }
+
msm_dp_panel->vsc_sdp_supported = drm_dp_vsc_sdp_supported(panel->aux, dpcd);
link_info = &msm_dp_panel->link_info;
link_info->revision = dpcd[DP_DPCD_REV];
--
2.50.1
next prev parent reply other threads:[~2025-07-15 7:25 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-14 17:35 [PATCH 0/9] Microsoft Surface Pro 11 support Dale Whinham
2025-07-14 17:35 ` [PATCH 2/9] dt-bindings: display: panel: samsung, atna30dw01: document ATNA30DW01 Dale Whinham
2025-07-14 17:41 ` [PATCH 2/9] dt-bindings: display: panel: samsung,atna30dw01: " Doug Anderson
2025-07-15 3:58 ` Rob Herring (Arm)
2025-07-15 17:26 ` Doug Anderson
2025-07-14 17:35 ` Dale Whinham [this message]
2025-07-14 19:50 ` [PATCH 6/9] drm/msm/dp: Work around bogus maximum link rate Rob Clark
2025-07-15 22:52 ` Jérôme de Bretagne
2025-07-17 2:21 ` Xilin Wu
2025-07-17 20:27 ` Jérôme de Bretagne
2025-07-17 21:10 ` Konrad Dybcio
2025-07-17 21:36 ` Jérôme de Bretagne
2025-07-18 10:52 ` Dmitry Baryshkov
2025-07-18 18:18 ` Jérôme de Bretagne
2025-07-18 18:26 ` Jérôme de Bretagne
2025-07-18 18:30 ` Dmitry Baryshkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250714173554.14223-7-daleyo@gmail.com \
--to=daleyo@gmail.com \
--cc=airlied@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=jerome.debretagne@gmail.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lumag@kernel.org \
--cc=marijn.suijten@somainline.org \
--cc=quic_abhinavk@quicinc.com \
--cc=robdclark@gmail.com \
--cc=sean@poorly.run \
--cc=simona@ffwll.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).