Lines Matching refs:impl
213 pf_impl_t impl;
229 impl.pf_total = 0;
230 impl.pf_derr = derr;
231 impl.pf_dq_head_p = pfd_head_p;
232 impl.pf_dq_tail_p = pfd_tail_p;
237 scan_flag = pf_handler_enter(rdip, &impl);
241 scan_flag = pf_default_hdl(rdip, &impl);
255 for (pfd_p = impl.pf_dq_head_p; pfd_p && PFD_IS_ROOT(pfd_p);
257 impl.pf_fault = PCIE_ROOT_FAULT(pfd_p);
260 impl.pf_total++;
262 if (impl.pf_fault->full_scan)
266 PCIE_CHECK_VALID_BDF(impl.pf_fault->scan_bdf) ||
267 impl.pf_fault->scan_addr)
268 scan_flag |= pf_dispatch(rdip, &impl, full_scan);
282 analyse_flag = pf_analyse_error(derr, &impl);
285 pf_send_ereport(derr, &impl);
318 pf_dispatch(dev_info_t *pdip, pf_impl_t *impl, boolean_t full_scan)
321 pcie_req_id_t rid = impl->pf_fault->scan_bdf;
330 scan_flag |= pf_handler_enter(dip, impl);
344 pf_in_addr_range(bus_p, impl->pf_fault->scan_addr)) {
345 int hdl_flag = pf_default_hdl(dip, impl);
363 scan_flag |= pf_dispatch(dip, impl, B_TRUE);
379 scan_flag |= pf_dispatch(dip, impl, full_scan);
391 scan_flag |= pf_dispatch(dip, impl, B_TRUE);
907 pf_default_hdl(dev_info_t *dip, pf_impl_t *impl)
943 pf_en_dq(pfd_p, impl);
954 cb_sts = pf_fm_callback(dip, impl->pf_derr);
960 pf_en_dq(pfd_p, impl);
1106 pf_en_dq(pf_data_t *pfd_p, pf_impl_t *impl)
1108 pf_data_t *head_p = impl->pf_dq_head_p;
1109 pf_data_t *tail_p = impl->pf_dq_tail_p;
1111 impl->pf_total++;
1115 impl->pf_dq_head_p = pfd_p;
1116 impl->pf_dq_tail_p = pfd_p;
1148 impl->pf_dq_head_p = head_p;
1149 impl->pf_dq_tail_p = tail_p;
1371 pf_analyse_error(ddi_fm_error_t *derr, pf_impl_t *impl)
1376 for (pfd_p = impl->pf_dq_head_p; pfd_p; pfd_p = pfd_p->pe_next) {
1391 sts_flags |= pf_analyse_error_tbl(derr, impl,
1396 sts_flags |= pf_analyse_error_tbl(derr, impl,
1403 sts_flags |= pf_analyse_error_tbl(derr, impl, pfd_p,
1413 sts_flags |= pf_analyse_error_tbl(derr, impl,
1424 impl, pfd_p, pcie_pcie_tbl,
1427 impl, pfd_p, pcie_pcie_bdg_tbl,
1439 sts_flags |= pf_analyse_error_tbl(derr, impl,
1447 impl, pfd_p, pcie_pci_bdg_tbl,
1456 pfd_p->pe_severity_flags = pciev_eh(pfd_p, impl);
1465 pf_analyse_error_tbl(ddi_fm_error_t *derr, pf_impl_t *impl,
1477 err |= row->handler(derr, bit, impl->pf_dq_head_p, pfd_p);
2341 * pf_handler_enter always returns SUCCESS if the 'impl' arg is
2675 pf_send_ereport(ddi_fm_error_t *derr, pf_impl_t *impl)
2682 uint32_t total = impl->pf_total;
2689 for (pfd_p = impl->pf_dq_head_p; pfd_p; pfd_p = pfd_p->pe_next) {
2937 if (!PCIE_BDG_IS_UNASSIGNED(PCIE_PFD2BUS(impl->pf_dq_head_p))) {
2959 for (pfd_p = impl->pf_dq_tail_p; pfd_p; pfd_p = pfd_p->pe_prev) {
2972 * The "impl" variable is passed in during scan fabric to double check that
2976 * In some cases "impl" is not available, such as "child lookup" being called
2981 pf_handler_enter(dev_info_t *dip, pf_impl_t *impl)
2991 if (!pfd_p->pe_lock || !impl) {
2997 /* Check to see that this dip is already in the "impl" error queue */
2998 for (pfd_p = impl->pf_dq_head_p; pfd_p; pfd_p = pfd_p->pe_next) {
3146 pf_find_busp_by_bdf(pf_impl_t *impl, pcie_req_id_t bdf)
3151 for (temp_pfd_p = impl->pf_dq_head_p;
3165 pf_find_busp_by_addr(pf_impl_t *impl, uint64_t addr)
3170 for (temp_pfd_p = impl->pf_dq_head_p;
3184 pf_find_busp_by_aer(pf_impl_t *impl, pf_data_t *pfd_p)
3199 temp_bus_p = pf_find_busp_by_bdf(impl, bdf);
3202 temp_bus_p = pf_find_busp_by_addr(impl, addr);
3206 temp_bus_p = pf_find_busp_by_bdf(impl, bdf);
3213 pf_find_busp_by_saer(pf_impl_t *impl, pf_data_t *pfd_p)
3224 temp_bus_p = pf_find_busp_by_addr(impl, addr);
3226 temp_bus_p = pf_find_busp_by_bdf(impl, bdf);