Lines Matching +full:- +full:- +full:without +full:- +full:default +full:- +full:devices
4 * Copyright (c) 2011-2014 Alexey Kardashevskiy, IBM Corporation.
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
24 #include "hw/pci-host/spapr.h"
27 #include "hw/vfio/vfio-container.h"
28 #include "qemu/error-report.h"
38 * As of 2016-03-04 (linux-4.5) the host kernel EEH/VFIO in vfio_eeh_container_ok()
42 * iterate across all groups in the container, without any logic in vfio_eeh_container_ok()
52 if (QLIST_EMPTY(&container->group_list)) { in vfio_eeh_container_ok()
56 if (QLIST_NEXT(QLIST_FIRST(&container->group_list), container_next)) { in vfio_eeh_container_ok()
74 return -EPERM; in vfio_eeh_container_op()
77 ret = ioctl(container->fd, VFIO_EEH_PE_OP, &pe_op); in vfio_eeh_container_op()
80 return -errno; in vfio_eeh_container_op()
91 if (QLIST_EMPTY(&space->containers)) { in vfio_eeh_as_container()
96 bcontainer = QLIST_FIRST(&space->containers); in vfio_eeh_as_container()
124 return -ENODEV; in vfio_eeh_as_op()
131 return vfio_eeh_as_ok(&sphb->iommu_as); in spapr_phb_eeh_available()
136 vfio_eeh_as_op(&sphb->iommu_as, VFIO_EEH_PE_ENABLE); in spapr_phb_vfio_eeh_reenable()
144 * ensures that the contained PCI devices will work properly in spapr_phb_vfio_reset()
155 if (object_dynamic_cast(OBJECT(pdev), "vfio-pci")) { in spapr_eeh_pci_find_device()
177 * based on buid passed as argument to ibm,set-eeh-option rtas in spapr_phb_vfio_eeh_set_option()
179 * pass-through devices (vfio-pci) under this sphb bus. in spapr_phb_vfio_eeh_set_option()
180 * We have already validated that all the devices under this sphb in spapr_phb_vfio_eeh_set_option()
185 * eeh-set-option for each device in the PE using the device's in spapr_phb_vfio_eeh_set_option()
190 * eeh-set-option when the argument isn't a valid PE address in spapr_phb_vfio_eeh_set_option()
195 pci_for_each_device(phb->bus, (addr >> 16) & 0xFF, in spapr_phb_vfio_eeh_set_option()
211 default: in spapr_phb_vfio_eeh_set_option()
215 ret = vfio_eeh_as_op(&sphb->iommu_as, op); in spapr_phb_vfio_eeh_set_option()
227 ret = vfio_eeh_as_op(&sphb->iommu_as, VFIO_EEH_PE_GET_STATE); in spapr_phb_vfio_eeh_get_state()
241 if (!object_dynamic_cast(OBJECT(pdev), "vfio-pci")) { in spapr_phb_vfio_eeh_clear_dev_msix()
255 pdev->msix_cap + PCI_MSIX_FLAGS, in spapr_phb_vfio_eeh_clear_dev_msix()
259 pdev->msix_cap + PCI_MSIX_FLAGS, in spapr_phb_vfio_eeh_clear_dev_msix()
276 pci_for_each_bus(phb->bus, spapr_phb_vfio_eeh_clear_bus_msix, NULL); in spapr_phb_vfio_eeh_pre_reset()
296 default: in spapr_phb_vfio_eeh_reset()
300 ret = vfio_eeh_as_op(&sphb->iommu_as, op); in spapr_phb_vfio_eeh_reset()
312 ret = vfio_eeh_as_op(&sphb->iommu_as, VFIO_EEH_PE_CONFIGURE); in spapr_phb_vfio_eeh_configure()