Message ID | 20220624084921.399219-13-danielhb413@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | powernv: introduce pnv-phb base/proxy devices | expand |
On 24/06/2022 10:49, Daniel Henrique Barboza wrote: > The helper is only used in this file. > > Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> > --- Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Fred > hw/pci-host/pnv_phb.c | 24 ++++++++++++++++++++++++ > hw/ppc/pnv.c | 25 ------------------------- > include/hw/ppc/pnv.h | 1 - > 3 files changed, 24 insertions(+), 26 deletions(-) > > diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c > index cc15a949c9..c47ed92462 100644 > --- a/hw/pci-host/pnv_phb.c > +++ b/hw/pci-host/pnv_phb.c > @@ -18,6 +18,30 @@ > #include "hw/qdev-properties.h" > #include "qom/object.h" > > +/* > + * Attach a root port device. > + * > + * 'index' will be used both as a PCIE slot value and to calculate > + * QOM id. 'chip_id' is going to be used as PCIE chassis for the > + * root port. > + */ > +static void pnv_phb_attach_root_port(PCIHostState *pci, int index, int chip_id) > +{ > + PCIDevice *root = pci_new(PCI_DEVFN(0, 0), TYPE_PNV_PHB_ROOT_PORT); > + g_autofree char *default_id = g_strdup_printf("%s[%d]", > + TYPE_PNV_PHB_ROOT_PORT, > + index); > + const char *dev_id = DEVICE(root)->id; > + > + object_property_add_child(OBJECT(pci->bus), dev_id ? dev_id : default_id, > + OBJECT(root)); > + > + /* Set unique chassis/slot values for the root port */ > + qdev_prop_set_uint8(DEVICE(root), "chassis", chip_id); > + qdev_prop_set_uint16(DEVICE(root), "slot", index); > + > + pci_realize_and_unref(root, pci->bus, &error_fatal); > +} > > static void pnv_phb_realize(DeviceState *dev, Error **errp) > { > diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c > index 5b7cbfc699..d649ed6b1b 100644 > --- a/hw/ppc/pnv.c > +++ b/hw/ppc/pnv.c > @@ -1192,31 +1192,6 @@ static void pnv_chip_icp_realize(Pnv8Chip *chip8, Error **errp) > } > } > > -/* > - * Attach a root port device. > - * > - * 'index' will be used both as a PCIE slot value and to calculate > - * QOM id. 'chip_id' is going to be used as PCIE chassis for the > - * root port. > - */ > -void pnv_phb_attach_root_port(PCIHostState *pci, int index, int chip_id) > -{ > - PCIDevice *root = pci_new(PCI_DEVFN(0, 0), TYPE_PNV_PHB_ROOT_PORT); > - g_autofree char *default_id = g_strdup_printf("%s[%d]", > - TYPE_PNV_PHB_ROOT_PORT, > - index); > - const char *dev_id = DEVICE(root)->id; > - > - object_property_add_child(OBJECT(pci->bus), dev_id ? dev_id : default_id, > - OBJECT(root)); > - > - /* Set unique chassis/slot values for the root port */ > - qdev_prop_set_uint8(DEVICE(root), "chassis", chip_id); > - qdev_prop_set_uint16(DEVICE(root), "slot", index); > - > - pci_realize_and_unref(root, pci->bus, &error_fatal); > -} > - > static void pnv_chip_power8_realize(DeviceState *dev, Error **errp) > { > PnvChipClass *pcc = PNV_CHIP_GET_CLASS(dev); > diff --git a/include/hw/ppc/pnv.h b/include/hw/ppc/pnv.h > index fbad11d6a7..033d907287 100644 > --- a/include/hw/ppc/pnv.h > +++ b/include/hw/ppc/pnv.h > @@ -190,7 +190,6 @@ DECLARE_INSTANCE_CHECKER(PnvChip, PNV_CHIP_POWER10, > TYPE_PNV_CHIP_POWER10) > > PowerPCCPU *pnv_chip_find_cpu(PnvChip *chip, uint32_t pir); > -void pnv_phb_attach_root_port(PCIHostState *pci, int index, int chip_id); > > #define TYPE_PNV_MACHINE MACHINE_TYPE_NAME("powernv") > typedef struct PnvMachineClass PnvMachineClass;
diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index cc15a949c9..c47ed92462 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -18,6 +18,30 @@ #include "hw/qdev-properties.h" #include "qom/object.h" +/* + * Attach a root port device. + * + * 'index' will be used both as a PCIE slot value and to calculate + * QOM id. 'chip_id' is going to be used as PCIE chassis for the + * root port. + */ +static void pnv_phb_attach_root_port(PCIHostState *pci, int index, int chip_id) +{ + PCIDevice *root = pci_new(PCI_DEVFN(0, 0), TYPE_PNV_PHB_ROOT_PORT); + g_autofree char *default_id = g_strdup_printf("%s[%d]", + TYPE_PNV_PHB_ROOT_PORT, + index); + const char *dev_id = DEVICE(root)->id; + + object_property_add_child(OBJECT(pci->bus), dev_id ? dev_id : default_id, + OBJECT(root)); + + /* Set unique chassis/slot values for the root port */ + qdev_prop_set_uint8(DEVICE(root), "chassis", chip_id); + qdev_prop_set_uint16(DEVICE(root), "slot", index); + + pci_realize_and_unref(root, pci->bus, &error_fatal); +} static void pnv_phb_realize(DeviceState *dev, Error **errp) { diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 5b7cbfc699..d649ed6b1b 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -1192,31 +1192,6 @@ static void pnv_chip_icp_realize(Pnv8Chip *chip8, Error **errp) } } -/* - * Attach a root port device. - * - * 'index' will be used both as a PCIE slot value and to calculate - * QOM id. 'chip_id' is going to be used as PCIE chassis for the - * root port. - */ -void pnv_phb_attach_root_port(PCIHostState *pci, int index, int chip_id) -{ - PCIDevice *root = pci_new(PCI_DEVFN(0, 0), TYPE_PNV_PHB_ROOT_PORT); - g_autofree char *default_id = g_strdup_printf("%s[%d]", - TYPE_PNV_PHB_ROOT_PORT, - index); - const char *dev_id = DEVICE(root)->id; - - object_property_add_child(OBJECT(pci->bus), dev_id ? dev_id : default_id, - OBJECT(root)); - - /* Set unique chassis/slot values for the root port */ - qdev_prop_set_uint8(DEVICE(root), "chassis", chip_id); - qdev_prop_set_uint16(DEVICE(root), "slot", index); - - pci_realize_and_unref(root, pci->bus, &error_fatal); -} - static void pnv_chip_power8_realize(DeviceState *dev, Error **errp) { PnvChipClass *pcc = PNV_CHIP_GET_CLASS(dev); diff --git a/include/hw/ppc/pnv.h b/include/hw/ppc/pnv.h index fbad11d6a7..033d907287 100644 --- a/include/hw/ppc/pnv.h +++ b/include/hw/ppc/pnv.h @@ -190,7 +190,6 @@ DECLARE_INSTANCE_CHECKER(PnvChip, PNV_CHIP_POWER10, TYPE_PNV_CHIP_POWER10) PowerPCCPU *pnv_chip_find_cpu(PnvChip *chip, uint32_t pir); -void pnv_phb_attach_root_port(PCIHostState *pci, int index, int chip_id); #define TYPE_PNV_MACHINE MACHINE_TYPE_NAME("powernv") typedef struct PnvMachineClass PnvMachineClass;
The helper is only used in this file. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/pci-host/pnv_phb.c | 24 ++++++++++++++++++++++++ hw/ppc/pnv.c | 25 ------------------------- include/hw/ppc/pnv.h | 1 - 3 files changed, 24 insertions(+), 26 deletions(-)