Lines Matching refs:bus_p

107     pcie_bus_t *bus_p, boolean_t bdg);
108 static void pf_pcix_regs_gather(pf_data_t *pfd_p, pcie_bus_t *bus_p);
109 static void pf_pcie_regs_gather(pf_data_t *pfd_p, pcie_bus_t *bus_p);
110 static void pf_pci_regs_gather(pf_data_t *pfd_p, pcie_bus_t *bus_p);
167 pf_eh_enter(pcie_bus_t *bus_p) {
172 pf_eh_exit(pcie_bus_t *bus_p)
174 pcie_bus_t *rbus_p = PCIE_DIP2BUS(bus_p->bus_rp_dip);
322 pcie_bus_t *bus_p;
327 if (!(bus_p = pf_is_ready(dip)))
342 (bus_p->bus_bdf == rid) ||
343 pf_in_bus_range(bus_p, rid) ||
344 pf_in_addr_range(bus_p, impl->pf_fault->scan_addr)) {
360 switch (bus_p->bus_dev_type) {
369 pf_data_t *pfd_p = PCIE_BUS2PFD(bus_p);
376 if ((bus_p->bus_bdf != rid) ||
390 if (PCIE_IS_BDG(bus_p))
402 pf_in_bus_range(pcie_bus_t *bus_p, pcie_req_id_t bdf)
404 pci_bus_range_t *br_p = &bus_p->bus_bus_range;
409 if (PCIE_IS_BDG(bus_p) &&
420 pf_in_assigned_addr(pcie_bus_t *bus_p, uint64_t addr)
424 pci_regspec_t *assign_p = bus_p->bus_assigned_addr;
426 for (i = 0; i < bus_p->bus_assigned_entries; i++, assign_p++) {
440 pf_in_addr_range(pcie_bus_t *bus_p, uint64_t addr)
444 ppb_ranges_t *ranges_p = bus_p->bus_addr_ranges;
450 if (pf_in_assigned_addr(bus_p, addr))
454 if (!PCIE_IS_BDG(bus_p))
457 for (i = 0; i < bus_p->bus_addr_entries; i++, ranges_p++) {
482 pcie_bus_t *bus_p = PCIE_DIP2BUS(dip);
483 if (!bus_p)
486 if (!(bus_p->bus_fm_flags & PF_FM_READY))
488 return (bus_p);
493 pcie_bus_t *bus_p, boolean_t bdg)
496 pcix_ecc_regs->pcix_ecc_ctlstat = PCIX_CAP_GET(32, bus_p,
498 pcix_ecc_regs->pcix_ecc_fstaddr = PCIX_CAP_GET(32, bus_p,
500 pcix_ecc_regs->pcix_ecc_secaddr = PCIX_CAP_GET(32, bus_p,
502 pcix_ecc_regs->pcix_ecc_attr = PCIX_CAP_GET(32, bus_p,
505 pcix_ecc_regs->pcix_ecc_ctlstat = PCIX_CAP_GET(32, bus_p,
507 pcix_ecc_regs->pcix_ecc_fstaddr = PCIX_CAP_GET(32, bus_p,
509 pcix_ecc_regs->pcix_ecc_secaddr = PCIX_CAP_GET(32, bus_p,
511 pcix_ecc_regs->pcix_ecc_attr = PCIX_CAP_GET(32, bus_p,
518 pf_pcix_regs_gather(pf_data_t *pfd_p, pcie_bus_t *bus_p)
525 if (PCIE_IS_BDG(bus_p)) {
530 pcix_bdg_regs->pcix_bdg_sec_stat = PCIX_CAP_GET(16, bus_p,
532 pcix_bdg_regs->pcix_bdg_stat = PCIX_CAP_GET(32, bus_p,
535 if (PCIX_ECC_VERSION_CHECK(bus_p)) {
541 if (!PCIE_IS_PCIE_BDG(bus_p)) {
542 PCIX_CAP_PUT(32, bus_p, PCI_PCIX_BDG_ECC_STATUS,
545 PCIX_BDG_ECC_REG(pfd_p, 0), bus_p, B_TRUE);
546 PCIX_CAP_PUT(32, bus_p, PCI_PCIX_BDG_ECC_STATUS,
550 bus_p, B_TRUE);
555 pcix_regs->pcix_command = PCIX_CAP_GET(16, bus_p,
557 pcix_regs->pcix_status = PCIX_CAP_GET(32, bus_p,
559 if (PCIX_ECC_VERSION_CHECK(bus_p))
560 pf_pcix_ecc_regs_gather(PCIX_ECC_REG(pfd_p), bus_p,
566 pf_pcie_regs_gather(pf_data_t *pfd_p, pcie_bus_t *bus_p)
571 pcie_regs->pcie_err_status = PCIE_CAP_GET(16, bus_p, PCIE_DEVSTS);
572 pcie_regs->pcie_err_ctl = PCIE_CAP_GET(16, bus_p, PCIE_DEVCTL);
573 pcie_regs->pcie_dev_cap = PCIE_CAP_GET(32, bus_p, PCIE_DEVCAP);
575 if (PCIE_IS_BDG(bus_p) && PCIE_IS_PCIX(bus_p))
576 pf_pcix_regs_gather(pfd_p, bus_p);
578 if (PCIE_IS_ROOT(bus_p)) {
581 pcie_rp_regs->pcie_rp_status = PCIE_CAP_GET(32, bus_p,
583 pcie_rp_regs->pcie_rp_ctl = PCIE_CAP_GET(16, bus_p,
587 if (!PCIE_HAS_AER(bus_p))
591 pcie_adv_regs->pcie_adv_ctl = PCIE_AER_GET(32, bus_p,
593 pcie_adv_regs->pcie_ue_status = PCIE_AER_GET(32, bus_p,
595 pcie_adv_regs->pcie_ue_mask = PCIE_AER_GET(32, bus_p,
597 pcie_adv_regs->pcie_ue_sev = PCIE_AER_GET(32, bus_p,
599 PCIE_ADV_HDR(pfd_p, 0) = PCIE_AER_GET(32, bus_p,
601 PCIE_ADV_HDR(pfd_p, 1) = PCIE_AER_GET(32, bus_p,
603 PCIE_ADV_HDR(pfd_p, 2) = PCIE_AER_GET(32, bus_p,
605 PCIE_ADV_HDR(pfd_p, 3) = PCIE_AER_GET(32, bus_p,
609 pcie_adv_regs->pcie_ce_status = PCIE_AER_GET(32, bus_p,
611 pcie_adv_regs->pcie_ce_mask = PCIE_AER_GET(32, bus_p,
618 if (PCIE_IS_PCIE_BDG(bus_p)) {
622 pcie_bdg_regs->pcie_sue_ctl = PCIE_AER_GET(32, bus_p,
624 pcie_bdg_regs->pcie_sue_status = PCIE_AER_GET(32, bus_p,
626 pcie_bdg_regs->pcie_sue_mask = PCIE_AER_GET(32, bus_p,
628 pcie_bdg_regs->pcie_sue_sev = PCIE_AER_GET(32, bus_p,
630 PCIE_ADV_BDG_HDR(pfd_p, 0) = PCIE_AER_GET(32, bus_p,
632 PCIE_ADV_BDG_HDR(pfd_p, 1) = PCIE_AER_GET(32, bus_p,
634 PCIE_ADV_BDG_HDR(pfd_p, 2) = PCIE_AER_GET(32, bus_p,
636 PCIE_ADV_BDG_HDR(pfd_p, 3) = PCIE_AER_GET(32, bus_p,
644 if (PCIE_IS_ROOT(bus_p)) {
648 pcie_rp_regs->pcie_rp_err_cmd = PCIE_AER_GET(32, bus_p,
650 pcie_rp_regs->pcie_rp_err_status = PCIE_AER_GET(32, bus_p,
652 pcie_rp_regs->pcie_rp_ce_src_id = PCIE_AER_GET(16, bus_p,
654 pcie_rp_regs->pcie_rp_ue_src_id = PCIE_AER_GET(16, bus_p,
660 pf_pci_regs_gather(pf_data_t *pfd_p, pcie_bus_t *bus_p)
668 pci_regs->pci_err_status = PCIE_GET(16, bus_p, PCI_CONF_STAT);
669 pci_regs->pci_cfg_comm = PCIE_GET(16, bus_p, PCI_CONF_COMM);
674 if (PCIE_IS_BDG(bus_p)) {
677 PCIE_GET(16, bus_p, PCI_BCNF_SEC_STATUS);
679 PCIE_GET(16, bus_p, PCI_BCNF_BCNTRL);
687 if (PCIE_IS_PCIE(bus_p))
688 pf_pcie_regs_gather(pfd_p, bus_p);
689 else if (PCIE_IS_PCIX(bus_p))
690 pf_pcix_regs_gather(pfd_p, bus_p);
695 pf_pcix_regs_clear(pf_data_t *pfd_p, pcie_bus_t *bus_p)
697 if (PCIE_IS_BDG(bus_p)) {
702 PCIX_CAP_PUT(16, bus_p, PCI_PCIX_SEC_STATUS,
705 PCIX_CAP_PUT(32, bus_p, PCI_PCIX_BDG_STATUS,
708 if (PCIX_ECC_VERSION_CHECK(bus_p)) {
716 if (!PCIE_IS_PCIE_BDG(bus_p)) {
718 PCIX_CAP_PUT(32, bus_p, PCI_PCIX_BDG_ECC_STATUS,
723 PCIX_CAP_PUT(32, bus_p, PCI_PCIX_BDG_ECC_STATUS,
729 PCIX_CAP_PUT(32, bus_p, PCI_PCIX_STATUS,
732 if (PCIX_ECC_VERSION_CHECK(bus_p)) {
735 PCIX_CAP_PUT(32, bus_p, PCI_PCIX_ECC_STATUS,
742 pf_pcie_regs_clear(pf_data_t *pfd_p, pcie_bus_t *bus_p)
747 PCIE_CAP_PUT(16, bus_p, PCIE_DEVSTS, pcie_regs->pcie_err_status);
749 if (PCIE_IS_BDG(bus_p) && PCIE_IS_PCIX(bus_p))
750 pf_pcix_regs_clear(pfd_p, bus_p);
752 if (!PCIE_HAS_AER(bus_p))
755 PCIE_AER_PUT(32, bus_p, PCIE_AER_UCE_STS,
758 PCIE_AER_PUT(32, bus_p, PCIE_AER_CE_STS,
761 if (PCIE_IS_PCIE_BDG(bus_p)) {
765 PCIE_AER_PUT(32, bus_p, PCIE_AER_SUCE_STS,
773 if (PCIE_IS_ROOT(bus_p)) {
778 PCIE_AER_PUT(32, bus_p, PCIE_AER_RE_STS,
784 pf_pci_regs_clear(pf_data_t *pfd_p, pcie_bus_t *bus_p)
786 if (PCIE_IS_PCIE(bus_p))
787 pf_pcie_regs_clear(pfd_p, bus_p);
788 else if (PCIE_IS_PCIX(bus_p))
789 pf_pcix_regs_clear(pfd_p, bus_p);
791 PCIE_PUT(16, bus_p, PCI_CONF_STAT, pfd_p->pe_pci_regs->pci_err_status);
793 if (PCIE_IS_BDG(bus_p)) {
795 PCIE_PUT(16, bus_p, PCI_BCNF_SEC_STATUS,
804 pcie_bus_t *bus_p = PCIE_DIP2BUS(dip);
807 ASSERT(bus_p);
809 pf_pci_regs_gather(pfd_p, bus_p);
810 pf_pci_regs_clear(pfd_p, bus_p);
815 pf_pci_find_rp_fault(pf_data_t *pfd_p, pcie_bus_t *bus_p)
828 if (!PCIE_HAS_AER(bus_p) &&
909 pcie_bus_t *bus_p = PCIE_DIP2BUS(dip);
925 if (PCIE_GET(32, bus_p, PCI_CONF_VENID) != bus_p->bus_dev_ven_id) {
949 pf_pci_regs_gather(pfd_p, bus_p);
950 pf_pci_regs_clear(pfd_p, bus_p);
951 if (PCIE_IS_RP(bus_p))
952 pf_pci_find_rp_fault(pfd_p, bus_p);
971 if (PCIE_IS_PCIE_BDG(bus_p) &&
976 if (PCIE_IS_PCI_BDG(bus_p) &&
996 pcie_bus_t *bus_p = PCIE_DIP2BUS(dip);
1000 if (!bus_p) {
1027 bus_p->bus_fm_flags |= PF_FM_IS_NH;
1042 bus_p->bus_fm_flags = 0;
1052 bus_p->bus_fm_flags |= PF_FM_READY;
1059 pcie_bus_t *bus_p = PCIE_DIP2BUS(dip);
1061 if (!bus_p)
1065 if (!(bus_p->bus_fm_flags & PF_FM_READY))
1069 bus_p->bus_fm_flags &= ~PF_FM_READY;
1081 if (bus_p->bus_fm_flags & PF_FM_IS_NH) {
1083 bus_p->bus_fm_flags &= ~PF_FM_IS_NH;
1604 pcie_bus_t *bus_p = PCIE_PFD2BUS(pfd_p);
1642 if ((parent_saer_p->pcie_sue_tgt_bdf == bus_p->bus_bdf) ||
1643 pf_in_addr_range(bus_p, parent_saer_p->pcie_sue_tgt_addr))
1652 if (PCIE_IS_BDG(bus_p) &&
1653 pf_in_bus_range(bus_p, parent_saer_p->pcie_sue_tgt_bdf))
2128 pcie_bus_t *bus_p = PCIE_PFD2BUS(pfd_p);
2145 if (fault_bdf == bus_p->bus_bdf)
2149 if (pf_in_addr_range(bus_p,
2154 if (PCIE_IS_PCIE_BDG(bus_p) &&
2155 pf_in_bus_range(bus_p, fault_bdf))
2331 pcie_bus_t *bus_p;
2334 if (!(bus_p = pf_is_ready(dip))) {
2351 if (!PCIE_IS_RC(bus_p) && (!PCIE_CHECK_VALID_BDF(bdf) ||
2375 if (!PCIE_IS_RC(bus_p) && ((dip_bdf == bdf) ||
2388 if (PCIE_IS_PCIE_BDG(bus_p) &&
2390 ((bus_p->bus_bdg_secbus << PCIE_REQ_ID_BUS_SHIFT) == bdf))
2397 if ((bus_p = PCIE_DIP2BUS(cdip)) == NULL)
2400 if (pf_in_bus_range(bus_p, bdf) ||
2401 pf_in_addr_range(bus_p, addr))
2537 * accessed via the bus_p.
2540 pf_tlp_decode(pcie_bus_t *bus_p, pf_pcie_adv_err_regs_t *adv_reg_p) {
2550 my_bdf = bus_p->bus_bdf;
2570 if ((tlp_bdf >= my_bdf) && !PCIE_IS_ROOT(bus_p)) {
2573 } else if (PCIE_IS_ROOT(bus_p) &&
2680 pcie_bus_t *bus_p;
2690 bus_p = PCIE_PFD2BUS(pfd_p);
2697 if (pf_ereport_setup(PCIE_BUS2DIP(bus_p), derr->fme_ena,
2715 "bdf", DATA_TYPE_UINT16, bus_p->bus_bdf,
2717 (bus_p->bus_dev_ven_id >> 16),
2719 (bus_p->bus_dev_ven_id & 0xFFFF),
2720 "rev_id", DATA_TYPE_UINT8, bus_p->bus_rev_id,
2721 "dev_type", DATA_TYPE_UINT16, bus_p->bus_dev_type,
2722 "pcie_off", DATA_TYPE_UINT16, bus_p->bus_pcie_off,
2723 "pcix_off", DATA_TYPE_UINT16, bus_p->bus_pcix_off,
2724 "aer_off", DATA_TYPE_UINT16, bus_p->bus_aer_off,
2725 "ecc_ver", DATA_TYPE_UINT16, bus_p->bus_ecc_ver,
2737 if (PCIE_IS_BDG(bus_p)) {
2747 if (PCIE_IS_PCIX(bus_p) && !PCIE_IS_BDG(bus_p)) {
2757 if (PCIX_ECC_VERSION_CHECK(bus_p)) {
2761 if (PCIE_IS_BDG(bus_p))
2766 PCIE_IS_BDG(bus_p) ?
2770 PCIE_IS_BDG(bus_p) ?
2774 PCIE_IS_BDG(bus_p) ?
2778 PCIE_IS_BDG(bus_p) ?
2782 PCIE_IS_BDG(bus_p) ?
2789 if (PCIX_ECC_VERSION_CHECK(bus_p) && PCIE_IS_BDG(bus_p)) {
2808 if (PCIE_IS_PCIX(bus_p) && PCIE_IS_BDG(bus_p)) {
2818 if (PCIE_IS_PCIE(bus_p)) {
2830 if (PCIE_HAS_AER(bus_p)) {
2872 if (PCIE_IS_PCIE_BDG(bus_p) && PCIE_HAS_AER(bus_p)) {
2894 if (PCIE_IS_PCIE_BDG(bus_p) && HAS_SAER_LOGS(pfd_p,
2912 if (PCIE_IS_RP(bus_p)) {
2922 if (PCIE_IS_RP(bus_p) && PCIE_HAS_AER(bus_p)) {
2954 pf_ereport_post(PCIE_BUS2DIP(bus_p), &ereport, &detector,
3050 pcie_bus_t *bus_p = PCIE_PFD2BUS(pfd_p);
3059 if (PCIE_IS_ROOT(bus_p)) {
3067 if (PCIE_IS_BDG(bus_p)) {
3074 if (PCIE_IS_PCIE(bus_p)) {
3075 if (PCIE_IS_ROOT(bus_p)) {
3084 } else if (PCIE_IS_PCIE_BDG(bus_p)) {
3091 if (PCIE_IS_PCIE_BDG(bus_p) && PCIE_IS_PCIX(bus_p)) {
3092 if (PCIX_ECC_VERSION_CHECK(bus_p)) {
3120 } else if (PCIE_IS_PCIX(bus_p)) {
3121 if (PCIE_IS_BDG(bus_p)) {
3122 if (PCIX_ECC_VERSION_CHECK(bus_p)) {
3131 if (PCIX_ECC_VERSION_CHECK(bus_p)) {