docs: pre-Gen9 assessment — Gen4-Gen8 display engine analysis

Haswell+ (2013+) uses DDI display engine — same as Gen9, should work.
Gen4-Gen7 pre-Haswell uses FDI display engine — different register set.
FDI (FDI_TX_CTL/FDI_RX_CTL/PCH transcoders) vs DDI (DDI_BUF_CTL).
56 pre-Gen9 device IDs added to info.rs (Total: 161, 46% of Linux 7.1)
This commit is contained in:
2026-06-01 22:55:12 +03:00
parent da6b7685a7
commit cf3b11a5f6
@@ -616,6 +616,34 @@ These Linux i915 features are NOT in the plan because Red Bear OS doesn't need t
| DG1-specific paths | ~3K | DG1 was a limited-release developer card |
| Type-C/DP Alt Mode | ~5K | USB-C display, depends on USB stack maturity |
### Pre-Gen9 Support (Gen4-Gen8) — 2026-06-01 Assessment
**Status**: Device IDs and probe gate enabled. Display engine differences documented.
| Generation | Years | IDs Added | Display Engine | DDI Support | Status |
|------------|-------|-----------|----------------|-------------|--------|
| Gen4 (I965G/G45/GM45/Pineview) | 2006-2009 | 18 | SDVO/HDMI/DVI | ❌ No DDI | ⚠️ Probe passes, display init uses DDI_BUF_CTL which doesn't exist — needs FDI |
| Gen5 (Ironlake) | 2010 | 2 | FDI + PCH | ❌ No DDI | ⚠️ Same — FDI required |
| Gen6 (Sandy Bridge) | 2011 | 7 | FDI + PCH | ❌ No DDI | ⚠️ Same — FDI required |
| Gen7 (Ivy Bridge) | 2012 | 6 | FDI + early DDI | ⚠️ Partial DDI on some SKUs | ⚠️ DDI path may work on certain SKUs |
| Gen7.5 (Haswell) | 2013-2014 | 5 | DDI + FDI fallback | ✅ Full DDI | ✅ Expected to work with current Gen9 register paths |
| Gen8 (Broadwell) | 2014-2015 | 14 | DDI only | ✅ Full DDI | ✅ Same DDI engine as Gen9 — should work |
| Gen8 (Cherryview) | 2015 | 4 | DDI only | ✅ Full DDI | ✅ Should work |
**Architecture note**: Intel switched from FDI (Flexible Display Interface) to DDI
(Digital Display Interface) starting with Haswell (2013). Our driver uses DDI_BUF_CTL
and DDI-based register programming throughout. This means:
- **Haswell and newer** (Gen7.5+): Should work with current DDI register paths.
Haswell was the first generation with the modern DDI display engine.
- **Ivy Bridge and older** (Gen4-Gen7): Use FDI for display output. FDI requires
completely different register programming (FDI_TX_CTL, FDI_RX_CTL, PCH transcoder
registers instead of DDI_BUF_CTL). Full FDI support would require a new display
init path (~2,000 lines of register definitions + programming).
**Device ID coverage**: 161 total IDs (46% of Linux 7.1's 349). All 56 pre-Gen9
IDs from `drivers/mod.rs` PCI ID arrays are now in `info.rs` DEVICE_ID_TABLE.
---
## IMPLEMENTATION ASSESSMENT (2026-06-01)