Lines Matching refs:edev
164 static size_t eeh_dump_dev_log(struct eeh_dev *edev, char *buf, size_t len) in eeh_dump_dev_log() argument
166 struct pci_dn *pdn = eeh_dev_to_pdn(edev); in eeh_dump_dev_log()
188 if (edev->mode & EEH_DEV_BRIDGE) { in eeh_dump_dev_log()
199 cap = edev->pcix_cap; in eeh_dump_dev_log()
211 cap = edev->pcie_cap; in eeh_dump_dev_log()
238 cap = edev->aer_cap; in eeh_dump_dev_log()
268 struct eeh_dev *edev, *tmp; in eeh_dump_pe_log() local
271 eeh_pe_for_each_dev(pe, edev, tmp) in eeh_dump_pe_log()
272 *plen += eeh_dump_dev_log(edev, pci_regs_buf + *plen, in eeh_dump_pe_log()
430 int eeh_dev_check_failure(struct eeh_dev *edev) in eeh_dev_check_failure() argument
445 if (!edev) { in eeh_dev_check_failure()
449 dev = eeh_dev_to_pci_dev(edev); in eeh_dev_check_failure()
450 pe = eeh_dev_to_pe(edev); in eeh_dev_check_failure()
600 struct eeh_dev *edev; in eeh_check_failure() local
604 edev = eeh_addr_cache_get_dev(addr); in eeh_check_failure()
605 if (!edev) { in eeh_check_failure()
610 return eeh_dev_check_failure(edev); in eeh_check_failure()
692 static void *eeh_disable_and_save_dev_state(struct eeh_dev *edev, in eeh_disable_and_save_dev_state() argument
695 struct pci_dev *pdev = eeh_dev_to_pci_dev(edev); in eeh_disable_and_save_dev_state()
720 static void *eeh_restore_dev_state(struct eeh_dev *edev, void *userdata) in eeh_restore_dev_state() argument
722 struct pci_dn *pdn = eeh_dev_to_pdn(edev); in eeh_restore_dev_state()
723 struct pci_dev *pdev = eeh_dev_to_pci_dev(edev); in eeh_restore_dev_state()
742 struct eeh_dev *edev = pdn_to_eeh_dev(pdn); in eeh_restore_vf_config() local
746 if (edev->pcie_cap) { in eeh_restore_vf_config()
749 eeh_ops->read_config(pdn, edev->pcie_cap + PCI_EXP_DEVCTL, in eeh_restore_vf_config()
753 eeh_ops->write_config(pdn, edev->pcie_cap + PCI_EXP_DEVCTL, in eeh_restore_vf_config()
757 eeh_ops->read_config(pdn, edev->pcie_cap + PCI_EXP_DEVCAP2, in eeh_restore_vf_config()
761 edev->pcie_cap + PCI_EXP_DEVCTL2, in eeh_restore_vf_config()
765 edev->pcie_cap + PCI_EXP_DEVCTL2, in eeh_restore_vf_config()
776 if (edev->pcie_cap) { in eeh_restore_vf_config()
777 eeh_ops->read_config(pdn, edev->pcie_cap + PCI_EXP_DEVCTL, in eeh_restore_vf_config()
783 eeh_ops->write_config(pdn, edev->pcie_cap + PCI_EXP_DEVCTL, in eeh_restore_vf_config()
788 if (edev->pcie_cap && edev->aer_cap) { in eeh_restore_vf_config()
789 eeh_ops->read_config(pdn, edev->aer_cap + PCI_ERR_CAP, in eeh_restore_vf_config()
792 eeh_ops->write_config(pdn, edev->aer_cap + PCI_ERR_CAP, in eeh_restore_vf_config()
809 struct eeh_dev *edev = pci_dev_to_eeh_dev(dev); in pcibios_set_pcie_reset_state() local
810 struct eeh_pe *pe = eeh_dev_to_pe(edev); in pcibios_set_pcie_reset_state()
861 static void *eeh_set_dev_freset(struct eeh_dev *edev, void *flag) in eeh_set_dev_freset() argument
866 dev = eeh_dev_to_pci_dev(edev); in eeh_set_dev_freset()
946 void eeh_save_bars(struct eeh_dev *edev) in eeh_save_bars() argument
951 pdn = eeh_dev_to_pdn(edev); in eeh_save_bars()
956 eeh_ops->read_config(pdn, i * 4, 4, &edev->config_space[i]); in eeh_save_bars()
964 if (edev->mode & EEH_DEV_BRIDGE) in eeh_save_bars()
965 edev->config_space[1] |= PCI_COMMAND_MASTER; in eeh_save_bars()
1113 struct eeh_dev *edev = pdn_to_eeh_dev(pdn); in eeh_add_device_early() local
1115 if (!edev) in eeh_add_device_early()
1160 struct eeh_dev *edev; in eeh_add_device_late() local
1168 edev = pdn_to_eeh_dev(pdn); in eeh_add_device_late()
1169 if (edev->pdev == dev) { in eeh_add_device_late()
1180 if (edev->pdev) { in eeh_add_device_late()
1181 eeh_rmv_from_parent_pe(edev); in eeh_add_device_late()
1182 eeh_addr_cache_rmv_dev(edev->pdev); in eeh_add_device_late()
1183 eeh_sysfs_remove_device(edev->pdev); in eeh_add_device_late()
1184 edev->mode &= ~EEH_DEV_SYSFS; in eeh_add_device_late()
1191 edev->mode |= EEH_DEV_NO_HANDLER; in eeh_add_device_late()
1193 edev->pdev = NULL; in eeh_add_device_late()
1194 dev->dev.archdata.edev = NULL; in eeh_add_device_late()
1200 edev->pdev = dev; in eeh_add_device_late()
1201 dev->dev.archdata.edev = edev; in eeh_add_device_late()
1264 struct eeh_dev *edev; in eeh_remove_device() local
1268 edev = pci_dev_to_eeh_dev(dev); in eeh_remove_device()
1273 if (!edev || !edev->pdev || !edev->pe) { in eeh_remove_device()
1284 edev->pdev = NULL; in eeh_remove_device()
1292 edev->in_error = false; in eeh_remove_device()
1293 dev->dev.archdata.edev = NULL; in eeh_remove_device()
1294 if (!(edev->pe->state & EEH_PE_KEEP)) in eeh_remove_device()
1295 eeh_rmv_from_parent_pe(edev); in eeh_remove_device()
1297 edev->mode |= EEH_DEV_DISCONNECTED; in eeh_remove_device()
1305 edev->mode |= EEH_DEV_NO_HANDLER; in eeh_remove_device()
1309 edev->mode &= ~EEH_DEV_SYSFS; in eeh_remove_device()
1347 struct eeh_dev *edev, *tmp; in eeh_pe_change_owner() local
1362 eeh_pe_for_each_dev(pe, edev, tmp) { in eeh_pe_change_owner()
1363 pdev = eeh_dev_to_pci_dev(edev); in eeh_pe_change_owner()
1399 struct eeh_dev *edev; in eeh_dev_open() local
1409 edev = pci_dev_to_eeh_dev(pdev); in eeh_dev_open()
1410 if (!edev || !edev->pe) in eeh_dev_open()
1419 ret = eeh_pe_change_owner(edev->pe); in eeh_dev_open()
1424 atomic_inc(&edev->pe->pass_dev_cnt); in eeh_dev_open()
1444 struct eeh_dev *edev; in eeh_dev_release() local
1453 edev = pci_dev_to_eeh_dev(pdev); in eeh_dev_release()
1454 if (!edev || !edev->pe || !eeh_pe_passed(edev->pe)) in eeh_dev_release()
1458 WARN_ON(atomic_dec_if_positive(&edev->pe->pass_dev_cnt) < 0); in eeh_dev_release()
1459 eeh_pe_change_owner(edev->pe); in eeh_dev_release()
1492 struct eeh_dev *edev; in eeh_iommu_group_to_pe() local
1504 edev = pci_dev_to_eeh_dev(pdev); in eeh_iommu_group_to_pe()
1505 if (!edev || !edev->pe) in eeh_iommu_group_to_pe()
1508 return edev->pe; in eeh_iommu_group_to_pe()
1617 struct eeh_dev *edev, *tmp; in eeh_pe_reenable_devices() local
1628 eeh_pe_for_each_dev(pe, edev, tmp) { in eeh_pe_reenable_devices()
1629 pdev = eeh_dev_to_pci_dev(edev); in eeh_pe_reenable_devices()