Lines Matching refs:edev
125 struct eeh_dev *edev; in pnv_eeh_ei_write() local
147 edev = kzalloc(sizeof(*edev), GFP_KERNEL); in pnv_eeh_ei_write()
148 if (!edev) in pnv_eeh_ei_write()
150 edev->phb = hose; in pnv_eeh_ei_write()
151 edev->pe_config_addr = pe_no; in pnv_eeh_ei_write()
152 pe = eeh_pe_get(edev); in pnv_eeh_ei_write()
153 kfree(edev); in pnv_eeh_ei_write()
335 struct eeh_dev *edev = pdn_to_eeh_dev(pdn); in pnv_eeh_find_ecap() local
339 if (!edev || !edev->pcie_cap) in pnv_eeh_find_ecap()
382 struct eeh_dev *edev = pdn_to_eeh_dev(pdn); in pnv_eeh_probe() local
392 if (!edev || edev->pe) in pnv_eeh_probe()
400 edev->class_code = pdn->class_code; in pnv_eeh_probe()
401 edev->mode &= 0xFFFFFF00; in pnv_eeh_probe()
402 edev->pcix_cap = pnv_eeh_find_cap(pdn, PCI_CAP_ID_PCIX); in pnv_eeh_probe()
403 edev->pcie_cap = pnv_eeh_find_cap(pdn, PCI_CAP_ID_EXP); in pnv_eeh_probe()
404 edev->aer_cap = pnv_eeh_find_ecap(pdn, PCI_EXT_CAP_ID_ERR); in pnv_eeh_probe()
405 if ((edev->class_code >> 8) == PCI_CLASS_BRIDGE_PCI) { in pnv_eeh_probe()
406 edev->mode |= EEH_DEV_BRIDGE; in pnv_eeh_probe()
407 if (edev->pcie_cap) { in pnv_eeh_probe()
408 pnv_pci_cfg_read(pdn, edev->pcie_cap + PCI_EXP_FLAGS, in pnv_eeh_probe()
412 edev->mode |= EEH_DEV_ROOT_PORT; in pnv_eeh_probe()
414 edev->mode |= EEH_DEV_DS_PORT; in pnv_eeh_probe()
418 edev->config_addr = (pdn->busno << 8) | (pdn->devfn); in pnv_eeh_probe()
419 edev->pe_config_addr = phb->ioda.pe_rmap[edev->config_addr]; in pnv_eeh_probe()
422 ret = eeh_add_to_parent_pe(edev); in pnv_eeh_probe()
450 edev->pe->state |= EEH_PE_CFG_RESTRICTED; in pnv_eeh_probe()
458 if (!(edev->pe->state & EEH_PE_PRI_BUS)) { in pnv_eeh_probe()
459 edev->pe->bus = pci_find_bus(hose->global_number, in pnv_eeh_probe()
461 if (edev->pe->bus) in pnv_eeh_probe()
462 edev->pe->state |= EEH_PE_PRI_BUS; in pnv_eeh_probe()
472 eeh_save_bars(edev); in pnv_eeh_probe()
849 struct eeh_dev *edev = pdn_to_eeh_dev(pdn); in pnv_eeh_bridge_reset() local
850 int aer = edev ? edev->aer_cap : 0; in pnv_eeh_bridge_reset()
1107 struct eeh_dev *edev = pdn_to_eeh_dev(pdn); in pnv_eeh_cfg_blocked() local
1109 if (!edev || !edev->pe) in pnv_eeh_cfg_blocked()
1112 if (edev->pe->state & EEH_PE_CFG_BLOCKED) in pnv_eeh_cfg_blocked()
1230 struct eeh_dev edev; in pnv_eeh_get_pe() local
1246 memset(&edev, 0, sizeof(struct eeh_dev)); in pnv_eeh_get_pe()
1247 edev.phb = hose; in pnv_eeh_get_pe()
1248 edev.pe_config_addr = pe_no; in pnv_eeh_get_pe()
1249 dev_pe = eeh_pe_get(&edev); in pnv_eeh_get_pe()
1488 struct eeh_dev *edev = pdn_to_eeh_dev(pdn); in pnv_eeh_restore_config() local
1492 if (!edev) in pnv_eeh_restore_config()
1495 phb = edev->phb->private_data; in pnv_eeh_restore_config()
1497 OPAL_REINIT_PCI_DEV, edev->config_addr); in pnv_eeh_restore_config()
1500 __func__, edev->config_addr, ret); in pnv_eeh_restore_config()