hw/pci-bridge/pxb: Fix missing swizzle
authorJonathan Cameron <jonathan.cameron@huawei.com>
Tue, 18 Jan 2022 17:48:55 +0000 (17:48 +0000)
committerMichael S. Tsirkin <mst@redhat.com>
Sun, 6 Mar 2022 10:08:23 +0000 (05:08 -0500)
commite609301b458bf6daba478299dc5aea5d1fbaea39
tree08b5c5d7a8d27ab835cd3a3e1224f7174d22fcf3
parentf59fb1889f480b0324a7ed0404a68ad5a0ad4f6c
hw/pci-bridge/pxb: Fix missing swizzle

pxb_map_irq_fn() handled the necessary removal of the swizzle
applied to the PXB interrupts by the bus to which it was attached
but neglected to apply the normal swizzle for PCI root ports
on the expander bridge.

Result of this was on ARM virt, the PME interrupts for a second
RP on a PXB instance were miss-routed to #45 rather than #46.

Tested with a selection of different configurations with 1 to 5
RP per PXB instance.  Note on my x86 test setup the PME interrupts
are not triggered so I haven't been able to test this.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Message-Id: <20220118174855.19325-1-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/pci-bridge/pci_expander_bridge.c