[PATCH 0/8] hw/pci-host/designware: QOM shuffling (Host bridge <-> Root function)

Philippe Mathieu-Daudé posted 8 patches 7 months, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20231012121857.31873-1-philmd@linaro.org
Maintainers: Peter Maydell <peter.maydell@linaro.org>, Andrey Smirnov <andrew.smirnov@gmail.com>
include/hw/pci-host/designware.h |  20 +-
hw/pci-host/designware.c         | 376 +++++++++++++++----------------
2 files changed, 187 insertions(+), 209 deletions(-)
[PATCH 0/8] hw/pci-host/designware: QOM shuffling (Host bridge <-> Root function)
Posted by Philippe Mathieu-Daudé 7 months, 1 week ago
Hi,

While trying this PCI host bridge in a hegerogeneous setup
I noticed few discrepancies due to the fact that host bridge
pieces were managed by the root function.

This series move these pieces (ViewPort and MSI regs) to the
host bridge side where they belong. Unfortunately this is
a migration breakage.

I recommend reviewing using 'git-diff --color-moved=dimmed-zebra'.

Regards,

Phil.

Philippe Mathieu-Daudé (8):
  hw/pci-host/designware: Declare CPU QOM types using DEFINE_TYPES()
    macro
  hw/pci-host/designware: Initialize root function in host bridge
    realize
  hw/pci-host/designware: Add 'host_mem' variable for clarity
  hw/pci-host/designware: Hoist host controller in root function #0
  hw/pci-host/designware: Keep host reference in DesignwarePCIEViewport
  hw/pci-host/designware: Move viewports from root func to host bridge
  hw/pci-host/designware: Move MSI registers from root func to host
    bridge
  hw/pci-host/designware: Create ViewPorts during host bridge
    realization

 include/hw/pci-host/designware.h |  20 +-
 hw/pci-host/designware.c         | 376 +++++++++++++++----------------
 2 files changed, 187 insertions(+), 209 deletions(-)

-- 
2.41.0


Re: [PATCH 0/8] hw/pci-host/designware: QOM shuffling (Host bridge <-> Root function)
Posted by Peter Maydell 6 months, 3 weeks ago
On Thu, 12 Oct 2023 at 13:19, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> Hi,
>
> While trying this PCI host bridge in a hegerogeneous setup
> I noticed few discrepancies due to the fact that host bridge
> pieces were managed by the root function.
>
> This series move these pieces (ViewPort and MSI regs) to the
> host bridge side where they belong. Unfortunately this is
> a migration breakage.
>
> I recommend reviewing using 'git-diff --color-moved=dimmed-zebra'.
>
> Regards,
>

I had a go at reviewing this series, but I ran into the
problem that I don't know enough PCI to know whether
the various things being moved between root and bridge
here really do belong logically in one place rather
than the other.

Is there somebody with more PCI experience who could
look at this series?

thanks
-- PMM
Re: [PATCH-for-9.0 0/8] hw/pci-host/designware: QOM shuffling (Host bridge <-> Root function)
Posted by Philippe Mathieu-Daudé 6 months ago
Cc'ing Sifive developers :)

On 12/10/23 14:18, Philippe Mathieu-Daudé wrote:
> Hi,
> 
> While trying this PCI host bridge in a hegerogeneous setup
> I noticed few discrepancies due to the fact that host bridge
> pieces were managed by the root function.
> 
> This series move these pieces (ViewPort and MSI regs) to the
> host bridge side where they belong. Unfortunately this is
> a migration breakage.
> 
> I recommend reviewing using 'git-diff --color-moved=dimmed-zebra'.
> 
> Regards,
> 
> Phil.
> 
> Philippe Mathieu-Daudé (8):
>    hw/pci-host/designware: Declare CPU QOM types using DEFINE_TYPES()
>      macro
>    hw/pci-host/designware: Initialize root function in host bridge
>      realize
>    hw/pci-host/designware: Add 'host_mem' variable for clarity
>    hw/pci-host/designware: Hoist host controller in root function #0
>    hw/pci-host/designware: Keep host reference in DesignwarePCIEViewport
>    hw/pci-host/designware: Move viewports from root func to host bridge
>    hw/pci-host/designware: Move MSI registers from root func to host
>      bridge
>    hw/pci-host/designware: Create ViewPorts during host bridge
>      realization
> 
>   include/hw/pci-host/designware.h |  20 +-
>   hw/pci-host/designware.c         | 376 +++++++++++++++----------------
>   2 files changed, 187 insertions(+), 209 deletions(-)
>