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