From: Langyan Ye <[email protected]>

[ Upstream commit b1ea3babb67dcb8b0881c2ab49dfba88b1445856 ]

Add support for the CSW MNE007QB3-1, pleace the EDID here for
subsequent reference.

00 ff ff ff ff ff ff 00 0e 77 7c 14 00 00 00 00
00 23 01 04 a5 1e 13 78 07 ee 95 a3 54 4c 99 26
0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 35 3c 80 a0 70 b0 23 40 30 20
36 00 2d bc 10 00 00 18 2b 30 80 a0 70 b0 23 40
30 20 36 00 2d bc 10 00 00 18 00 00 00 fd 00 28
3c 4a 4a 0f 01 0a 20 20 20 20 20 20 00 00 00 fc
00 4d 4e 45 30 30 37 51 42 33 2d 31 0a 20 01 5b

70 20 79 02 00 21 00 1d c8 0b 5d 07 80 07 b0 04
00 3d 8a 54 cd a4 99 66 62 0f 02 45 54 40 5e 40
5e 00 44 12 78 2e 00 06 00 44 40 5e 40 5e 81 00
20 74 1a 00 00 03 01 28 3c 00 00 00 00 00 00 3c
00 00 00 00 8d 00 e3 05 04 00 e6 06 01 00 60 60
ff 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 68 90

Signed-off-by: Langyan Ye <[email protected]>
Signed-off-by: Douglas Anderson <[email protected]>
Link: 
https://patch.msgid.link/20251127121601.1608379-1-yelang...@huaqin.corp-partner.google.com
Signed-off-by: Sasha Levin <[email protected]>
---

LLM Generated explanations, may be completely bogus:

All the analysis is complete. Here is my detailed assessment:

---

## Analysis: drm/panel-edp: Add CSW MNE007QB3-1

### 1. Commit Message Analysis

The commit adds support for a new revision of the CSW MNE007QB3-1 eDP
panel. The EDID data is included for reference. The panel name
"MNE007QB3-1" already exists in the driver with product ID 0x146e (added
in commit 490b30fbaca2a), but this adds a *new variant* of the same
panel identified by product ID 0x147c with different timing
requirements. The author is from Huaqin (a major Chromebook ODM), and
the commit was reviewed/applied by Douglas Anderson (the `panel-edp`
subsystem maintainer).

### 2. Code Change Analysis

The change is a **single line addition**:

```c
EDP_PANEL_ENTRY('C', 'S', 'W', 0x147c, &delay_200_500_e50_d100,
"MNE007QB3-1"),
```

This adds a new entry to the `edp_panels[]` table, which is a static
lookup table mapping EDID panel IDs to timing delay parameters. The new
entry:
- Vendor: CSW ('C', 'S', 'W')
- Product ID: 0x147c (distinct from the existing 0x146e)
- Delay: `delay_200_500_e50_d100` (hpd_absent=200ms, unprepare=500ms,
  enable=50ms, disable=100ms)
- Name: "MNE007QB3-1"

The delay structure `delay_200_500_e50_d100` already exists in the
source (line 1839-1844) and is used by other panels (MNB601LS1-4,
TL140VDMS03-01). No new code, structures, or functionality is added.

### 3. Classification: New Device ID

This falls squarely into the **"New Device IDs"** exception category for
stable backports. The `panel-edp.c` driver is a well-established driver
that uses a table-driven approach to match eDP panels by their EDID
identifiers and apply the correct power sequencing timings. Adding a new
entry to this table is functionally equivalent to adding a new PCI/USB
device ID to an existing driver.

Without this entry, a device using this specific panel revision (EDID
product ID 0x147c) would not have proper power sequencing timings. This
can result in:
- Display initialization failures
- Screen flickering or artifacts
- Panel damage from incorrect power sequencing
- The panel being treated as unknown and potentially not working at all

### 4. Scope and Risk Assessment

- **Lines changed**: 1 (one line added)
- **Files touched**: 1 (`drivers/gpu/drm/panel/panel-edp.c`)
- **Complexity**: Trivially low
- **Risk of regression**: Effectively zero. The new entry is a static
  table addition matched only by a specific panel ID (0x147c). It cannot
  affect any existing panel or any other code path. The delay structure
  it references already exists and is used by other panels.
- **Dependencies**: None. The `EDP_PANEL_ENTRY` macro and
  `delay_200_500_e50_d100` structure exist in all recent stable kernels
  that have the panel-edp driver.

### 5. User Impact

This panel is used in Chromebooks (the commit comes from Huaqin, a
Chromebook manufacturer, with the `corp-partner.google.com` email
address). Chromebooks frequently use stable/LTS kernels (especially
ChromeOS). Without this backport, Chromebooks using this specific panel
revision would have display issues. This is a **real hardware
enablement** issue for production devices.

### 6. Stability Indicators

- Applied by Douglas Anderson (`[email protected]`), the well-known
  panel-edp maintainer
- The pattern is identical to dozens of other panel additions that are
  routinely backported
- The referenced delay structure has been in the kernel for a long time
- Zero risk of runtime regression

### 7. Dependency Check

No dependencies. The commit is completely self-contained. The
`delay_200_500_e50_d100` structure and the `EDP_PANEL_ENTRY` macro exist
in all stable kernels that have this driver.

### Conclusion

This is a textbook example of a stable-appropriate device ID addition.
It is a single-line, zero-risk table entry that enables a specific
hardware panel variant used in production Chromebook devices. The driver
already exists in stable, the delay structure already exists, and the
change cannot affect any other hardware. It meets all stable kernel
criteria: obviously correct, fixes a real issue (hardware not working),
small and contained, no new features.

**YES**

 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 415b894890ad7..023fbbb10eb4f 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -2033,6 +2033,7 @@ static const struct edp_panel_entry edp_panels[] = {
        EDP_PANEL_ENTRY('C', 'S', 'W', 0x1462, &delay_200_500_e50, 
"MNE007QS5-2"),
        EDP_PANEL_ENTRY('C', 'S', 'W', 0x1468, &delay_200_500_e50, 
"MNE007QB2-2"),
        EDP_PANEL_ENTRY('C', 'S', 'W', 0x146e, &delay_80_500_e50_d50, 
"MNE007QB3-1"),
+       EDP_PANEL_ENTRY('C', 'S', 'W', 0x147c, &delay_200_500_e50_d100, 
"MNE007QB3-1"),
        EDP_PANEL_ENTRY('C', 'S', 'W', 0x1519, &delay_200_500_e80_d50, 
"MNF601BS1-3"),
 
        EDP_PANEL_ENTRY('E', 'T', 'C', 0x0000, &delay_50_500_e200_d200_po2e335, 
"LP079QX1-SP0V"),
-- 
2.51.0

Reply via email to