ppc/pnv: Remove LSI on the PCIE host bridge
The phb3/phb4/phb5 root ports inherit from the default PCIE root port implementation, which requests a LSI interrupt (#INTA). On real hardware (POWER8/POWER9/POWER10), there is no such LSI. This patch corrects it so that it matches the hardware. As a consequence, the device tree previously generated was bogus, as the root bridge LSI was not properly mapped. On some implementation (powernv9), it was leading to inconsistent interrupt controller (xive) data. With this patch, it is now clean. Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com> Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Message-Id: <20220408131303.147840-3-fbarrat@linux.ibm.com> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
parent
2e8656710a
commit
b34ce592fd
@ -1161,6 +1161,7 @@ static void pnv_phb3_root_port_realize(DeviceState *dev, Error **errp)
|
||||
error_propagate(errp, local_err);
|
||||
return;
|
||||
}
|
||||
pci_config_set_interrupt_pin(pci->config, 0);
|
||||
}
|
||||
|
||||
static void pnv_phb3_root_port_class_init(ObjectClass *klass, void *data)
|
||||
|
@ -1771,6 +1771,7 @@ static void pnv_phb4_root_port_reset(DeviceState *dev)
|
||||
pci_set_word(conf + PCI_PREF_MEMORY_LIMIT, 0xfff1);
|
||||
pci_set_long(conf + PCI_PREF_BASE_UPPER32, 0x1); /* Hack */
|
||||
pci_set_long(conf + PCI_PREF_LIMIT_UPPER32, 0xffffffff);
|
||||
pci_config_set_interrupt_pin(conf, 0);
|
||||
}
|
||||
|
||||
static void pnv_phb4_root_port_realize(DeviceState *dev, Error **errp)
|
||||
|
Loading…
Reference in New Issue
Block a user