Message ID | 1456486323-8047-9-git-send-email-david@gibson.dropbear.id.au (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 02/26/2016 10:31 PM, David Gibson wrote: > Simplify the sPAPR PCI code by folding spapr_phb_vfio_reset() into > spapr_phb_reset(). > > Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru> > --- > hw/ppc/spapr_pci.c | 13 ++++++++++++- > hw/ppc/spapr_pci_vfio.c | 16 ---------------- > 2 files changed, 12 insertions(+), 17 deletions(-) > > diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c > index 26d08ad..be18bf6 100644 > --- a/hw/ppc/spapr_pci.c > +++ b/hw/ppc/spapr_pci.c > @@ -1531,13 +1531,24 @@ static int spapr_phb_children_reset(Object *child, void *opaque) > return 0; > } > > +static void spapr_phb_eeh_reenable(sPAPRPHBState *sphb) > +{ > + vfio_eeh_as_op(&sphb->iommu_as, VFIO_EEH_PE_ENABLE); > +} > + > static void spapr_phb_reset(DeviceState *qdev) > { > /* Reset the IOMMU state */ > object_child_foreach(OBJECT(qdev), spapr_phb_children_reset, NULL); > > if (spapr_phb_eeh_available(SPAPR_PCI_HOST_BRIDGE(qdev))) { > - spapr_phb_vfio_reset(qdev); > + /* > + * The PE might be in frozen state. To reenable the EEH > + * functionality on it will clean the frozen state, which > + * ensures that the contained PCI devices will work properly > + * after reboot. > + */ > + spapr_phb_eeh_reenable(SPAPR_PCI_HOST_BRIDGE(qdev)); > } > } > > diff --git a/hw/ppc/spapr_pci_vfio.c b/hw/ppc/spapr_pci_vfio.c > index cccd444..0a0f31a 100644 > --- a/hw/ppc/spapr_pci_vfio.c > +++ b/hw/ppc/spapr_pci_vfio.c > @@ -73,22 +73,6 @@ static void spapr_phb_vfio_finish_realize(sPAPRPHBState *sphb, Error **errp) > spapr_tce_get_iommu(tcet)); > } > > -static void spapr_phb_vfio_eeh_reenable(sPAPRPHBState *sphb) > -{ > - vfio_eeh_as_op(&sphb->iommu_as, VFIO_EEH_PE_ENABLE); > -} > - > -void spapr_phb_vfio_reset(DeviceState *qdev) > -{ > - /* > - * The PE might be in frozen state. To reenable the EEH > - * functionality on it will clean the frozen state, which > - * ensures that the contained PCI devices will work properly > - * after reboot. > - */ > - spapr_phb_vfio_eeh_reenable(SPAPR_PCI_HOST_BRIDGE(qdev)); > -} > - > static void spapr_phb_vfio_class_init(ObjectClass *klass, void *data) > { > DeviceClass *dc = DEVICE_CLASS(klass); >
diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c index 26d08ad..be18bf6 100644 --- a/hw/ppc/spapr_pci.c +++ b/hw/ppc/spapr_pci.c @@ -1531,13 +1531,24 @@ static int spapr_phb_children_reset(Object *child, void *opaque) return 0; } +static void spapr_phb_eeh_reenable(sPAPRPHBState *sphb) +{ + vfio_eeh_as_op(&sphb->iommu_as, VFIO_EEH_PE_ENABLE); +} + static void spapr_phb_reset(DeviceState *qdev) { /* Reset the IOMMU state */ object_child_foreach(OBJECT(qdev), spapr_phb_children_reset, NULL); if (spapr_phb_eeh_available(SPAPR_PCI_HOST_BRIDGE(qdev))) { - spapr_phb_vfio_reset(qdev); + /* + * The PE might be in frozen state. To reenable the EEH + * functionality on it will clean the frozen state, which + * ensures that the contained PCI devices will work properly + * after reboot. + */ + spapr_phb_eeh_reenable(SPAPR_PCI_HOST_BRIDGE(qdev)); } } diff --git a/hw/ppc/spapr_pci_vfio.c b/hw/ppc/spapr_pci_vfio.c index cccd444..0a0f31a 100644 --- a/hw/ppc/spapr_pci_vfio.c +++ b/hw/ppc/spapr_pci_vfio.c @@ -73,22 +73,6 @@ static void spapr_phb_vfio_finish_realize(sPAPRPHBState *sphb, Error **errp) spapr_tce_get_iommu(tcet)); } -static void spapr_phb_vfio_eeh_reenable(sPAPRPHBState *sphb) -{ - vfio_eeh_as_op(&sphb->iommu_as, VFIO_EEH_PE_ENABLE); -} - -void spapr_phb_vfio_reset(DeviceState *qdev) -{ - /* - * The PE might be in frozen state. To reenable the EEH - * functionality on it will clean the frozen state, which - * ensures that the contained PCI devices will work properly - * after reboot. - */ - spapr_phb_vfio_eeh_reenable(SPAPR_PCI_HOST_BRIDGE(qdev)); -} - static void spapr_phb_vfio_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass);
Simplify the sPAPR PCI code by folding spapr_phb_vfio_reset() into spapr_phb_reset(). Signed-off-by: David Gibson <david@gibson.dropbear.id.au> --- hw/ppc/spapr_pci.c | 13 ++++++++++++- hw/ppc/spapr_pci_vfio.c | 16 ---------------- 2 files changed, 12 insertions(+), 17 deletions(-)