Lines Matching defs:edev

77 		struct eeh_dev *edev = pdn_to_eeh_dev(pdn);
79 edev->pe_config_addr = (pdn->busno << 16) | (pdn->devfn << 8);
80 eeh_pe_tree_remove(edev); /* Remove as it is adding to bus pe */
81 eeh_pe_tree_insert(edev, physfn_pe); /* Add as VF PE type */
290 struct eeh_dev *edev = pdn_to_eeh_dev(pdn);
295 if (!edev || !edev->pcie_cap)
319 * @edev: EEH device
325 static struct eeh_pe *pseries_eeh_pe_get_parent(struct eeh_dev *edev)
328 struct pci_dn *pdn = eeh_dev_to_pdn(edev);
335 if (edev->physfn)
336 pdn = pci_get_pdn(edev->physfn);
367 struct eeh_dev *edev;
380 edev = pdn_to_eeh_dev(pdn);
381 if (!edev)
390 if (edev->pe)
401 eeh_edev_dbg(edev, "Probing device\n");
408 edev->pcix_cap = pseries_eeh_find_cap(pdn, PCI_CAP_ID_PCIX);
409 edev->pcie_cap = pseries_eeh_find_cap(pdn, PCI_CAP_ID_EXP);
410 edev->aer_cap = pseries_eeh_find_ecap(pdn, PCI_EXT_CAP_ID_ERR);
411 edev->mode &= 0xFFFFFF00;
413 edev->mode |= EEH_DEV_BRIDGE;
414 if (edev->pcie_cap) {
415 rtas_pci_dn_read_config(pdn, edev->pcie_cap + PCI_EXP_FLAGS,
419 edev->mode |= EEH_DEV_ROOT_PORT;
421 edev->mode |= EEH_DEV_DS_PORT;
428 eeh_edev_dbg(edev, "Unable to find pe_config_addr\n");
437 eeh_edev_dbg(edev, "Enabling EEH on device\n");
440 eeh_edev_dbg(edev, "EEH failed to enable on device (code %d)\n", ret);
444 edev->pe_config_addr = pe.addr;
448 parent = pseries_eeh_pe_get_parent(edev);
449 eeh_pe_tree_insert(edev, parent);
450 eeh_save_bars(edev);
451 eeh_edev_dbg(edev, "EEH enabled for device");
456 eeh_edev_dbg(edev, "EEH is unsupported on device (code = %d)\n", ret);
461 struct eeh_dev *edev;
472 edev = pdn_to_eeh_dev(pdn);
473 if (!edev || !edev->pe)
476 return edev;
668 * @edev: EEH device handle
675 static int pseries_eeh_read_config(struct eeh_dev *edev, int where, int size, u32 *val)
677 struct pci_dn *pdn = eeh_dev_to_pdn(edev);
684 * @edev: EEH device handle
691 static int pseries_eeh_write_config(struct eeh_dev *edev, int where, int size, u32 val)
693 struct pci_dn *pdn = eeh_dev_to_pdn(edev);
722 static int pseries_call_allow_unfreeze(struct eeh_dev *edev)
731 if (pci_num_vf(edev->physfn ? edev->physfn : edev->pdev)) {
732 if (edev->pdev->is_physfn) {
733 cur_vfs = pci_num_vf(edev->pdev);
734 pdn = eeh_dev_to_pdn(edev);
746 bus = pci_iov_virtfn_bus(edev->pdev,
748 devfn = pci_iov_virtfn_devfn(edev->pdev,
757 pdn = pci_get_pdn(edev->pdev);
758 physfn_pdn = pci_get_pdn(edev->physfn);
760 vf_pe_num = physfn_pdn->pe_num_map[edev->vf_index];
772 static int pseries_notify_resume(struct eeh_dev *edev)
774 if (!edev)
780 if (edev->pdev->is_physfn || edev->pdev->is_virtfn)
781 return pseries_call_allow_unfreeze(edev);