Lines Matching defs:edev

268 	struct eeh_dev *edev = pdn_to_eeh_dev(pdn);
272 if (!edev || !edev->pcie_cap)
327 struct eeh_dev *edev = pdn_to_eeh_dev(pdn);
339 if (!edev || edev->pe)
343 if (edev->pdev) {
344 pr_debug("%s: found existing edev for %04x:%02x:%02x.%01x\n",
347 return edev;
354 eeh_edev_dbg(edev, "Probing device\n");
357 edev->mode &= 0xFFFFFF00;
358 edev->pcix_cap = pnv_eeh_find_cap(pdn, PCI_CAP_ID_PCIX);
359 edev->pcie_cap = pnv_eeh_find_cap(pdn, PCI_CAP_ID_EXP);
360 edev->af_cap = pnv_eeh_find_cap(pdn, PCI_CAP_ID_AF);
361 edev->aer_cap = pnv_eeh_find_ecap(pdn, PCI_EXT_CAP_ID_ERR);
363 edev->mode |= EEH_DEV_BRIDGE;
364 if (edev->pcie_cap) {
365 pnv_pci_cfg_read(pdn, edev->pcie_cap + PCI_EXP_FLAGS,
369 edev->mode |= EEH_DEV_ROOT_PORT;
371 edev->mode |= EEH_DEV_DS_PORT;
375 edev->pe_config_addr = phb->ioda.pe_rmap[config_addr];
380 ret = eeh_pe_tree_insert(edev, upstream_pe);
382 eeh_edev_warn(edev, "Failed to add device to PE (code %d)\n", ret);
412 edev->pe->state |= EEH_PE_CFG_RESTRICTED;
420 if (!(edev->pe->state & EEH_PE_PRI_BUS)) {
421 edev->pe->bus = pci_find_bus(hose->global_number,
423 if (edev->pe->bus)
424 edev->pe->state |= EEH_PE_PRI_BUS;
438 eeh_save_bars(edev);
440 eeh_edev_dbg(edev, "EEH enabled on device\n");
442 return edev;
805 struct eeh_dev *edev = pdn_to_eeh_dev(pdn);
806 int aer = edev ? edev->aer_cap : 0;
818 eeh_ops->read_config(edev, aer + PCI_ERR_UNCOR_MASK,
821 eeh_ops->write_config(edev, aer + PCI_ERR_UNCOR_MASK,
825 eeh_ops->read_config(edev, PCI_BRIDGE_CONTROL, 2, &ctrl);
827 eeh_ops->write_config(edev, PCI_BRIDGE_CONTROL, 2, ctrl);
832 eeh_ops->read_config(edev, PCI_BRIDGE_CONTROL, 2, &ctrl);
834 eeh_ops->write_config(edev, PCI_BRIDGE_CONTROL, 2, ctrl);
840 eeh_ops->read_config(edev, aer + PCI_ERR_UNCOR_MASK,
843 eeh_ops->write_config(edev, aer + PCI_ERR_UNCOR_MASK,
911 struct eeh_dev *edev = pdn->edev;
916 eeh_ops->read_config(edev, pos, 2, &status);
931 struct eeh_dev *edev = pdn_to_eeh_dev(pdn);
934 if (WARN_ON(!edev->pcie_cap))
937 eeh_ops->read_config(edev, edev->pcie_cap + PCI_EXP_DEVCAP, 4, &reg);
945 edev->pcie_cap + PCI_EXP_DEVSTA,
947 eeh_ops->read_config(edev, edev->pcie_cap + PCI_EXP_DEVCTL,
950 eeh_ops->write_config(edev, edev->pcie_cap + PCI_EXP_DEVCTL,
955 eeh_ops->read_config(edev, edev->pcie_cap + PCI_EXP_DEVCTL,
958 eeh_ops->write_config(edev, edev->pcie_cap + PCI_EXP_DEVCTL,
969 struct eeh_dev *edev = pdn_to_eeh_dev(pdn);
972 if (WARN_ON(!edev->af_cap))
975 eeh_ops->read_config(edev, edev->af_cap + PCI_AF_CAP, 1, &cap);
988 edev->af_cap + PCI_AF_CTRL,
990 eeh_ops->write_config(edev, edev->af_cap + PCI_AF_CTRL,
995 eeh_ops->write_config(edev, edev->af_cap + PCI_AF_CTRL, 1, 0);
1005 struct eeh_dev *edev;
1010 edev = list_first_entry_or_null(&pe->edevs, struct eeh_dev, entry);
1011 pdn = eeh_dev_to_pdn(edev);
1210 struct eeh_dev *edev = pdn_to_eeh_dev(pdn);
1212 if (!edev || !edev->pe)
1220 if (edev->physfn && (edev->pe->state & EEH_PE_RESET))
1223 if (edev->pe->state & EEH_PE_CFG_BLOCKED)
1229 static int pnv_eeh_read_config(struct eeh_dev *edev,
1232 struct pci_dn *pdn = eeh_dev_to_pdn(edev);
1245 static int pnv_eeh_write_config(struct eeh_dev *edev,
1248 struct pci_dn *pdn = eeh_dev_to_pdn(edev);
1603 static int pnv_eeh_restore_config(struct eeh_dev *edev)
1608 if (!edev)
1611 if (edev->physfn)
1614 phb = edev->controller->private_data;
1616 OPAL_REINIT_PCI_DEV, edev->bdfn);
1620 __func__, edev->bdfn, ret);