All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Henrique Barboza <danielhb413@gmail.com>
To: Frederic Barrat <fbarrat@linux.ibm.com>,
	clg@kaod.org, qemu-ppc@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [PATCH 1/4] pnv_phb4_pec: Keep track of instantiated PHBs
Date: Fri, 3 Mar 2023 06:18:25 -0300	[thread overview]
Message-ID: <7229b94e-5378-98a1-623b-9391bfec0a32@gmail.com> (raw)
In-Reply-To: <20230302163715.129635-2-fbarrat@linux.ibm.com>



On 3/2/23 13:37, Frederic Barrat wrote:
> Add an array on the PEC object to keep track of the PHBs which are
> instantiated. The array can be sparsely populated when using
> user-created PHBs. It will be useful for the next patch to only export
> instantiated PHBs in the device tree.
> 
> Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
> ---


Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>

>   hw/pci-host/pnv_phb4_pec.c     | 12 +++++++-----
>   hw/ppc/pnv.c                   |  1 +
>   include/hw/pci-host/pnv_phb4.h |  2 ++
>   3 files changed, 10 insertions(+), 5 deletions(-)
> 
> diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c
> index 43267a428f..97c06bb0a0 100644
> --- a/hw/pci-host/pnv_phb4_pec.c
> +++ b/hw/pci-host/pnv_phb4_pec.c
> @@ -112,9 +112,9 @@ static const MemoryRegionOps pnv_pec_pci_xscom_ops = {
>       .endianness = DEVICE_BIG_ENDIAN,
>   };
>   
> -static void pnv_pec_default_phb_realize(PnvPhb4PecState *pec,
> -                                        int stack_no,
> -                                        Error **errp)
> +static PnvPHB *pnv_pec_default_phb_realize(PnvPhb4PecState *pec,
> +                                           int stack_no,
> +                                           Error **errp)
>   {
>       PnvPHB *phb = PNV_PHB(qdev_new(TYPE_PNV_PHB));
>       int phb_id = pnv_phb4_pec_get_phb_id(pec, stack_no);
> @@ -128,8 +128,9 @@ static void pnv_pec_default_phb_realize(PnvPhb4PecState *pec,
>                               &error_fatal);
>   
>       if (!sysbus_realize(SYS_BUS_DEVICE(phb), errp)) {
> -        return;
> +        return NULL;
>       }
> +    return phb;
>   }
>   
>   static void pnv_pec_realize(DeviceState *dev, Error **errp)
> @@ -148,8 +149,9 @@ static void pnv_pec_realize(DeviceState *dev, Error **errp)
>   
>       /* Create PHBs if running with defaults */
>       if (defaults_enabled()) {
> +        g_assert(pec->num_phbs <= MAX_PHBS_PER_PEC);
>           for (i = 0; i < pec->num_phbs; i++) {
> -            pnv_pec_default_phb_realize(pec, i, errp);
> +            pec->phbs[i] = pnv_pec_default_phb_realize(pec, i, errp);
>           }
>       }
>   
> diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
> index 44b1fbbc93..24bf8461d6 100644
> --- a/hw/ppc/pnv.c
> +++ b/hw/ppc/pnv.c
> @@ -314,6 +314,7 @@ static PnvPhb4PecState *pnv_phb4_get_pec(PnvChip *chip, PnvPHB4 *phb,
>   
>           for (j = 0; j < pec->num_phbs; j++) {
>               if (index == pnv_phb4_pec_get_phb_id(pec, j)) {
> +                pec->phbs[j] = phb->phb_base;
>                   return pec;
>               }
>           }
> diff --git a/include/hw/pci-host/pnv_phb4.h b/include/hw/pci-host/pnv_phb4.h
> index 28d61b96c7..0b72ef1471 100644
> --- a/include/hw/pci-host/pnv_phb4.h
> +++ b/include/hw/pci-host/pnv_phb4.h
> @@ -185,6 +185,8 @@ struct PnvPhb4PecState {
>   
>       /* PHBs */
>       uint32_t num_phbs;
> +#define MAX_PHBS_PER_PEC        3
> +    PnvPHB *phbs[MAX_PHBS_PER_PEC];
>   
>       PnvChip *chip;
>   };


  parent reply	other threads:[~2023-03-03  9:19 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-02 16:37 [PATCH 0/4] user-created PHB cleanup Frederic Barrat
2023-03-02 16:37 ` [PATCH 1/4] pnv_phb4_pec: Keep track of instantiated PHBs Frederic Barrat
2023-03-02 22:21   ` Philippe Mathieu-Daudé
2023-03-03  8:42     ` Daniel Henrique Barboza
2023-03-03 11:29     ` Frederic Barrat
2023-03-03  9:18   ` Daniel Henrique Barboza [this message]
2023-03-02 16:37 ` [PATCH 2/4] pnv_phb4_pec: Only export existing PHBs to the device tree Frederic Barrat
2023-03-03  9:18   ` Daniel Henrique Barboza
2023-03-02 16:37 ` [PATCH 3/4] pnv_phb4_pec: Move pnv_phb4_get_pec() to rightful file Frederic Barrat
2023-03-03  9:19   ` Daniel Henrique Barboza
2023-03-02 16:37 ` [PATCH 4/4] pnv_phb4_pec: Simplify/align code to parent user-created PHBs Frederic Barrat
2023-03-03  9:20   ` Daniel Henrique Barboza
2023-03-03  9:33 ` [PATCH 0/4] user-created PHB cleanup Daniel Henrique Barboza

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=7229b94e-5378-98a1-623b-9391bfec0a32@gmail.com \
    --to=danielhb413@gmail.com \
    --cc=clg@kaod.org \
    --cc=fbarrat@linux.ibm.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.