Message ID | 20220618110202.87735-8-danielhb413@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | pnv-phb related cleanups | expand |
On 6/18/22 13:02, Daniel Henrique Barboza wrote: > It's inneficient to scroll all child objects when we have all PHBs > available in chip8->phbs[]. > > pnv_chip_power8_pic_print_info_child() ended up folded into > pic_print_info() for simplicity. > > Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> > Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Cédric Le Goater <clg@kaod.org> Thanks, C. > --- > hw/ppc/pnv.c | 22 ++++++++-------------- > 1 file changed, 8 insertions(+), 14 deletions(-) > > diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c > index 08136def8e..2a9067687b 100644 > --- a/hw/ppc/pnv.c > +++ b/hw/ppc/pnv.c > @@ -652,25 +652,19 @@ static ISABus *pnv_isa_create(PnvChip *chip, Error **errp) > return PNV_CHIP_GET_CLASS(chip)->isa_create(chip, errp); > } > > -static int pnv_chip_power8_pic_print_info_child(Object *child, void *opaque) > -{ > - Monitor *mon = opaque; > - PnvPHB3 *phb3 = (PnvPHB3 *) object_dynamic_cast(child, TYPE_PNV_PHB3); > - > - if (phb3) { > - pnv_phb3_msi_pic_print_info(&phb3->msis, mon); > - ics_pic_print_info(&phb3->lsis, mon); > - } > - return 0; > -} > - > static void pnv_chip_power8_pic_print_info(PnvChip *chip, Monitor *mon) > { > Pnv8Chip *chip8 = PNV8_CHIP(chip); > + int i; > > ics_pic_print_info(&chip8->psi.ics, mon); > - object_child_foreach(OBJECT(chip), > - pnv_chip_power8_pic_print_info_child, mon); > + > + for (i = 0; i < chip8->num_phbs; i++) { > + PnvPHB3 *phb3 = &chip8->phbs[i]; > + > + pnv_phb3_msi_pic_print_info(&phb3->msis, mon); > + ics_pic_print_info(&phb3->lsis, mon); > + } > } > > static int pnv_chip_power9_pic_print_info_child(Object *child, void *opaque)
diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 08136def8e..2a9067687b 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -652,25 +652,19 @@ static ISABus *pnv_isa_create(PnvChip *chip, Error **errp) return PNV_CHIP_GET_CLASS(chip)->isa_create(chip, errp); } -static int pnv_chip_power8_pic_print_info_child(Object *child, void *opaque) -{ - Monitor *mon = opaque; - PnvPHB3 *phb3 = (PnvPHB3 *) object_dynamic_cast(child, TYPE_PNV_PHB3); - - if (phb3) { - pnv_phb3_msi_pic_print_info(&phb3->msis, mon); - ics_pic_print_info(&phb3->lsis, mon); - } - return 0; -} - static void pnv_chip_power8_pic_print_info(PnvChip *chip, Monitor *mon) { Pnv8Chip *chip8 = PNV8_CHIP(chip); + int i; ics_pic_print_info(&chip8->psi.ics, mon); - object_child_foreach(OBJECT(chip), - pnv_chip_power8_pic_print_info_child, mon); + + for (i = 0; i < chip8->num_phbs; i++) { + PnvPHB3 *phb3 = &chip8->phbs[i]; + + pnv_phb3_msi_pic_print_info(&phb3->msis, mon); + ics_pic_print_info(&phb3->lsis, mon); + } } static int pnv_chip_power9_pic_print_info_child(Object *child, void *opaque)