From nobody Sat Sep 26 15:35:38 2026 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: quoted-printable From: J=C3=A9r=C3=B4me 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=C3=A9r=C3=B4me de Bretagne Reviewed-by: Douglas Anderson Signed-off-by: Douglas Anderson Link: https://patch.msgid.link/20260520-surface-sp9-5g-for-next-v1-1-9df525= 52bf87@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` =E2=86=92 `v6.18.44`, `make kernelversion` =E2=86=92 `6.18.44`) --- ## PHASE 1: COMMIT MESSAGE FORENSICS **Step 1.1 =E2=80=93 Subject line** Record: `[drm/panel-edp]` `[Add]` =E2=80=94 Add LG LP129WT232166 eDP panel = entry for Microsoft Surface Pro 9 5G. **Step 1.2 =E2=80=93 Tags** Record: - `Signed-off-by: J=C3=A9r=C3=B4me 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 =E2=80=93 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 =E2=86=92 `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 =E2=80=93 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 =E2=80=93 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 =E2=80=93 Code flow change** Record: - **Before:** Panel ID `LGD 0x06b2` not matched =E2=86=92 `find_edp_panel()` returns NULL =E2=86=92 conservative timings + `WARN_ON`. - **After:** Panel matched =E2=86=92 correct `delay_200_500_e200_d200` appl= ied =E2=86=92 `dev_info()` logs detected panel name. - **Path affected:** `generic_edp_panel_probe()` during `panel-edp` device probe on systems with `compatible =3D "edp-panel"`. **Step 2.3 =E2=80=93 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 =E2=86=92 wrong delays. **Step 2.4 =E2=80=93 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 =E2=80=93 Blame** Record: LG panel entries in `edp_panels[]` date from 2022=E2=80=932024 (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 =E2=80=94 this is an omission, not a regression from a recent commit. **Step 3.2 =E2=80=93 Fixes: tag** Record: N/A =E2=80=94 no `Fixes:` tag present. **Step 3.3 =E2=80=93 Related file history** Record: Recent `panel-edp.c` commits in 6.18.44 are all similar panel-ID additions: - `754dbf164acd4` =E2=80=94 SHP LQ134Z1 for Dell XPS 9345 - `b173ba3365ff0` =E2=80=94 BOE NV140WUM-T08 - `0bd968c04acfb` =E2=80=94 AUO B140QAX01.H Standalone one-liner; not part of a multi-patch dependency series. **Step 3.4 =E2=80=93 Author context** Record: J=C3=A9r=C3=B4me 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 =E2=80=93 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 =E2=80=93 Original discussion** Record: `b4 dig -c ` could not be run =E2=80=94 commit hash not pre= sent 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 =E2=80=93 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 =E2=80=93 Bug report** Record: N/A =E2=80=94 no external bug report; hardware enablement patch with EDID data. **Step 4.4 =E2=80=93 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 =E2=80=93 Stable list** Record: UNVERIFIED =E2=80=94 lore.kernel.org inaccessible. --- ## PHASE 5: CODE SEMANTIC ANALYSIS **Step 5.1 =E2=80=93 Key functions** Record: `generic_edp_panel_probe()`, `find_edp_panel()`, `panel_edp_probe()`, `panel_edp_platform_probe()`, `panel_edp_aux_probe()`. **Step 5.2 =E2=80=93 Callers** Record: `panel_edp_probe()` called from platform and DP AUX bus probe paths. Used on many Qualcomm platforms with `compatible =3D "edp-panel"` in DT (e.g., ThinkPad X13s, Dell XPS 9345, HP Omnibook X14, CRD boards). Config: `CONFIG_DRM_PANEL_EDP`. **Step 5.3 =E2=80=93 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 =E2=80=93 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 =E2=80=93 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 =E2=80=93 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 =E2=80=93 Backport complications** Record: **Clean apply expected.** Single line insertion between existing LGD entries at `0x05f1` and `0x0778`. No conflicts anticipated. **Step 6.3 =E2=80=93 Related fixes already present?** Record: **NO.** No alternative fix for this panel ID in tree. --- ## PHASE 7: SUBSYSTEM AND MAINTAINER CONTEXT **Step 7.1 =E2=80=93 Subsystem criticality** Record: `drivers/gpu/drm/panel/` =E2=80=94 **IMPORTANT** (display subsystem= ). Affects users of specific eDP panels on ARM64 Qualcomm laptops/tablets. **Step 7.2 =E2=80=93 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 =E2=80=93 Who is affected** Record: **Platform-specific** =E2=80=94 Microsoft Surface Pro 9 5G users (a= nd 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 =E2=80=93 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 =E2=80=93 Failure mode severity** Record: Without fix =E2=80=94 `WARN_ON` in dmesg + suboptimal power-sequenc= ing 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 =E2=80=93 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 =E2=80=94 one table line, reviewed by maintainer, iden= tical pattern to many prior stable backports. - **Ratio:** Strong benefit-to-risk ratio. --- ## PHASE 9: FINAL SYNTHESIS **Step 9.1 =E2=80=93 Evidence summary** | FOR backport | AGAINST backport | |---|---| | Standard panel-ID addition to existing driver | SP9 5G `edp-panel` DT not yet in 6.18.44 =E2=80=94 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 =E2=80=93 Stable rules checklist** 1. Obviously correct and tested? **PASS** =E2=80=94 EDID-decoded entry, maintainer-reviewed, identical delay profile to sibling LG panels. 2. Fixes a real bug affecting users? **PASS** =E2=80=94 missing panel entry causes incorrect power-sequencing; real on hardware using this panel (pending DT on SP9 5G). 3. Important issue? **PASS** =E2=80=94 display reliability / hardware enabl= ement (MEDIUM-HIGH when display path is active). 4. Small and contained? **PASS** =E2=80=94 1 line, 1 file. 5. No new features or APIs? **PASS** =E2=80=94 table entry only; falls under device-ID exception. 6. Can apply to local tree? **PASS** =E2=80=94 driver and infrastructure present; clean apply. **Step 9.3 =E2=80=93 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 =E2=80=93 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=E2=80=93825: ver= ified NULL `detected_panel` =E2=86=92 `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` =E2=86=92 v6.18.44; `make kernelversion= ` =E2=86=92 6.18.44 - **[Phase 3]** `git blame` on LGD entries: infrastructure present since 2022=E2=80=932024 - **[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=E2=80=93= 776: reference `edp-panel` DT pattern - **[Phase 6]** `grep 0x06b2 LP129WT232166` in `panel-edp.c`: no matches =E2=80=94 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) =E2=80=94= 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` =E2=80=94 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/pane= l-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[] =3D { 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, "LP129WT= 232166"), 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, "LP116WH= A-SPB1"), =20 --=20 2.53.0