On 17.03.2023 00:19, Stefano Stabellini wrote: > On Thu, 16 Mar 2023, Jan Beulich wrote: >> So yes, it then all boils down to that Linux- >> internal question. > > Excellent question but we'll have to wait for Ray as he is the one with > access to the hardware. But I have this data I can share in the > meantime: > > [ 1.260378] IRQ to pin mappings: > [ 1.260387] IRQ1 -> 0:1 > [ 1.260395] IRQ2 -> 0:2 > [ 1.260403] IRQ3 -> 0:3 > [ 1.260410] IRQ4 -> 0:4 > [ 1.260418] IRQ5 -> 0:5 > [ 1.260425] IRQ6 -> 0:6 > [ 1.260432] IRQ7 -> 0:7 > [ 1.260440] IRQ8 -> 0:8 > [ 1.260447] IRQ9 -> 0:9 > [ 1.260455] IRQ10 -> 0:10 > [ 1.260462] IRQ11 -> 0:11 > [ 1.260470] IRQ12 -> 0:12 > [ 1.260478] IRQ13 -> 0:13 > [ 1.260485] IRQ14 -> 0:14 > [ 1.260493] IRQ15 -> 0:15 > [ 1.260505] IRQ106 -> 1:8 > [ 1.260513] IRQ112 -> 1:4 > [ 1.260521] IRQ116 -> 1:13 > [ 1.260529] IRQ117 -> 1:14 > [ 1.260537] IRQ118 -> 1:15 > [ 1.260544] .................................... done.
And what does Linux think are IRQs 16 ... 105? Have you compared with Linux running baremetal on the same hardware? Jan > And I think Ray traced the point in Linux where Linux gives us an IRQ == > 112 (which is the one causing issues): > > __acpi_register_gsi-> > acpi_register_gsi_ioapic-> > mp_map_gsi_to_irq-> > mp_map_pin_to_irq-> > __irq_resolve_mapping() > > if (likely(data)) { > desc = irq_data_to_desc(data); > if (irq) > *irq = data->irq; > /* this IRQ is 112, IO-APIC-34 domain */ > }