Missing interrupt for MEI on Intel Xe

From: Simon Richter <hidden>
Date: 2025-10-29 09:44:05

Hi,

I have an Intel B580 GPU inside a POWER9 (TalosII) system, and the 
embedded management engine fails to start with

[    6.867316] mei_gsc xe.mei-gscfi.3146496: error -EINVAL: 
request_irq(96) mei_me_irq_quick_handler [mei_me] 
mei_me_irq_thread_handler [mei_me] mei_gsc
[    6.867346] mei_gsc xe.mei-gscfi.3146496: irq register failed -22
[    6.867368] mei_gsc xe.mei-gscfi.3146496: probe failed: -22
[    6.867377] mei_gsc xe.mei-gscfi.3146496: probe with driver mei_gsc 
failed with error -22

According to /proc/interrupts, irq 96 does not exist, there is only 95 
(xe) and 97 (snd_hda_intel:card0), so it appears the number has been 
reserved somehow, but something stops us from attaching to it.

The closest thing to a clue I have is

[    6.845878] pci 0030:02:01.0: Failed to create device link (0x124) 
with supplier 0.interrupt-controller for 
/pciex@620c3c0000000/pci@0/pci@0/pci@1
[    6.845959] pci 0030:01:00.0: Failed to create device link (0x124) 
with supplier 0.interrupt-controller for /pciex@620c3c0000000/pci@0/pci@0
[    6.846010] pci 0030:00:00.0: Failed to create device link (0x124) 
with supplier 0.interrupt-controller for /pciex@620c3c0000000/pci@0

This might need the eyes of someone who understands interrupt routing on 
OpenFirmware.

Other observations from last week's debugging session:

1. If I add a few printf to the device_link code, it appears creating 
the link fails because a link already exists in the other direction.
2. The bridges in between do not have pcieport attached to them, as the 
driver is disabled by pcie_ports_disabled = true;

    Simon
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help