On 10/05/2022 12:55, Marek Marczykowski-Górecki wrote: > Intel LPSS has INTERRUPT_LINE set to 0xff by default, that can't > possibly work. While a proper IRQ configuration may be useful, > validating value retrieved from the hardware is still necessary. If it > fails, use the device in poll mode, instead of crashing down the line > (at smp_initr_init()). Currently it's > x86-specific, as the surrounding code is guarded with CONFIG_X86 anyway. > > Signed-off-by: Marek Marczykowski-Górecki <[email protected]>
This isn't invalid per say. It explicitly means unknown/no connection and is used in practice to mean "never generate line interrupts, even when MSI is disabled". It's part of PCI 3.0 if the internet is to be believed, but ISTR is mandatory for SRIOV devices where the use of line interrupts is prohibited by the spec. Also, there are systems where nr_irq_gsi is greater than 0xff. I'd recommend handling 0xff specially as "no legacy irq", and not involving nr_irq_gsi at all. ~Andrew
