From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B39C942C4FC; Mon, 31 Aug 2026 13:50:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788184231; cv=none; b=CnleWMLuRA0CHKDhjxmbu5e808M4XojJoLY3tbrHaaS5v/1py8XwKg50zTW+YCcRXXRdv60rGYcwHN1g8wlLjv4z/4DZIN4RgNsYGrjZgViqTfFJPXhKwRLNVkf/SW45hvua5ARlmpOzHB1QrBfH/J0XLuleWXu3YCG1u45Hlm4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788184231; c=relaxed/simple; bh=tshzwpE7JMOZbcmEggtvStNRHVM8ZG7b9fxfKkIApJU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=hWM23nJQFy01dDQAWfOL+wppdl8yXO4W/kvWELPzzpYxSBL6H4Nv0hjii0UHjqad9wzplZp1obyhQfRqPBLKzLbt9+32vA1lSdR4O8RQUTT8wF4zoS/a6JPsB8Y3Yv7wroEYJKaTWfo+IuIYviPxa/WWJP660VbcRcU4KKC9S8Q= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jSl5MA+a; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="jSl5MA+a" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1AD591F00A3D; Mon, 31 Aug 2026 13:50:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788184228; bh=UqglRrDe0VA7yXkTG7tzWkEi53H1RgWwfaxPgR3Qv0g=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=jSl5MA+aUYwR8eufjwx/k4bgk9y8wDeTbQAaFv4eI5I03JPZ1v1cy5/jbu4z/Ioz4 1uOY8Lid7xUW6Dz+aCgkQdIPGD1tKkeEatBtS/X0chCV8/CP0gNbVM4x6zWrWI2OHA iizuNC3fMD59gDcSTwzYcgqiG6RySgwDppJoS+9vnjDkPDjiO+uBeKULzntKXYLGCM FrQmyf9hFAR2dlS3nRuZW5SATWTm+0fBz6XGU1X+p+liNK4prKA33/9/5kQ3ACNdpW joEOV92yPm8tRvIxUAN9JpoawKzmt/E4m/x5J8I4AaAYTXrBlR8m53j4OtsuGSlm18 5JNMAH+R89qUw== From: Sasha Levin To: patches@lists.linux.dev, stable@vger.kernel.org Cc: =?UTF-8?q?J=C3=A9r=C3=B4me=20de=20Bretagne?= , Douglas Anderson , Sasha Levin , neil.armstrong@linaro.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH AUTOSEL 6.18] drm/panel-edp: Add LG LP129WT232166 panel Date: Mon, 31 Aug 2026 09:29:56 -0400 Message-ID: <20260831133314.4125787-568-sashal@kernel.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831133314.4125787-1-sashal@kernel.org> References: <20260831133314.4125787-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.18.48 Content-Transfer-Encoding: 8bit From: Jérôme de Bretagne [ 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 Reviewed-by: Douglas Anderson Signed-off-by: Douglas Anderson Link: https://patch.msgid.link/20260520-surface-sp9-5g-for-next-v1-1-9df52552bf87@gmail.com Signed-off-by: Sasha Levin --- 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 ` (author) - `Reviewed-by: Douglas Anderson ` (DRM/panel maintainer review) - `Signed-off-by: Douglas Anderson ` (committer) - `Link: https://patch.msgid.link/20260520-surface-sp9-5g-for- next-v1-1-9df52552bf87@gmail.com` (patch series context) - No `Fixes:`, `Reported-by:`, `Cc: stable@vger.kernel.org`, 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 ` 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