Lines Matching refs:phb
52 struct pnv_phb *phb; in pnv_eeh_init() local
70 phb = hose->private_data; in pnv_eeh_init()
72 if (phb->model == PNV_PHB_MODEL_P7IOC) in pnv_eeh_init()
82 if (phb->ioda.reserved_pe != 0) in pnv_eeh_init()
150 edev->phb = hose; in pnv_eeh_ei_write()
171 struct pnv_phb *phb = hose->private_data; in pnv_eeh_dbgfs_set() local
173 out_be64(phb->regs + offset, val); in pnv_eeh_dbgfs_set()
180 struct pnv_phb *phb = hose->private_data; in pnv_eeh_dbgfs_get() local
182 *val = in_be64(phb->regs + offset); in pnv_eeh_dbgfs_get()
235 struct pnv_phb *phb; in pnv_eeh_post_init() local
251 phb = hose->private_data; in pnv_eeh_post_init()
259 phb->flags |= PNV_PHB_FLAG_EEH; in pnv_eeh_post_init()
261 phb->flags &= ~PNV_PHB_FLAG_EEH; in pnv_eeh_post_init()
265 if (phb->has_dbgfs || !phb->dbgfs) in pnv_eeh_post_init()
268 phb->has_dbgfs = 1; in pnv_eeh_post_init()
270 phb->dbgfs, hose, in pnv_eeh_post_init()
274 phb->dbgfs, hose, in pnv_eeh_post_init()
277 phb->dbgfs, hose, in pnv_eeh_post_init()
280 phb->dbgfs, hose, in pnv_eeh_post_init()
380 struct pci_controller *hose = pdn->phb; in pnv_eeh_probe()
381 struct pnv_phb *phb = hose->private_data; in pnv_eeh_probe() local
419 edev->pe_config_addr = phb->ioda.pe_rmap[edev->config_addr]; in pnv_eeh_probe()
488 struct pci_controller *hose = pe->phb; in pnv_eeh_set_option()
489 struct pnv_phb *phb = hose->private_data; in pnv_eeh_set_option() local
517 if (phb->freeze_pe) { in pnv_eeh_set_option()
518 phb->freeze_pe(phb, pe->addr); in pnv_eeh_set_option()
520 rc = opal_pci_eeh_freeze_set(phb->opal_id, in pnv_eeh_set_option()
526 phb->hose->global_number, pe->addr); in pnv_eeh_set_option()
531 if (phb->unfreeze_pe) { in pnv_eeh_set_option()
532 ret = phb->unfreeze_pe(phb, pe->addr, opt); in pnv_eeh_set_option()
534 rc = opal_pci_eeh_freeze_clear(phb->opal_id, in pnv_eeh_set_option()
540 phb->hose->global_number, pe->addr); in pnv_eeh_set_option()
563 struct pnv_phb *phb = pe->phb->private_data; in pnv_eeh_get_phb_diag() local
566 rc = opal_pci_get_phb_diag_data2(phb->opal_id, pe->data, in pnv_eeh_get_phb_diag()
570 __func__, rc, pe->phb->global_number); in pnv_eeh_get_phb_diag()
575 struct pnv_phb *phb = pe->phb->private_data; in pnv_eeh_get_phb_state() local
581 rc = opal_pci_eeh_freeze_status(phb->opal_id, in pnv_eeh_get_phb_state()
588 __func__, rc, phb->hose->global_number); in pnv_eeh_get_phb_state()
606 pnv_pci_dump_phb_diag_data(pe->phb, pe->data); in pnv_eeh_get_phb_state()
614 struct pnv_phb *phb = pe->phb->private_data; in pnv_eeh_get_pe_state() local
638 if (phb->get_pe_state) { in pnv_eeh_get_pe_state()
639 fstate = phb->get_pe_state(phb, pe->addr); in pnv_eeh_get_pe_state()
641 rc = opal_pci_eeh_freeze_status(phb->opal_id, in pnv_eeh_get_pe_state()
648 __func__, rc, phb->hose->global_number, in pnv_eeh_get_pe_state()
685 __func__, phb->hose->global_number, in pnv_eeh_get_pe_state()
701 if (phb->freeze_pe) in pnv_eeh_get_pe_state()
702 phb->freeze_pe(phb, pe->addr); in pnv_eeh_get_pe_state()
708 pnv_pci_dump_phb_diag_data(pe->phb, pe->data); in pnv_eeh_get_pe_state()
748 static s64 pnv_eeh_phb_poll(struct pnv_phb *phb) in pnv_eeh_phb_poll() argument
753 rc = opal_pci_poll(phb->opal_id); in pnv_eeh_phb_poll()
768 struct pnv_phb *phb = hose->private_data; in pnv_eeh_phb_reset() local
777 rc = opal_pci_reset(phb->opal_id, in pnv_eeh_phb_reset()
781 rc = opal_pci_reset(phb->opal_id, in pnv_eeh_phb_reset()
793 rc = pnv_eeh_phb_poll(phb); in pnv_eeh_phb_reset()
809 struct pnv_phb *phb = hose->private_data; in pnv_eeh_root_reset() local
821 rc = opal_pci_reset(phb->opal_id, in pnv_eeh_root_reset()
825 rc = opal_pci_reset(phb->opal_id, in pnv_eeh_root_reset()
829 rc = opal_pci_reset(phb->opal_id, in pnv_eeh_root_reset()
836 rc = pnv_eeh_phb_poll(phb); in pnv_eeh_root_reset()
925 struct pci_controller *hose = pe->phb; in pnv_eeh_reset()
946 struct pnv_phb *phb; in pnv_eeh_reset() local
956 phb = hose->private_data; in pnv_eeh_reset()
957 if (phb->model == PNV_PHB_MODEL_P7IOC && in pnv_eeh_reset()
960 rc = opal_pci_reset(phb->opal_id, in pnv_eeh_reset()
1032 pnv_pci_dump_phb_diag_data(pe->phb, pe->data); in pnv_eeh_get_log()
1065 struct pci_controller *hose = pe->phb; in pnv_eeh_err_inject()
1066 struct pnv_phb *phb = hose->private_data; in pnv_eeh_err_inject() local
1092 rc = opal_pci_err_inject(phb->opal_id, pe->addr, in pnv_eeh_err_inject()
1169 struct pnv_phb *phb = hose->private_data; in pnv_eeh_get_and_dump_hub_diag() local
1170 struct OpalIoP7IOCErrorData *data = &phb->diag.hub_diag; in pnv_eeh_get_and_dump_hub_diag()
1173 rc = opal_pci_get_hub_diag_data(phb->hub_id, data, sizeof(*data)); in pnv_eeh_get_and_dump_hub_diag()
1176 __func__, phb->hub_id, rc); in pnv_eeh_get_and_dump_hub_diag()
1220 __func__, phb->hub_id, data->type); in pnv_eeh_get_and_dump_hub_diag()
1227 struct pnv_phb *phb = hose->private_data; in pnv_eeh_get_pe() local
1237 pnv_pe = &phb->ioda.pe_array[pe_no]; in pnv_eeh_get_pe()
1247 edev.phb = hose; in pnv_eeh_get_pe()
1256 phb->freeze_pe(phb, pe_no); in pnv_eeh_get_pe()
1278 phb->freeze_pe(phb, dev_pe->addr); in pnv_eeh_get_pe()
1300 struct pnv_phb *phb; in pnv_eeh_next_error() local
1322 phb = hose->private_data; in pnv_eeh_next_error()
1327 rc = opal_pci_next_error(phb->opal_id, in pnv_eeh_next_error()
1405 opal_pci_eeh_freeze_clear(phb->opal_id, in pnv_eeh_next_error()
1416 (*pe)->phb->global_number); in pnv_eeh_next_error()
1444 pnv_pci_dump_phb_diag_data((*pe)->phb, in pnv_eeh_next_error()
1489 struct pnv_phb *phb; in pnv_eeh_restore_config() local
1495 phb = edev->phb->private_data; in pnv_eeh_restore_config()
1496 ret = opal_pci_reinit(phb->opal_id, in pnv_eeh_restore_config()