P10: fix Arrow Lake device IDs and DMC firmware mapping
The driver incorrectly labeled Lunar Lake IDs (0x6420/64A0/64B0) as Arrow Lake, and placed the real Arrow Lake IDs (0x7D41/7D51/etc.) in the Meteor Lake bucket. This meant: - Arrow Lake notebooks were misidentified as Meteor Lake - Lunar Lake was completely missing from the device tables - The 0xB640 ID (ARL-H) was also misfiled Fix: - Move real Arrow Lake IDs (0x7D41, 0x7D51, 0x7DD1, 0x7D67, 0xB640) to INTEL_GEN12_ARL_IDS - Move Lunar Lake IDs (0x6420, 0x64A0, 0x64B0) to INTEL_GEN12_LNL_IDS - Map Arrow Lake DMC firmware to INTEL_MTL_DMC_KEYS (mtl_dmc.bin), since Arrow Lake uses the same display IP 14.0 as Meteor Lake - Remove Arrow Lake IDs from the Meteor Lake bucket Per Linux 7.1 reference: Arrow Lake display engine is IP 14.0 (Xe_LPD+), same as Meteor Lake — NOT Xe2. The i915-style register programming is correct for Arrow Lake.
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
diff --git a/src/drivers/mod.rs b/src/drivers/mod.rs
|
||||
--- a/src/drivers/mod.rs
|
||||
+++ b/src/drivers/mod.rs
|
||||
@@ -27 +27 @@ const INTEL_GEN12_MTL_IDS: &[u16] = &[
|
||||
- 0x7D40, 0x7D41, 0x7D45, 0x7D51, 0x7D55, 0x7D60, 0x7D67, 0x7DD1, 0x7DD5,
|
||||
+ 0x7D40, 0x7D45, 0x7D55, 0x7D60, 0x7DD5,
|
||||
@@ -29,2 +29,2 @@ const INTEL_GEN12_MTL_IDS: &[u16] = &[
|
||||
-const INTEL_GEN12_ARL_IDS: &[u16] = &[0x6420, 0x64A0, 0x64B0];
|
||||
-const INTEL_GEN12_LNL_IDS: &[u16] = &[0xB640];
|
||||
+const INTEL_GEN12_ARL_IDS: &[u16] = &[0x7D41, 0x7D51, 0x7DD1, 0x7D67, 0xB640];
|
||||
+const INTEL_GEN12_LNL_IDS: &[u16] = &[0x6420, 0x64A0, 0x64B0];
|
||||
diff --git a/src/main.rs b/src/main.rs
|
||||
--- a/src/main.rs
|
||||
+++ b/src/main.rs
|
||||
@@ -297 +297,5 @@ fn intel_display_firmware_keys(device_id: u16) -> Option<&'static [&'static str]>
|
||||
- 0x7D40 | 0x7D41 | 0x7D45 | 0x7D51 | 0x7D55 | 0x7D60 | 0x7D67 | 0x7DD1 | 0x7DD5 => {
|
||||
+ 0x7D40 | 0x7D45 | 0x7D55 | 0x7D60 | 0x7DD5 => {
|
||||
+ Some(INTEL_MTL_DMC_KEYS)
|
||||
+ }
|
||||
+ // Arrow Lake (ARL) — display IP 14.0, same DMC as Meteor Lake
|
||||
+ 0x7D41 | 0x7D51 | 0x7DD1 | 0x7D67 | 0xB640 => {
|
||||
@@ -1,6 +1,6 @@
|
||||
[source]
|
||||
path = "source"
|
||||
patches = ["P1-intel-gen-gate.patch", "P2-intel-display-fixes.patch", "P3-intel-gen8-gen9-firmware.patch", "P4-virtio-gpu-driver.patch", "P5-virtio-auto-probe.patch", "P6-pcid-coordinate-handoff.patch", "P7-unreachable-pattern-cleanup.patch", "P8-terminal-scheme-ebadf.patch", "P9-virtio-handoff-mmio-map.patch"]
|
||||
patches = ["P1-intel-gen-gate.patch", "P2-intel-display-fixes.patch", "P3-intel-gen8-gen9-firmware.patch", "P4-virtio-gpu-driver.patch", "P5-virtio-auto-probe.patch", "P6-pcid-coordinate-handoff.patch", "P7-unreachable-pattern-cleanup.patch", "P8-terminal-scheme-ebadf.patch", "P9-virtio-handoff-mmio-map.patch", "P10-arrow-lake-device-ids.patch"]
|
||||
|
||||
[build]
|
||||
template = "cargo"
|
||||
|
||||
Reference in New Issue
Block a user