From: Daniel Henrique Barboza <danielhb@linux.ibm.com>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org, clg@kaod.org, fbarrat@linux.ibm.com,
mark.cave-ayland@ilande.co.uk
Subject: [PATCH 11/11] ppc/pnv: move PHB4 parent fixup to phb4_realize()
Date: Mon, 13 Jun 2022 12:44:56 -0300 [thread overview]
Message-ID: <20220613154456.359674-12-danielhb@linux.ibm.com> (raw)
In-Reply-To: <20220613154456.359674-1-danielhb@linux.ibm.com>
After the code cleanups done in the past, default PHB4 code is already
fairly close to user created PHB4s. What we need to do to make it equal
is move the QOM and bus parenting changes from
pnv_pec_default_phb_realize() to pnv_phb4_realize().
Using the same logic for both cases (aside from PEC assigning) will make
our lives easier when re-enabling user created PHB4s.
Signed-off-by: Daniel Henrique Barboza <danielhb@linux.ibm.com>
---
hw/pci-host/pnv_phb4.c | 12 ++++++++++++
hw/pci-host/pnv_phb4_pec.c | 1 -
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c
index bfec8b9f6d..fd6fac21ac 100644
--- a/hw/pci-host/pnv_phb4.c
+++ b/hw/pci-host/pnv_phb4.c
@@ -1553,6 +1553,18 @@ static void pnv_phb4_realize(DeviceState *dev, Error **errp)
int nr_irqs;
char name[32];
+ /*
+ * We need the PEC to parent the PHB to allow the DT
+ * to build correctly (via pnv_xscom_dt()).
+ */
+ pnv_parent_qom_fixup(OBJECT(phb->pec), OBJECT(phb), phb->phb_id);
+
+ /*
+ * pnv-phb4 buses are child of the main-system-bus, same as
+ * the chip.
+ */
+ pnv_parent_bus_fixup(DEVICE(phb->pec->chip), dev);
+
/* Set the "big_phb" flag */
phb->big_phb = phb->phb_id == 0 || phb->phb_id == 3;
diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c
index c9aaf1c28e..eb47b50737 100644
--- a/hw/pci-host/pnv_phb4_pec.c
+++ b/hw/pci-host/pnv_phb4_pec.c
@@ -119,7 +119,6 @@ static void pnv_pec_default_phb_realize(PnvPhb4PecState *pec,
PnvPHB4 *phb = PNV_PHB4(qdev_new(pecc->phb_type));
int phb_id = pnv_phb4_pec_get_phb_id(pec, stack_no);
- object_property_add_child(OBJECT(pec), "phb[*]", OBJECT(phb));
object_property_set_link(OBJECT(phb), "pec", OBJECT(pec),
&error_abort);
object_property_set_int(OBJECT(phb), "chip-id", pec->chip_id,
--
2.36.1
prev parent reply other threads:[~2022-06-13 15:57 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-13 15:44 [PATCH 00/11] pnv-phb related cleanups Daniel Henrique Barboza
2022-06-13 15:44 ` [PATCH 01/11] ppc/pnv: move root port attach to pnv_phb4_realize() Daniel Henrique Barboza
2022-06-14 9:08 ` Frederic Barrat
2022-06-14 12:02 ` Cédric Le Goater
2022-06-14 14:10 ` Daniel Henrique Barboza
2022-06-13 15:44 ` [PATCH 02/11] ppc/pnv: attach phb3/phb4 root ports in QOM tree Daniel Henrique Barboza
2022-06-14 9:09 ` Frederic Barrat
2022-06-14 9:53 ` Cédric Le Goater
2022-06-14 12:03 ` Cédric Le Goater
2022-06-13 15:44 ` [PATCH 03/11] ppc/pnv: use dev->parent_bus->parent to get the PHB Daniel Henrique Barboza
2022-06-14 9:10 ` Frederic Barrat
2022-06-17 20:02 ` Daniel Henrique Barboza
2022-06-14 12:10 ` Cédric Le Goater
2022-06-17 21:15 ` Daniel Henrique Barboza
2022-06-13 15:44 ` [PATCH 04/11] ppc/pnv: use dev instead of pci->qdev in root_port_realize() Daniel Henrique Barboza
2022-06-14 9:10 ` Frederic Barrat
2022-06-13 15:44 ` [PATCH 05/11] ppc/pnv: make pnv_ics_get() use the chip8->phbs[] array Daniel Henrique Barboza
2022-06-14 9:13 ` Frederic Barrat
2022-06-14 9:52 ` Cédric Le Goater
2022-06-13 15:44 ` [PATCH 06/11] ppc/pnv: make pnv_ics_resend() use chip8->phbs[] Daniel Henrique Barboza
2022-06-14 9:24 ` Frederic Barrat
2022-06-14 9:54 ` Cédric Le Goater
2022-06-14 15:11 ` Daniel Henrique Barboza
2022-06-13 15:44 ` [PATCH 07/11] ppc/pnv: make pnv_chip_power8_pic_print_info() " Daniel Henrique Barboza
2022-06-14 9:36 ` Frederic Barrat
2022-06-13 15:44 ` [PATCH 08/11] ppc/pnv: turn chip8->phbs[] into a PnvPHB3* array Daniel Henrique Barboza
2022-06-14 9:53 ` Frederic Barrat
2022-06-14 15:39 ` Daniel Henrique Barboza
2022-06-14 15:52 ` Frederic Barrat
2022-06-14 16:11 ` Cédric Le Goater
2022-06-13 15:44 ` [PATCH 09/11] ppc/pnv: add PHB object/bus parenting helpers Daniel Henrique Barboza
2022-06-13 15:44 ` [PATCH 10/11] ppc/pnv: move PHB3 initialization to realize time Daniel Henrique Barboza
2022-06-14 10:14 ` Frederic Barrat
2022-06-13 15:44 ` Daniel Henrique Barboza [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220613154456.359674-12-danielhb@linux.ibm.com \
--to=danielhb@linux.ibm.com \
--cc=clg@kaod.org \
--cc=fbarrat@linux.ibm.com \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).