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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user