Lines Matching defs:dip

83 static int pcie_pwr_change(dev_info_t *dip, pcie_pwr_t *pwr_p, int new);
86 static void pcie_add_comps(dev_info_t *dip, dev_info_t *cdip,
88 static void pcie_remove_comps(dev_info_t *dip, dev_info_t *cdip,
90 static void pcie_pm_subrelease(dev_info_t *dip, pcie_pwr_t *pwr_p);
91 static boolean_t pcie_is_pcie(dev_info_t *dip);
107 pcie_power(dev_info_t *dip, int component, int level)
109 pcie_pwr_t *pwr_p = PCIE_NEXUS_PMINFO(dip);
115 if (dip)
127 ddi_driver_name(dip), ddi_get_instance(dip), pwr_p->pwr_func_lvl,
131 ddi_driver_name(dip), ddi_get_instance(dip), level);
143 "as busy\n", ddi_driver_name(dip),
144 ddi_get_instance(dip), level);
159 ddi_driver_name(dip), ddi_get_instance(dip), level,
165 if (pcie_pwr_change(dip, pwr_p, level) != DDI_SUCCESS) {
167 " failed \n", ddi_driver_name(dip), ddi_get_instance(dip),
173 ddi_driver_name(dip), ddi_get_instance(dip), level);
184 * dip - dev_info pointer
189 pcie_pwr_change(dev_info_t *dip, pcie_pwr_t *pwr_p, int new)
221 ddi_driver_name(dip), ddi_get_instance(dip));
222 if (pci_save_config_regs(dip) != DDI_SUCCESS) {
224 "config space regs\n", ddi_driver_name(dip),
225 ddi_get_instance(dip));
246 ddi_driver_name(dip), ddi_get_instance(dip));
247 if (pci_restore_config_regs(dip) != DDI_SUCCESS) {
249 "config space regs\n", ddi_driver_name(dip),
250 ddi_get_instance(dip));
265 pcie_bus_power(dev_info_t *dip, void *impl_arg, pm_bus_power_op_t op,
268 pcie_pwr_t *pwr_p = PCIE_NEXUS_PMINFO(dip);
270 int *child_counters; /* per child dip counters */
280 if (dip)
312 ddi_driver_name(dip), ddi_get_instance(dip),
327 ddi_driver_name(dip),
328 ddi_get_instance(dip));
334 ddi_driver_name(dip), ddi_get_instance(dip),
341 rv = pcie_pm_hold(dip);
347 ddi_driver_name(dip), ddi_get_instance(dip),
359 (void) pcie_pm_add_child(dip, cdip);
364 ddi_driver_name(dip),
365 ddi_get_instance(dip));
388 PCIE_SUPPORTS_DEVICE_PM(dip)) {
389 pcie_pm_subrelease(dip, pwr_p);
394 "failed\n", ddi_driver_name(dip),
395 ddi_get_instance(dip), ddi_driver_name(cdip),
406 if (!PCIE_SUPPORTS_DEVICE_PM(dip))
419 ddi_driver_name(dip), ddi_get_instance(dip));
420 (void) pm_busy_component(dip, 0);
437 ddi_driver_name(dip), ddi_get_instance(dip));
438 (void) pm_idle_component(dip, 0);
446 return (pm_busop_bus_power(dip, impl_arg, op, arg, result));
521 pcie_add_comps(dev_info_t *dip, dev_info_t *cdip, pcie_pwr_t *pwr_p)
533 ddi_driver_name(dip), ddi_get_instance(dip),
558 pcie_remove_comps(dev_info_t *dip, dev_info_t *cdip, pcie_pwr_t *pwr_p)
565 if (PCIE_SUPPORTS_DEVICE_PM(dip)) {
575 pcie_pm_subrelease(dip, pwr_p);
580 "%s@%d\n", ddi_driver_name(dip), ddi_get_instance(dip),
584 * Adjust the nexus counters. No need to adjust per child dip
585 * counters as we are freeing the per child dip info.
601 pwr_common_setup(dev_info_t *dip)
608 if ((pcie_pm_p = PCIE_PMINFO(dip)) == NULL) {
611 PCIE_SET_PMINFO(dip, pcie_pm_p);
620 if (pcie_plat_pwr_setup(dip) != DDI_SUCCESS)
630 PCIE_RESET_PMINFO(dip);
641 pwr_common_teardown(dev_info_t *dip)
643 pcie_pm_t *pcie_pm_p = PCIE_PMINFO(dip);
646 if (!pcie_pm_p || !(pwr_p = PCIE_NEXUS_PMINFO(dip)))
649 pcie_plat_pwr_teardown(dip);
656 * POST_DETACH for this node. For example, if dip is the dip of
659 if (!PCIE_PAR_PMINFO(dip)) {
661 PCIE_RESET_PMINFO(dip);
669 pcie_pm_hold(dev_info_t *dip)
674 if (!PCIE_PMINFO(dip) || !(pwr_p = PCIE_NEXUS_PMINFO(dip)) ||
675 !(PCIE_SUPPORTS_DEVICE_PM(dip)))
687 ddi_driver_name(dip), ddi_get_instance(dip));
692 ddi_driver_name(dip), ddi_get_instance(dip));
694 (void) pm_busy_component(dip, 0);
701 if (pm_raise_power(dip, 0, PM_LEVEL_D0) != DDI_SUCCESS) {
703 "from %d to %d failed\n", ddi_driver_name(dip),
704 ddi_get_instance(dip), pwr_p->pwr_func_lvl,
706 pcie_pm_release(dip);
716 pcie_pm_release(dev_info_t *dip)
721 if (!PCIE_PMINFO(dip) || !(pwr_p = PCIE_NEXUS_PMINFO(dip)) ||
722 !(PCIE_SUPPORTS_DEVICE_PM(dip)))
726 pcie_pm_subrelease(dip, pwr_p);
731 pcie_pm_subrelease(dev_info_t *dip, pcie_pwr_t *pwr_p)
738 ddi_driver_name(dip), ddi_get_instance(dip));
745 ddi_driver_name(dip), ddi_get_instance(dip));
746 (void) pm_idle_component(dip, 0);
756 * cdip - child's dip
759 pcie_pm_add_child(dev_info_t *dip, dev_info_t *cdip)
764 if (!PCIE_PMINFO(dip) || !(pwr_p = PCIE_NEXUS_PMINFO(dip)))
769 pcie_add_comps(dip, cdip, pwr_p);
772 if (!PCIE_SUPPORTS_DEVICE_PM(dip))
783 ddi_driver_name(dip), ddi_get_instance(dip));
799 pcie_pm_remove_child(dev_info_t *dip, dev_info_t *cdip)
806 if (!PCIE_PMINFO(dip) || !(pwr_p = PCIE_NEXUS_PMINFO(dip)))
811 pcie_remove_comps(dip, cdip, pwr_p);
813 if (!PCIE_SUPPORTS_DEVICE_PM(dip)) {
829 ddi_driver_name(dip), ddi_get_instance(dip));
830 (void) pm_idle_component(dip, 0);
839 pcie_is_pcie(dev_info_t *dip)
841 pcie_bus_t *bus_p = PCIE_DIP2BUS(dip);
850 pcie_pwr_resume(dev_info_t *dip)
856 if (dip)
860 if (PCIE_PMINFO(dip))
861 pwr_p = PCIE_NEXUS_PMINFO(dip);
864 /* Inform the PM framework that dip is at full power */
865 if (PCIE_SUPPORTS_DEVICE_PM(dip)) {
867 (void) pm_raise_power(dip, 0,
879 for (cdip = ddi_get_child(dip); cdip != NULL;
890 ddi_driver_name(dip), ddi_get_instance(dip),
904 ddi_driver_name(dip), ddi_get_instance(dip),
922 ddi_driver_name(dip), ddi_get_instance(dip),
934 pcie_pwr_suspend(dev_info_t *dip)
938 int *child_counters = NULL; /* per child dip counters */
942 if (dip)
946 if (PCIE_PMINFO(dip))
947 pwr_p = PCIE_NEXUS_PMINFO(dip);
956 if (PCIE_SUPPORTS_DEVICE_PM(dip) &&
959 if (pm_raise_power(dip, 0, PM_LEVEL_D0) !=
963 "failed\n", ddi_driver_name(dip),
964 ddi_get_instance(dip), pwr_p->pwr_func_lvl,
988 for (cdip = ddi_get_child(dip); cdip != NULL;
998 "%s%d not in CF1\n", ddi_driver_name(dip),
999 ddi_get_instance(dip), ddi_driver_name(cdip),
1004 * Update per child dip counters, if any. Counters
1035 ddi_driver_name(dip), ddi_get_instance(dip),
1040 " %s%d\n", ddi_driver_name(dip), ddi_get_instance(dip),