[PATCH AUTOSEL 6.18] drm/panel-edp: Add LG LP129WT232166 panel
From: Sasha Levin
Date: Mon Aug 31 2026 - 14:09:00 EST
From: Jérôme de Bretagne <jerome.debretagne@xxxxxxxxx>
[ Upstream commit 31ac8899d1a9284fb50bd42c409f224788220e27 ]
Add an entry for the eDP LG LP129WT232166 panel used in
the Microsoft Surface Pro 9 5G.
edid-decode (hex):
00 ff ff ff ff ff ff 00 30 e4 b2 06 a1 25 10 00
00 1f 01 04 a5 1b 12 78 01 ef 70 a7 51 4c a8 26
0e 4f 53 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 fd 00 18 78 f1
f1 48 01 0a 20 20 20 20 20 20 00 00 00 fe 00 4c
47 44 5f 4d 50 31 2e 30 5f 0a 20 20 00 00 00 fe
00 4c 50 31 32 39 57 54 32 33 32 31 36 36 01 23
70 13 79 00 00 03 01 14 56 16 01 88 3f 0b 4f 00
07 80 1f 00 7f 07 55 00 47 00 07 00 03 01 14 56
16 01 08 3f 0b 4f 00 07 80 1f 00 7f 07 2b 08 47
00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 2c 90
Signed-off-by: Jérôme de Bretagne <jerome.debretagne@xxxxxxxxx>
Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
Link: https://patch.msgid.link/20260520-surface-sp9-5g-for-next-v1-1-9df52552bf87@xxxxxxxxx
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
LLM Generated explanations, may be completely bogus:
# Stable Backport Analysis: drm/panel-edp: Add LG LP129WT232166 panel
**Local tree:** Linux **6.18.44** (`git describe HEAD` → `v6.18.44`,
`make kernelversion` → `6.18.44`)
---
## PHASE 1: COMMIT MESSAGE FORENSICS
**Step 1.1 – Subject line**
Record: `[drm/panel-edp]` `[Add]` — Add LG LP129WT232166 eDP panel entry
for Microsoft Surface Pro 9 5G.
**Step 1.2 – Tags**
Record:
- `Signed-off-by: Jérôme de Bretagne <jerome.debretagne@xxxxxxxxx>`
(author)
- `Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>` (DRM/panel
maintainer review)
- `Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx>` (committer)
- `Link: https://patch.msgid.link/20260520-surface-sp9-5g-for-
next-v1-1-9df52552bf87@xxxxxxxxx` (patch series context)
- No `Fixes:`, `Reported-by:`, `Cc: stable@xxxxxxxxxxxxxxx`, or syzbot
tags
Notable: Reviewed and committed by Douglas Anderson (panel-edp
maintainer). Part of Surface Pro 9 5G bring-up series.
**Step 1.3 – Body analysis**
Record:
- **Bug/problem:** LG LP129WT232166 panel (LGD vendor, product ID 0x06b2
per EDID) is not in the `edp_panels[]` lookup table.
- **Symptom:** When `panel-edp` probes this panel, `find_edp_panel()`
returns NULL → `WARN_ON` + conservative fallback timings instead of
correct power-sequencing delays.
- **Root cause:** Missing table entry for a known panel on Surface Pro 9
5G.
- **EDID provided** in commit message for verification (vendor `LGD`,
product `0x06b2`).
**Step 1.4 – Hidden bug fix?**
Record: Yes, disguised as "Add panel." Without the entry, the driver
uses `panel_edp_set_conservative_timings()` (2000 ms unprepare, 200 ms
enable) instead of the standard LG delay profile
(`delay_200_500_e200_d200`: 200/500/200/200 ms). That can cause slow
resume, flicker, or display reliability issues on affected hardware.
---
## PHASE 2: DIFF ANALYSIS
**Step 2.1 – Inventory**
Record:
- **Files:** `drivers/gpu/drm/panel/panel-edp.c` (+1 line)
- **Function/region:** `edp_panels[]` static table (around line 2130 in
upstream diff; ~2071 in local tree)
- **Scope:** Single-file, single-line surgical addition
**Step 2.2 – Code flow change**
Record:
- **Before:** Panel ID `LGD 0x06b2` not matched → `find_edp_panel()`
returns NULL → conservative timings + `WARN_ON`.
- **After:** Panel matched → correct `delay_200_500_e200_d200` applied →
`dev_info()` logs detected panel name.
- **Path affected:** `generic_edp_panel_probe()` during `panel-edp`
device probe on systems with `compatible = "edp-panel"`.
**Step 2.3 – Bug mechanism**
Record: **Hardware workaround / panel timing table entry** (category h).
The `panel-edp` driver auto-detects panels via EDID and selects power-
sequencing delays from `edp_panels[]`. Missing entry → wrong delays.
**Step 2.4 – Fix quality**
Record: Obviously correct. Uses the same `delay_200_500_e200_d200`
profile as other LG Display entries. Inserted in correct sorted position
(vendor `LGD`, product `0x06b2` between `0x05f1` and `0x0778`). Minimal
risk; no API, locking, or logic changes.
---
## PHASE 3: GIT HISTORY INVESTIGATION
**Step 3.1 – Blame**
Record: LG panel entries in `edp_panels[]` date from 2022–2024 (e.g.,
Pin-yen Lin 2023-12-14, Aleksandrs Vinarskis 2024-10-08). The `panel-
edp` infrastructure has been stable for years. The missing `0x06b2`
entry was never added — this is an omission, not a regression from a
recent commit.
**Step 3.2 – Fixes: tag**
Record: N/A — no `Fixes:` tag present.
**Step 3.3 – Related file history**
Record: Recent `panel-edp.c` commits in 6.18.44 are all similar panel-ID
additions:
- `754dbf164acd4` — SHP LQ134Z1 for Dell XPS 9345
- `b173ba3365ff0` — BOE NV140WUM-T08
- `0bd968c04acfb` — AUO B140QAX01.H
Standalone one-liner; not part of a multi-patch dependency series.
**Step 3.4 – Author context**
Record: Jérôme de Bretagne is the Surface Pro 9 5G platform author
(`f6231a2eefd43` DTS, `c54eeb8feff57` aggregator registry). Douglas
Anderson is the `panel-edp` maintainer (committed similar panel
additions).
**Step 3.5 – Dependencies**
Record: No prerequisites. Patch is self-contained.
`delay_200_500_e200_d200` and `EDP_PANEL_ENTRY` macro already exist in
6.18.44. Applies cleanly.
---
## PHASE 4: MAILING LIST AND EXTERNAL RESEARCH
**Step 4.1 – Original discussion**
Record: `b4 dig -c <commit>` could not be run — commit hash not present
in local tree. Link fetch blocked by Anubis bot protection on
patch.msgid.link and lore.kernel.org. Patch is v1 of Surface Pro 9 5G
series per Link URL (`surface-sp9-5g-for-next-v1-1`).
**Step 4.2 – Reviewers**
Record: UNVERIFIED via `b4 dig -w` (no commit hash). Commit message
shows Reviewed-by and Signed-off-by from Douglas Anderson.
**Step 4.3 – Bug report**
Record: N/A — no external bug report; hardware enablement patch with
EDID data.
**Step 4.4 – Related patches**
Record: Part of Surface Pro 9 5G series. In 6.18.44, SP9 5G DTS
(`sc8280xp-microsoft-arcata.dts`) exists but **does not yet wire up
internal display** (`edp-panel` / `mdss0_dp3` absent). Original DTS
commit (`f6231a2eefd43`) explicitly lists built-in display as
unsupported. Display bring-up is ongoing; this panel entry is a
prerequisite for when that lands.
**Step 4.5 – Stable list**
Record: UNVERIFIED — lore.kernel.org inaccessible.
---
## PHASE 5: CODE SEMANTIC ANALYSIS
**Step 5.1 – Key functions**
Record: `generic_edp_panel_probe()`, `find_edp_panel()`,
`panel_edp_probe()`, `panel_edp_platform_probe()`,
`panel_edp_aux_probe()`.
**Step 5.2 – Callers**
Record: `panel_edp_probe()` called from platform and DP AUX bus probe
paths. Used on many Qualcomm platforms with `compatible = "edp-panel"`
in DT (e.g., ThinkPad X13s, Dell XPS 9345, HP Omnibook X14, CRD boards).
Config: `CONFIG_DRM_PANEL_EDP`.
**Step 5.3 – Callees**
Record: `drm_edid_read_base_block()`, `drm_edid_get_panel_id()`,
`find_edp_panel()`, `panel_edp_set_conservative_timings()`,
`pm_runtime_get_sync()`.
**Step 5.4 – Reachability**
Record: Reachable when a platform has an `edp-panel` DT node and the
physical panel reports EDID `LGD 0x06b2`. **Not currently reachable on
Surface Pro 9 5G in 6.18.44** because `sc8280xp-microsoft-arcata.dts`
lacks `edp-panel` configuration. Will become reachable when display DT
is added.
**Step 5.5 – Similar patterns**
Record: Dozens of identical one-line `EDP_PANEL_ENTRY()` additions in
this file. Same pattern as `754dbf164acd4` (Dell XPS 9345), which has
both panel entry and working `edp-panel` DT in this tree.
---
## PHASE 6: CROSS-REFERENCING AGAINST LOCAL TREE (6.18.44)
**Step 6.1 – Buggy code exists?**
Record: **YES.** `panel-edp.c` and `edp_panels[]` exist. LG entries use
`delay_200_500_e200_d200`. Entry for `0x06b2` is **absent** (grep
confirms no `0x06b2` or `LP129WT232166`). Commit not yet in 6.18.44.
**Step 6.2 – Backport complications**
Record: **Clean apply expected.** Single line insertion between existing
LGD entries at `0x05f1` and `0x0778`. No conflicts anticipated.
**Step 6.3 – Related fixes already present?**
Record: **NO.** No alternative fix for this panel ID in tree.
---
## PHASE 7: SUBSYSTEM AND MAINTAINER CONTEXT
**Step 7.1 – Subsystem criticality**
Record: `drivers/gpu/drm/panel/` — **IMPORTANT** (display subsystem).
Affects users of specific eDP panels on ARM64 Qualcomm laptops/tablets.
**Step 7.2 – Subsystem activity**
Record: Actively maintained; frequent panel-ID additions in 6.18.y (5+
similar commits in recent history).
---
## PHASE 8: IMPACT AND RISK ASSESSMENT
**Step 8.1 – Who is affected**
Record: **Platform-specific** — Microsoft Surface Pro 9 5G users (and
any future system using this exact LGD panel via `panel-edp`). SP9 5G
platform support is already in 6.18.44; display DT is pending.
**Step 8.2 – Trigger conditions**
Record: Boot with `panel-edp` driver bound to an `edp-panel` device
whose EDID reports vendor `LGD`, product `0x06b2`. Not triggerable on
SP9 5G today in this tree (no `edp-panel` DT), but will be once display
is enabled. Unprivileged users cannot trigger directly; it's a probe-
time hardware matching issue.
**Step 8.3 – Failure mode severity**
Record: Without fix — `WARN_ON` in dmesg + suboptimal power-sequencing
delays. Can cause **display flicker, slow power transitions, or
unreliable panel bring-up** (severity: **MEDIUM-HIGH** for affected
hardware; **LOW today** in 6.18.44 since SP9 5G display path isn't wired
yet).
**Step 8.4 – Risk vs benefit**
Record:
- **Benefit:** HIGH for SP9 5G display enablement (prerequisite panel
table entry); aligns with existing platform support in tree.
- **Risk:** VERY LOW — one table line, reviewed by maintainer, identical
pattern to many prior stable backports.
- **Ratio:** Strong benefit-to-risk ratio.
---
## PHASE 9: FINAL SYNTHESIS
**Step 9.1 – Evidence summary**
| FOR backport | AGAINST backport |
|---|---|
| Standard panel-ID addition to existing driver | SP9 5G `edp-panel` DT
not yet in 6.18.44 — no immediate user impact today |
| Fixes wrong timings / WARN_ON for LGD 0x06b2 | Hardware enablement
rather than crash/corruption fix |
| One line, obviously correct, maintainer-reviewed | Lore/b4
verification incomplete (no commit hash, site blocked) |
| Applies cleanly to 6.18.44 | |
| SP9 5G platform already in tree; display bring-up in progress | |
| Explicit stable exception: device/panel ID additions | |
| Same pattern as commits already in 6.18.y (e.g., Dell XPS 9345 panel)
| |
**Unresolved:** Full lore review; whether companion SP9 5G display-DT
patches will land in same stable cycle.
**Step 9.2 – Stable rules checklist**
1. Obviously correct and tested? **PASS** — EDID-decoded entry,
maintainer-reviewed, identical delay profile to sibling LG panels.
2. Fixes a real bug affecting users? **PASS** — missing panel entry
causes incorrect power-sequencing; real on hardware using this panel
(pending DT on SP9 5G).
3. Important issue? **PASS** — display reliability / hardware enablement
(MEDIUM-HIGH when display path is active).
4. Small and contained? **PASS** — 1 line, 1 file.
5. No new features or APIs? **PASS** — table entry only; falls under
device-ID exception.
6. Can apply to local tree? **PASS** — driver and infrastructure
present; clean apply.
**Step 9.3 – Exception category**
Record: **Hardware quirk / panel timing table entry** (device-ID-style
addition to existing `panel-edp` driver). Explicitly listed as stable-
appropriate in the evaluation guidelines.
**Step 9.4 – Decision rationale**
This is a textbook stable backport candidate: a single-line panel ID
addition to the existing `panel-edp` driver, reviewed by the maintainer,
using an established delay profile for LG panels. While Surface Pro 9
5G's internal display is not yet wired in the DT of 6.18.44, the
platform is already supported in this tree and display bring-up is
actively underway. Panel-ID additions are routinely backported to stable
and carry negligible regression risk. When the SP9 5G display DT lands,
this entry will be required for correct panel operation.
---
## Verification
- **[Phase 1]** Parsed commit message and tags from user-provided
content
- **[Phase 1]** Identified Reviewed-by: Douglas Anderson
- **[Phase 2]** Confirmed diff is +1 line in `edp_panels[]`
- **[Phase 2]** Read `generic_edp_panel_probe()` lines 759–825: verified
NULL `detected_panel` → `WARN_ON` + conservative timings
- **[Phase 2]** Verified `delay_200_500_e200_d200` at line 1791
- **[Phase 2]** Verified `EDP_PANEL_ENTRY` macro at line 1859
- **[Phase 3]** `git describe HEAD` → v6.18.44; `make kernelversion` →
6.18.44
- **[Phase 3]** `git blame` on LGD entries: infrastructure present since
2022–2024
- **[Phase 3]** `git log --oneline -20 -- drivers/gpu/drm/panel/panel-
edp.c`: multiple similar panel additions in tree
- **[Phase 3]** `git show f6231a2eefd43`: SP9 5G DTS lists built-in
display as unsupported
- **[Phase 4]** UNVERIFIED: `b4 dig -c` failed (commit not in tree);
lore/patch.msgid.link blocked by Anubis
- **[Phase 5]** `grep edp-panel` in `arch/arm64/boot/dts/qcom/`: 17+
platforms use it; arcata NOT among them
- **[Phase 5]** Read `sc8280xp-lenovo-thinkpad-x13s.dts` lines 754–776:
reference `edp-panel` DT pattern
- **[Phase 6]** `grep 0x06b2 LP129WT232166` in `panel-edp.c`: no matches
— entry absent
- **[Phase 6]** `grep` in `sc8280xp-microsoft-arcata.dts`: no `edp-
panel`, `mdss0_dp3`, or `backlight`
- **[Phase 6]** Confirmed `sc8280xp-microsoft-arcata.dts` and SP9 5G
aggregator entries exist in tree
- **[Phase 7]** `CONFIG_DRM_PANEL_EDP` exists in
`drivers/gpu/drm/panel/Kconfig`
- **[Phase 8]** Compared to `754dbf164acd4` (Dell XPS 9345 panel) — same
pattern, already in 6.18.44 with working DT
**YES**The background git searches finished and match the earlier
analysis:
- **`0x06b2` / `LP129WT232166`:** No commit in this tree adds that panel
ID to `panel-edp.c` — the entry is still missing from 6.18.44.
- **Surface Pro 9 5G history:** Platform support is present (DTS
`sc8280xp-microsoft-arcata.dts`, aggregator registry), but built-in
display via `edp-panel` is not wired up yet.
That supports the **YES** verdict: this is a standard one-line panel-ID
addition to an existing driver, low risk, and needed when SP9 5G display
support lands.
drivers/gpu/drm/panel/panel-edp.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
index c6d1dfdd64f2e..4008da7f28d6b 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -2080,6 +2080,7 @@ static const struct edp_panel_entry edp_panels[] = {
EDP_PANEL_ENTRY('L', 'G', 'D', 0x0567, &delay_200_500_e200_d200, "Unknown"),
EDP_PANEL_ENTRY('L', 'G', 'D', 0x05af, &delay_200_500_e200_d200, "Unknown"),
EDP_PANEL_ENTRY('L', 'G', 'D', 0x05f1, &delay_200_500_e200_d200, "Unknown"),
+ EDP_PANEL_ENTRY('L', 'G', 'D', 0x06b2, &delay_200_500_e200_d200, "LP129WT232166"),
EDP_PANEL_ENTRY('L', 'G', 'D', 0x0778, &delay_200_500_e200_d200, "134WT1"),
EDP_PANEL_ENTRY('L', 'G', 'D', 0x07fe, &delay_200_500_e200_d200, "LP116WHA-SPB1"),
--
2.53.0