From cf3b11a5f66246185b7f0b9e600f6cfc2e0042d7 Mon Sep 17 00:00:00 2001 From: Admin Pupkin Date: Mon, 1 Jun 2026 22:55:12 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20pre-Gen9=20assessment=20=E2=80=94=20Gen?= =?UTF-8?q?4-Gen8=20display=20engine=20analysis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- .../INTEL-DRIVER-FULL-IMPLEMENTATION-PLAN.md | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/local/docs/INTEL-DRIVER-FULL-IMPLEMENTATION-PLAN.md b/local/docs/INTEL-DRIVER-FULL-IMPLEMENTATION-PLAN.md index 45cdd70f9a..ecf1b96787 100644 --- a/local/docs/INTEL-DRIVER-FULL-IMPLEMENTATION-PLAN.md +++ b/local/docs/INTEL-DRIVER-FULL-IMPLEMENTATION-PLAN.md @@ -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)