[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/2] hw/pci-bridge: pci_expander_bridge: Fix wrong type and r
From: |
Michael S. Tsirkin |
Subject: |
Re: [PATCH 0/2] hw/pci-bridge: pci_expander_bridge: Fix wrong type and rework inheritance. |
Date: |
Fri, 21 Apr 2023 04:19:24 -0400 |
On Thu, Apr 20, 2023 at 03:27:48PM +0100, Jonathan Cameron wrote:
> Peter Maydell highlighted an incorrect conversion to TYPE_PXB_DEVICE from
> a device that didn't have that a an ancestor type. PXB_DEV() used instead of
> PXB_CXL_DEV()/
>
> CAFEAcA-+de+eeLCE4YsAw1O-Qyd_4W1Ra05mGDsU_-3a6d92qw@mail.gmail.com/">https://lore.kernel.org/qemu-devel/CAFEAcA-+de+eeLCE4YsAw1O-Qyd_4W1Ra05mGDsU_-3a6d92qw@mail.gmail.com/
>
> During the discussion it became clear that the inheritance of the various
> TYPE_PXB*_DEVICE was unusual. This patchset first provides the minimal
> fix then cleans up the inheritance of types based on functionality.
>
> There is also a rename to TYPE_PXB*_DEV to allow removal of some boilerplate.
>
> Before this series
> TYPE_PXB_DEVICE, TYPE_PXB_PCIE_DEVICE and TYPE_PXB_CXL_DEVICE all
> had TYPE_PCI_DEVICE as their direct parent though they shared a common
> struct PXBDev for their state. As a result this state contained
> some data that was irrelevant for some the types.
>
> This series changes to
> TYPE_PXB_CXL_DEV has a parent of TYPE_PXB_PCIE_DEV
> TYPE_PXB_PCIE_DEV has a parent of TYPE_PXB_DEV
> TYPE_PXB_DEV continues to have a parent of TYPE_PCI_DEVICE.
>
> Each of the TYPE_PXB*_DEV has a state structure adding those elements
> to their parent that they need. This also allowed dropping a wrapping
> structure for the CXL state as the PXBCXLDev structure already provides
> the equivalent grouping.
>
> Patches are similar to those posted in the thread but rebased on v8.0.0.
this conflicts with
Revert "hw/pxb-cxl: Support passthrough HDM Decoders unless overridden"
I think you acked that one?
> Jonathan Cameron (2):
> hw/pci-bridge: pci_expander_bridge fix type in pxb_cxl_dev_reset()
> hw/pci-bridge: Make PCIe and CXL PXB Devices inherit from TYPE_PXB_DEV
>
> hw/acpi/cxl.c | 11 +++---
> hw/cxl/cxl-host.c | 4 +-
> hw/pci-bridge/pci_expander_bridge.c | 61 ++++++++++-------------------
> include/hw/cxl/cxl.h | 4 +-
> include/hw/pci/pci_bridge.h | 28 +++++++++----
> 5 files changed, 50 insertions(+), 58 deletions(-)
>
> --
> 2.37.2