mbox series

[00/17] ppc/pnv: enable pnv-phb4 user devices

Message ID 20211228193806.1198496-1-danielhb413@gmail.com (mailing list archive)
Headers show
Series ppc/pnv: enable pnv-phb4 user devices | expand

Message

Daniel Henrique Barboza Dec. 28, 2021, 7:37 p.m. UTC
Hi,

This series implements pnv-phb4 user devices for the powernv9 machine.
It also includes a couple of pnv-phb3 and pnv-phb3-root-port fixes that
were also applied for the pnv4 equivalents.

During the enablement I had to rollback from the previously added
support for user creatable pnv-phb4-pec devices. The most important
reason is user experience. PEC devices that doesn't spawn the PHB
devices will be just a placeholder to add PHBs, having no use of their
own as far as the user sees it. From this standpoint it makes more sense
to just create all PECs and attach the PHBs the user wants on them.
Patch 14 also describes technical reasons to rollback this support.

The series is rebased using Cedric's 'powernv-6.2' branch [1]i, which
includes the '[PATCH 0/5] ppc/pnv: Preliminary cleanups before user
created PHBs' patches [2].

[1] https://github.com/legoater/qemu/tree/powernv-6.2
[2] https://lists.gnu.org/archive/html/qemu-devel/2021-12/msg03810.html


Daniel Henrique Barboza (17):
  pnv_phb3.c: add unique chassis and slot for pnv_phb3_root_port
  pnv_phb3.c: do not set 'root-bus' as bus name
  pnv_phb3.h: change TYPE_PNV_PHB3_ROOT_BUS name
  pnv_phb4.c: add unique chassis and slot for pnv_phb4_root_port
  pnv.c: simplify pnv_phb_attach_root_port()
  pnv_phb4.c: attach default root port in phb4 realize()
  pnv_phb4.c: check if root port exists in rc_config functions
  pnv_phb4.c: introduce pnv_phb4_set_stack_phb_props()
  pnv_phb4_pec.c: move pnv_pec_phb_offset() to pnv_phb4.c
  pnv_phb4.c: introduce pnv_pec_init_stack_xscom()
  pnv_phb4_pec.c: use pnv_pec_get_phb_id() in pnv_pec_dt_xscom()
  pnv_phb4_pec.c: use 'default_enabled()' to init stack->phb
  pnv_phb4.h: turn phb into a pointer in struct PnvPhb4PecStack
  Revert "ppc/pnv: Introduce support for user created PHB4 devices"
  ppc/pnv: Introduce user creatable pnv-phb4 devices
  pnv_phb4.c: do not set 'root-bus' as bus name
  pnv_phb4.c: change TYPE_PNV_PHB4_ROOT_BUS name

 hw/pci-host/pnv_phb3.c         |  19 +++-
 hw/pci-host/pnv_phb4.c         | 188 +++++++++++++++++++++++++++++++--
 hw/pci-host/pnv_phb4_pec.c     | 107 ++++++-------------
 hw/ppc/pnv.c                   |  31 ++----
 include/hw/pci-host/pnv_phb3.h |   2 +-
 include/hw/pci-host/pnv_phb4.h |  13 ++-
 include/hw/ppc/pnv.h           |   1 +
 7 files changed, 252 insertions(+), 109 deletions(-)

Comments

Cédric Le Goater Jan. 3, 2022, 8:21 a.m. UTC | #1
Hello Daniel,

On 12/28/21 20:37, Daniel Henrique Barboza wrote:
> Hi,
> 
> This series implements pnv-phb4 user devices for the powernv9 machine.
> It also includes a couple of pnv-phb3 and pnv-phb3-root-port fixes that
> were also applied for the pnv4 equivalents.
> 
> During the enablement I had to rollback from the previously added
> support for user creatable pnv-phb4-pec devices. The most important
> reason is user experience. PEC devices that doesn't spawn the PHB
> devices will be just a placeholder to add PHBs, having no use of their
> own as far as the user sees it. From this standpoint it makes more sense
> to just create all PECs and attach the PHBs the user wants on them.
> Patch 14 also describes technical reasons to rollback this support.
> 
> The series is rebased using Cedric's 'powernv-6.2' branch [1]i, which
> includes the '[PATCH 0/5] ppc/pnv: Preliminary cleanups before user
> created PHBs' patches [2].

It would be easier if you based the patchset on mainline. It's not
a problem to resend patches of another person or/and even rework
them to fit your needs.

Thanks,

C.
Daniel Henrique Barboza Jan. 3, 2022, 6:58 p.m. UTC | #2
On 1/3/22 05:21, Cédric Le Goater wrote:
> Hello Daniel,
> 
> On 12/28/21 20:37, Daniel Henrique Barboza wrote:
>> Hi,
>>
>> This series implements pnv-phb4 user devices for the powernv9 machine.
>> It also includes a couple of pnv-phb3 and pnv-phb3-root-port fixes that
>> were also applied for the pnv4 equivalents.
>>
>> During the enablement I had to rollback from the previously added
>> support for user creatable pnv-phb4-pec devices. The most important
>> reason is user experience. PEC devices that doesn't spawn the PHB
>> devices will be just a placeholder to add PHBs, having no use of their
>> own as far as the user sees it. From this standpoint it makes more sense
>> to just create all PECs and attach the PHBs the user wants on them.
>> Patch 14 also describes technical reasons to rollback this support.
>>
>> The series is rebased using Cedric's 'powernv-6.2' branch [1]i, which
>> includes the '[PATCH 0/5] ppc/pnv: Preliminary cleanups before user
>> created PHBs' patches [2].
> 
> It would be easier if you based the patchset on mainline. It's not
> a problem to resend patches of another person or/and even rework
> them to fit your needs.


Sure, I'll send the v2 based on the mainline + the required patches.


Thanks,


Daniel

> 
> Thanks,
> 
> C.
Cédric Le Goater Jan. 3, 2022, 9:20 p.m. UTC | #3
On 1/3/22 19:58, Daniel Henrique Barboza wrote:
> 
> 
> On 1/3/22 05:21, Cédric Le Goater wrote:
>> Hello Daniel,
>>
>> On 12/28/21 20:37, Daniel Henrique Barboza wrote:
>>> Hi,
>>>
>>> This series implements pnv-phb4 user devices for the powernv9 machine.
>>> It also includes a couple of pnv-phb3 and pnv-phb3-root-port fixes that
>>> were also applied for the pnv4 equivalents.
>>>
>>> During the enablement I had to rollback from the previously added
>>> support for user creatable pnv-phb4-pec devices. The most important
>>> reason is user experience. PEC devices that doesn't spawn the PHB
>>> devices will be just a placeholder to add PHBs, having no use of their
>>> own as far as the user sees it. From this standpoint it makes more sense
>>> to just create all PECs and attach the PHBs the user wants on them.
>>> Patch 14 also describes technical reasons to rollback this support.
>>>
>>> The series is rebased using Cedric's 'powernv-6.2' branch [1]i, which
>>> includes the '[PATCH 0/5] ppc/pnv: Preliminary cleanups before user
>>> created PHBs' patches [2].
>>
>> It would be easier if you based the patchset on mainline. It's not
>> a problem to resend patches of another person or/and even rework
>> them to fit your needs.
> 
> Sure, I'll send the v2 based on the mainline + the required patches.

Let me merge a couple first. It should reduce the overhead. I will drop
these :

   ppc/pnv: Attach PHB3 root port device when defaults are enabled
   ppc/pnv: Attach PHB4 root port device when defaults are enabled

They are in the way for your changes.

Thanks,

C.
Daniel Henrique Barboza Jan. 3, 2022, 9:37 p.m. UTC | #4
On 1/3/22 18:20, Cédric Le Goater wrote:
> On 1/3/22 19:58, Daniel Henrique Barboza wrote:
>>
>>
>> On 1/3/22 05:21, Cédric Le Goater wrote:
>>> Hello Daniel,
>>>
>>> On 12/28/21 20:37, Daniel Henrique Barboza wrote:
>>>> Hi,
>>>>
>>>> This series implements pnv-phb4 user devices for the powernv9 machine.
>>>> It also includes a couple of pnv-phb3 and pnv-phb3-root-port fixes that
>>>> were also applied for the pnv4 equivalents.
>>>>
>>>> During the enablement I had to rollback from the previously added
>>>> support for user creatable pnv-phb4-pec devices. The most important
>>>> reason is user experience. PEC devices that doesn't spawn the PHB
>>>> devices will be just a placeholder to add PHBs, having no use of their
>>>> own as far as the user sees it. From this standpoint it makes more sense
>>>> to just create all PECs and attach the PHBs the user wants on them.
>>>> Patch 14 also describes technical reasons to rollback this support.
>>>>
>>>> The series is rebased using Cedric's 'powernv-6.2' branch [1]i, which
>>>> includes the '[PATCH 0/5] ppc/pnv: Preliminary cleanups before user
>>>> created PHBs' patches [2].
>>>
>>> It would be easier if you based the patchset on mainline. It's not
>>> a problem to resend patches of another person or/and even rework
>>> them to fit your needs.
>>
>> Sure, I'll send the v2 based on the mainline + the required patches.
> 
> Let me merge a couple first. It should reduce the overhead. I will drop
> these :

No problem. I'll re-send the v2 after the merge.

> 
>    ppc/pnv: Attach PHB3 root port device when defaults are enabled
>    ppc/pnv: Attach PHB4 root port device when defaults are enabled
> 
> They are in the way for your changes.


I`ll drop these in my side as well.


Thanks,


Daniel







> 
> Thanks,
> 
> C.
Cédric Le Goater Jan. 4, 2022, 7:39 a.m. UTC | #5
On 12/28/21 20:37, Daniel Henrique Barboza wrote:
> Hi,
> 
> This series implements pnv-phb4 user devices for the powernv9 machine.
> It also includes a couple of pnv-phb3 and pnv-phb3-root-port fixes that
> were also applied for the pnv4 equivalents.
> 
> During the enablement I had to rollback from the previously added
> support for user creatable pnv-phb4-pec devices. The most important
> reason is user experience. PEC devices that doesn't spawn the PHB
> devices will be just a placeholder to add PHBs, having no use of their
> own as far as the user sees it. From this standpoint it makes more sense
> to just create all PECs and attach the PHBs the user wants on them.
> Patch 14 also describes technical reasons to rollback this support.
> 
> The series is rebased using Cedric's 'powernv-6.2' branch [1]i, which
> includes the '[PATCH 0/5] ppc/pnv: Preliminary cleanups before user
> created PHBs' patches [2].
> 
> [1] https://github.com/legoater/qemu/tree/powernv-6.2
> [2] https://lists.gnu.org/archive/html/qemu-devel/2021-12/msg03810.html


Applied patches 2-16 in ppc-next.

Thanks,

C.