[PATCH AUTOSEL 6.18] drm/panel-edp: Add AUO B133HAN06.6 and BOE NV133FHM-N4F V8.0
From: Sasha Levin
Date: Mon Aug 31 2026 - 10:26:12 EST
From: Chen-Yu Tsai <wenst@xxxxxxxxxxxx>
[ Upstream commit 5dd1ff95c623b8118ccaae3242119b8552f7b98f ]
These two panels are found in MT8195 Dojo, a.k.a. the HP Chromebook
x360 13b-ca0xxx laptop.
Only the BOE entry was tested on an actual device. The AUO entry is
solely based on the provided datasheet.
raw EDIDs:
AUO B133HAN06.6 (from the datasheet)
00 ff ff ff ff ff ff 00 06 af 8f cb 00 00 00 00
2f 1d 01 04 95 1d 11 78 03 93 05 92 58 59 90 29
1d 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 14 37 80 b8 70 38 24 40 10 10
3e 00 25 a5 10 00 00 18 b8 24 80 b8 70 38 24 40
10 10 3e 00 25 a5 10 00 00 18 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02
00 10 48 ff 0f 3c 7d 14 0e 1d 7d 20 20 20 00 77
BOE NV133FHM-N4F V8.0 (from an actual panel)
00 ff ff ff ff ff ff 00 09 e5 25 0a 00 00 00 00
2c 1f 01 04 95 1d 11 78 03 28 65 97 59 54 8e 27
1e 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 a4 39 80 c8 70 38 50 40 30 20
36 00 26 a5 10 00 00 1a 6d 26 80 c8 70 38 50 40
30 20 36 00 26 a5 10 00 00 1a 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02
00 0d 40 ff 0a 3c 7d 0f 0f 1f 7d 00 00 00 00 d2
Signed-off-by: Chen-Yu Tsai <wenst@xxxxxxxxxxxx>
Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
Link: https://patch.msgid.link/20260512045454.1505733-1-wenst@xxxxxxxxxxxx
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
LLM Generated explanations, may be completely bogus:
Connection lost, reconnecting to https://agentn.us.api5.cursor.sh
(attempt 1)...
Retry attempt 1...
# Stable Backport Analysis: drm/panel-edp panel ID additions
**Local tree:** `v6.18.43-1-gc7f0dac02d232` (kernel version **6.18.43**)
---
## PHASE 1: COMMIT MESSAGE FORENSICS
### Step 1.1: Subject line
**Record:** `[drm/panel-edp]` **`Add`** — Add AUO B133HAN06.6 and BOE
NV133FHM-N4F V8.0 panel entries to the EDID-based panel timing table.
### Step 1.2: Tags
**Record:**
- **Signed-off-by:** Chen-Yu Tsai `<wenst@xxxxxxxxxxxx>` (author)
- **Reviewed-by:** Douglas Anderson `<dianders@xxxxxxxxxxxx>`
- **Signed-off-by:** Douglas Anderson `<dianders@xxxxxxxxxxxx>`
- **Link:**
https://patch.msgid.link/20260512045454.1505733-1-wenst@xxxxxxxxxxxx
- No Fixes:, Reported-by:, Tested-by:, Cc: stable@xxxxxxxxxxxxxxx, or
syzbot tags
Notable: Reviewed-by from a Chromium DRM developer; BOE panel tested on
hardware per commit body.
### Step 1.3: Body analysis
**Record:**
- **Bug/problem:** Panels on HP Chromebook x360 13b-ca0xxx (MT8195 Dojo)
are not in the `edp_panels[]` table, so the driver cannot apply
correct eDP power-sequencing delays.
- **Symptom:** Without a table match, `generic_edp_panel_probe()`
triggers `WARN_ON(!panel->detected_panel)` and falls back to
conservative timings (`unprepare=2000ms`, `enable=200ms`), which can
cause display initialization/resume problems.
- **Hardware:** MT8195 Dojo platform; BOE NV133FHM-N4F V8.0 tested on
device; AUO B133HAN06.6 from datasheet only.
- **Root cause:** Missing EDID panel-ID → delay-profile mapping for
these two product IDs (`0xcb8f` AUO, `0x0a25` BOE).
### Step 1.4: Hidden bug fix?
**Record:** Yes. Although labeled "Add", this is a hardware-timing quirk
fix. Unknown panels get wrong power-sequencing delays and a `WARN_ON` on
every probe. Adding the entries supplies panel-specific delays needed
for reliable display operation.
---
## PHASE 2: DIFF ANALYSIS
### Step 2.1: Inventory
**Record:**
- **File:** `drivers/gpu/drm/panel/panel-edp.c` (+2 lines)
- **Functions modified:** None directly; changes are in static
`edp_panels[]` table
- **Scope:** Single-file, surgical panel-ID addition
### Step 2.2: Code flow change
**Record:**
- **Hunk 1 (AUO):** Inserts `EDP_PANEL_ENTRY('A','U','O', 0xcb8f,
&delay_200_500_e50, "B133HAN06.6")` after `0xc9a8`.
- Before: AUO `0xcb8f` unmatched → conservative fallback.
- After: Matched → `desc->delay = *panel->detected_panel->delay` with
standard AUO delay profile.
- **Hunk 2 (BOE):** Inserts `EDP_PANEL_ENTRY('B','O','E', 0x0a25,
&delay_200_500_e50_po2e200, "NV133FHM-N4F V8.0")` after `0x0a1b`.
- Before: BOE `0x0a25` unmatched → conservative fallback.
- After: Matched → delay profile including
`powered_on_to_enable=200ms` (same profile as existing NV133FHM-N42
at `0x0717`).
### Step 2.3: Bug mechanism
**Record:** **Hardware quirk / panel timing table entry** (allowed
stable exception). `find_edp_panel()` returns NULL for unknown IDs;
probe path then uses overly conservative delays unsuitable for these
panels' eDP power sequencing.
### Step 2.4: Fix quality
**Record:** Fix is minimal and follows established patterns in the same
table. BOE uses the same `delay_200_500_e50_po2e200` profile as a
related NV133FHM panel already in-tree. AUO uses the common
`delay_200_500_e50` profile used by many AUO entries. Regression risk is
very low.
---
## PHASE 3: GIT HISTORY INVESTIGATION
### Step 3.1: Blame
**Record:** Insertion-point lines in current tree date to
`6bda50f4333fa` (Nov 29, 2025), which added the entire `panel-edp.c`
driver to 6.18. The missing panel entries are absent because this commit
has not been applied yet—not because the code is structurally different.
### Step 3.2: Fixes: tag
**Record:** N/A — no Fixes: tag present.
### Step 3.3: Related file history
**Record:** Recent panel-edp additions already in this 6.18.y tree:
- `0bd968c04acfb` — Add AUO B140QAX01.H panel
- `6ca4647a74155` — Add AUO B140HAN06.4
- `b173ba3365ff0` — Add BOE NV140WUM-T08 panel
Same pattern of single-line `EDP_PANEL_ENTRY` additions. Standalone; not
part of a multi-patch series.
### Step 3.4: Author context
**Record:** Chen-Yu Tsai (Chromium) is a regular MT8195/Chromebook
contributor. Douglas Anderson (Chromium DRM) reviewed. No other commits
from this author in `panel-edp.c` in this tree, but the subsystem
maintainership pattern matches other Chromium panel additions.
### Step 3.5: Dependencies
**Record:** No dependencies. Requires only:
- `panel-edp.c` driver (present since 6.18)
- `delay_200_500_e50` and `delay_200_500_e50_po2e200` delay structs
(both present at lines 1818+ in current tree)
- `EDP_PANEL_ENTRY` macro (present)
Patch applies cleanly at verified insertion points (after
`0xc9a8`/`0xcdba` and `0x0a1b`/`0x0a36`).
---
## PHASE 4: MAILING LIST AND EXTERNAL RESEARCH
### Step 4.1: Original discussion
**Record:** Link tag points to patch.msgid.link thread. **Could not
fetch** — lore.kernel.org and patch.msgid.link blocked by Anubis bot
protection. `b4 dig -c` could not run because the upstream commit hash
is not in this checkout.
### Step 4.2: Reviewers
**Record:** Reviewed-by and Signed-off-by from Douglas Anderson
(Chromium DRM developer). UNVERIFIED: full recipient list via `b4 dig
-w`.
### Step 4.3: Bug report
**Record:** No external bug report or syzbot link. Hardware enablement
driven by Chromebook platform need (MT8195 Dojo).
### Step 4.4: Related patches
**Record:** Same author/subsystem pattern as Terry Hsiao's May 2026
batch of panel-edp additions (separate series in workspace mbox files).
This commit is standalone (1/1).
### Step 4.5: Stable list discussion
**Record:** UNVERIFIED — could not search lore stable list due to access
restrictions.
---
## PHASE 5: CODE SEMANTIC ANALYSIS
### Step 5.1: Key functions
**Record:** Affected lookup path: `find_edp_panel()` → called from
`generic_edp_panel_probe()`.
### Step 5.2: Callers
**Record:** `generic_edp_panel_probe()` is invoked during `panel_edp`
device probe on platforms using `compatible = "edp-panel"`. MT8195
Cherry/Dojo DTS in this tree uses this compatible string.
### Step 5.3: Callees
**Record:** `find_edp_panel()` uses `drm_edid_match()` and panel-ID
comparison against `edp_panels[]`. On match, `desc->delay =
*panel->detected_panel->delay` sets power-sequencing parameters used by
`panel_edp_prepare()`, `panel_edp_enable()`, and suspend/resume paths.
### Step 5.4: Reachability
**Record:** Triggered at boot on every MT8195 Dojo machine with these
panels — common Chromebook laptop path, not an obscure config option.
### Step 5.5: Similar patterns
**Record:** BOE NV133FHM-N4F V8.0 uses identical delay profile to
existing `NV133FHM-N42` (`0x0717`). Many AUO entries use
`delay_200_500_e50`. Consistent with table conventions.
---
## PHASE 6: CROSS-REFERENCING AGAINST LOCAL TREE
### Step 6.1: Does buggy code exist?
**Record:** **Yes.** `panel-edp.c` exists; `edp_panels[]` table exists;
`0xcb8f` and `0x0a25` entries are **absent** (grep confirmed no
matches). MT8195 Dojo platform support exists
(`arch/arm64/boot/dts/mediatek/mt8195-cherry-dojo-r1.dts`,
`mt8195-cherry.dtsi` with `compatible = "edp-panel"`).
### Step 6.2: Backport complications
**Record:** **Clean apply expected.** Insertion anchor lines (`0xc9a8`,
`0x0a1b`) match exactly between patch context and current tree.
### Step 6.3: Related fixes already present?
**Record:** No — panel IDs not present. Similar panel additions
(B140QAX01.H, B140HAN06.4, NV140WUM-T08) are already in this 6.18.y
tree, establishing precedent.
---
## PHASE 7: SUBSYSTEM AND MAINTAINER CONTEXT
### Step 7.1: Subsystem
**Record:** `drivers/gpu/drm/panel/` — DRM panel driver. **Criticality:
IMPORTANT** (display subsystem; affects laptop users on supported
platform, not universal core kernel).
### Step 7.2: Activity
**Record:** `panel-edp.c` is new in 6.18 (added Nov 2025); actively
receiving panel-ID additions in this stable series.
---
## PHASE 8: IMPACT AND RISK ASSESSMENT
### Step 8.1: Who is affected
**Record:** Users of HP Chromebook x360 13b-ca0xxx (MT8195 Dojo) and any
other systems shipping AUO B133HAN06.6 or BOE NV133FHM-N4F V8.0 panels
with the generic `edp-panel` driver. Platform-specific, driver-specific.
### Step 8.2: Trigger conditions
**Record:** Every boot and resume when EDID reports panel IDs `0xcb8f`
or `0x0a25`. Highly likely on affected hardware — not a rare race.
### Step 8.3: Failure mode severity
**Record:** Without fix: `WARN_ON` on probe + wrong power-sequencing
delays (2000ms unprepare vs. 500ms; missing `powered_on_to_enable` for
BOE). Can cause black screen, flicker, or failed resume. **Severity:
MEDIUM-HIGH** for affected users (display reliability, not kernel
crash/security).
### Step 8.4: Risk-benefit
**Record:**
- **Benefit:** Enables correct display power sequencing on real shipping
Chromebook hardware already supported in this tree.
- **Risk:** Very low — two table entries, no logic changes, delay
profiles already used by other panels.
- **Ratio:** Strong benefit, minimal risk.
---
## PHASE 9: FINAL SYNTHESIS
### Step 9.1: Evidence summary
**FOR backport:**
- Fixes real display issue on HP Chromebook x360 13b (MT8195 Dojo) —
platform in this tree
- BOE entry tested on hardware
- Tiny, surgical change (2 lines)
- Follows established pattern; similar commits already in 6.18.y
- Hardware quirk / panel-ID exception category
- Clean apply to current tree
- Reviewed-by from Chromium DRM developer
**AGAINST backport:**
- AUO entry untested (datasheet only) — minor concern, standard practice
for this table
- Not a crash/security/data-corruption fix — display reliability issue
- Lore discussion unverified
**Unresolved:** Mailing list thread content; whether stable was
explicitly nominated in review.
### Step 9.2: Stable rules checklist
1. Obviously correct and tested? **PASS** — BOE tested; AUO follows
datasheet + standard delay profile
2. Fixes real bug affecting users? **PASS** — wrong panel delays on real
hardware
3. Important issue? **PASS** — display reliability on shipping
Chromebook (MEDIUM-HIGH)
4. Small and contained? **PASS** — 2 lines, one file
5. No new features/APIs? **PASS** — panel table entries only (allowed
exception)
6. Can apply to local tree? **PASS** — driver, delay structs, and
insertion points all present
### Step 9.3: Exception category
**Record:** **Hardware quirk / panel timing workaround** — adding EDID
panel-ID entries with power-sequencing delays to an existing driver,
analogous to USB/PCI quirks and device-ID additions.
### Step 9.4: Decision rationale
This commit should be backported to **Linux 6.18.y**. The `panel-edp`
driver and MT8195 Dojo platform are both present in this tree, but these
panel IDs are missing. Without them, affected Chromebooks get incorrect
eDP power-sequencing delays and a `WARN_ON` on every probe. The fix is
two lines, uses delay profiles already in the table, and matches the
pattern of panel additions already accepted into this stable series.
---
## Verification
- [Phase 1] Parsed subject, tags, body; identified hardware enablement
intent and BOE on-device testing
- [Phase 2] Diff analysis: 2 `EDP_PANEL_ENTRY` lines added to
`edp_panels[]`
- [Phase 3] `git describe HEAD`: v6.18.43-1-gc7f0dac02d232; `make
kernelversion`: 6.18.43
- [Phase 3] `git blame` on lines 1918-1925, 1966-1972: table from
`6bda50f4333fa` (Nov 2025)
- [Phase 3] `git log --grep=panel-edp`: similar additions
`0bd968c04acfb`, `6ca4647a74155`, `b173ba3365ff0` already in tree
- [Phase 3] Grep `0xcb8f|0x0a25|B133HAN06|NV133FHM-N4F` in panel-edp.c:
no matches — entries absent
- [Phase 3] Verified insertion anchors `0xc9a8`, `0xcdba`, `0x0a1b`
exist at lines 1921, 1922, 1969
- [Phase 3] Verified `delay_200_500_e50` and `delay_200_500_e50_po2e200`
exist at line 1818+
- [Phase 4] WebFetch lore.kernel.org and patch.msgid.link: **FAILED**
(Anubis bot block)
- [Phase 4] `b4 dig -c`: **NOT RUN** — upstream commit hash not in
checkout
- [Phase 5] Read `generic_edp_panel_probe()` lines 759-825: confirmed
NULL `detected_panel` → WARN_ON + conservative timings
- [Phase 5] Read `find_edp_panel()` lines 2091-2113: confirmed lookup
mechanism
- [Phase 5] Confirmed NV133FHM-N42 (`0x0717`) uses same
`delay_200_500_e50_po2e200` profile
- [Phase 6] Grep Dojo DTS: `mt8195-cherry-dojo-r1.dts` and
`mt8195-cherry.dtsi` with `compatible = "edp-panel"` present
- [Phase 6] Confirmed patch context matches current file structure for
clean apply
- [Phase 8] Failure mode: wrong delays + WARN_ON on display probe;
severity MEDIUM-HIGH for affected laptops
- **UNVERIFIED:** Mailing list review discussion and stable nomination
comments
- **UNVERIFIED:** Whether AUO panel is actually shipped on Dojo SKUs
(commit says both found on platform; only BOE tested)
**YES**
drivers/gpu/drm/panel/panel-edp.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
index 105074d8cf765..c6d1dfdd64f2e 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -1924,6 +1924,7 @@ static const struct edp_panel_entry edp_panels[] = {
EDP_PANEL_ENTRY('A', 'U', 'O', 0xc4b4, &delay_200_500_e50, "B116XAT04.1"),
EDP_PANEL_ENTRY('A', 'U', 'O', 0xc7ad, &delay_200_500_e50, "B140HAN07.7"),
EDP_PANEL_ENTRY('A', 'U', 'O', 0xc9a8, &delay_200_500_e50, "B140QAN08.H"),
+ EDP_PANEL_ENTRY('A', 'U', 'O', 0xcb8f, &delay_200_500_e50, "B133HAN06.6"),
EDP_PANEL_ENTRY('A', 'U', 'O', 0xcdba, &delay_200_500_e50, "B140UAX01.2"),
EDP_PANEL_ENTRY('A', 'U', 'O', 0xd497, &delay_200_500_e50, "B120XAN01.0"),
EDP_PANEL_ENTRY('A', 'U', 'O', 0xf390, &delay_200_500_e50, "B140XTN07.7"),
@@ -1973,6 +1974,7 @@ static const struct edp_panel_entry edp_panels[] = {
EDP_PANEL_ENTRY('B', 'O', 'E', 0x09ae, &delay_200_500_e200, "NT140FHM-N45"),
EDP_PANEL_ENTRY('B', 'O', 'E', 0x09dd, &delay_200_500_e50, "NT116WHM-N21"),
EDP_PANEL_ENTRY('B', 'O', 'E', 0x0a1b, &delay_200_500_e50, "NV133WUM-N63"),
+ EDP_PANEL_ENTRY('B', 'O', 'E', 0x0a25, &delay_200_500_e50_po2e200, "NV133FHM-N4F V8.0"),
EDP_PANEL_ENTRY('B', 'O', 'E', 0x0a36, &delay_200_500_e200, "Unknown"),
EDP_PANEL_ENTRY('B', 'O', 'E', 0x0a3e, &delay_200_500_e80_d50, "NV116WHM-N49"),
EDP_PANEL_ENTRY('B', 'O', 'E', 0x0a5d, &delay_200_500_e50, "NV116WHM-N45"),
--
2.53.0