Lines Matching defs:dip
195 pci_regs_gather(dev_info_t *dip, pci_erpt_t *erpt_p, int fme_flag)
345 pcix_ereport_setup(dev_info_t *dip, pci_erpt_t *erpt_p)
351 if (pci_config_setup(dip, &eh) == DDI_SUCCESS) {
398 pci_ereport_setup(dev_info_t *dip)
400 struct dev_info *devi = DEVI(dip);
413 if (!DDI_FM_EREPORT_CAP(ddi_fm_capable(dip)) &&
414 !DDI_FM_ERRCB_CAP(ddi_fm_capable(dip))) {
415 i_ddi_drv_ereport_post(dip, DVR_EFMCAP, NULL, DDI_SLEEP);
426 if (pci_config_setup(dip, &erpt_p->pe_hdl) != DDI_SUCCESS)
454 if (ddi_getlongprop(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, "reg",
468 pcix_ereport_setup(dip, erpt_p);
471 pci_regs_gather(dip, erpt_p, DDI_FM_ERR_UNEXPECTED);
519 pci_ereport_teardown(dev_info_t *dip)
521 struct i_ddi_fmhdl *fmhdl = DEVI(dip)->devi_fmhdl;
524 if (!DDI_FM_EREPORT_CAP(ddi_fm_capable(dip)) &&
525 !DDI_FM_ERRCB_CAP(ddi_fm_capable(dip))) {
526 i_ddi_drv_ereport_post(dip, DVR_EFMCAP, NULL, DDI_SLEEP);
553 pcix_check_addr(dev_info_t *dip, ddi_fm_error_t *derr,
612 pci_bdg_error_report(dev_info_t *dip, ddi_fm_error_t *derr, pci_erpt_t *erpt_p)
632 ddi_fm_ereport_post(dip, buf, derr->fme_ena,
647 ddi_fm_ereport_post(dip, buf, derr->fme_ena,
701 ret = ndi_fm_handler_dispatch(dip, NULL, derr);
708 pcix_ecc_error_report(dev_info_t *dip, ddi_fm_error_t *derr, pci_erpt_t *erpt_p,
793 ret = pcix_check_addr(dip, derr,
807 ddi_fm_ereport_post(dip, buf,
820 ddi_fm_ereport_post(dip, buf,
838 ddi_fm_ereport_post(dip, buf,
851 ddi_fm_ereport_post(dip, buf,
873 pcix_bdg_error_report(dev_info_t *dip, ddi_fm_error_t *derr, pci_erpt_t *erpt_p,
891 ddi_fm_ereport_post(dip, buf, derr->fme_ena,
910 ddi_fm_ereport_post(dip, buf, derr->fme_ena,
925 ret = pcix_ecc_error_report(dip, derr, erpt_p,
934 pcix_error_report(dev_info_t *dip, ddi_fm_error_t *derr, pci_erpt_t *erpt_p)
951 ddi_fm_ereport_post(dip, buf, derr->fme_ena,
962 int ret = pcix_ecc_error_report(dip, derr, erpt_p,
972 pci_error_report(dev_info_t *dip, ddi_fm_error_t *derr, pci_erpt_t *erpt_p)
996 ddi_fm_ereport_post(dip, buf, derr->fme_ena,
1007 int ret = pcix_bdg_error_report(dip, derr,
1011 int ret = pcix_error_report(dip, derr, erpt_p);
1018 int ret = pci_bdg_error_report(dip, derr, erpt_p);
1028 ret = ndi_fmc_entry_error(dip,
1042 ret = ndi_fmc_entry_error_all(dip,
1053 pci_ereport_post(dev_info_t *dip, ddi_fm_error_t *derr, uint16_t *xx_status)
1066 if (ndi_get_bus_private(dip, B_TRUE)) {
1074 fmhdl = DEVI(dip)->devi_fmhdl;
1075 if (!DDI_FM_EREPORT_CAP(ddi_fm_capable(dip)) &&
1076 !DDI_FM_ERRCB_CAP(ddi_fm_capable(dip))) {
1077 i_ddi_drv_ereport_post(dip, DVR_EFMCAP, NULL, DDI_NOSLEEP);
1123 pci_regs_gather(dip, erpt_p, de.fme_flag);
1124 pci_error_report(dip, &de, erpt_p);
1140 pci_fm_walk_devs(dev_info_t *dip, int (*f)(dev_info_t *, void *), void *arg)
1142 while (dip) {
1143 switch ((*f)(dip, arg)) {
1147 if (pci_fm_walk_devs(ddi_get_child(dip), f,
1154 dip = ddi_get_next_sibling(dip);
1164 pci_fm_ereport_post(dev_info_t *dip, const char *error_class, uint64_t ena,
1187 (void) ddi_pathname(dip, device_path);
1209 pci_check_regs(dev_info_t *dip, void *arg)
1223 if (ddi_getlongprop(DDI_DEV_T_NONE, dip, DDI_PROP_DONTPASS,
1235 tgt_err->tgt_dip = dip;
1247 if (ddi_getlongprop(DDI_DEV_T_NONE, dip, DDI_PROP_DONTPASS,
1265 tgt_err->tgt_dip = dip;
1272 if (ddi_getlongprop(DDI_DEV_T_NONE, dip, DDI_PROP_DONTPASS,
1290 tgt_err->tgt_dip = dip;
1307 pci_fix_ranges(dev_info_t *dip, pci_ranges_t *pci_ranges, int nrange)
1310 char *name = ddi_binding_name(dip);
1326 pci_check_ranges(dev_info_t *dip, void *arg)
1340 if (strcmp(ddi_node_name(dip), "pci") != 0 &&
1341 strcmp(ddi_node_name(dip), "pciex") != 0)
1349 if (ddi_getlongprop(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, "ranges",
1357 (void) pci_fm_walk_devs(ddi_get_child(dip),
1361 ndi_devi_enter(dip, &circ);
1362 ddi_walk_devs(ddi_get_child(dip), pci_check_regs,
1364 ndi_devi_exit(dip, circ);
1374 pci_fix_ranges(dip, pci_ranges, nrange);
1394 if (ddi_getlongprop(DDI_DEV_T_ANY, dip,
1418 (void) pci_fm_walk_devs(ddi_get_child(dip),
1422 ndi_devi_enter(dip, &circ);
1423 ddi_walk_devs(ddi_get_child(dip), pci_check_regs,
1425 ndi_devi_exit(dip, circ);