Lines Matching refs:psce
2607 psce_t *psce; in pm_psc_dip_to_direct() local
2613 psce = p->pscc_entries; in pm_psc_dip_to_direct()
2614 mutex_enter(&psce->psce_lock); in pm_psc_dip_to_direct()
2615 ASSERT(psce); in pm_psc_dip_to_direct()
2617 return (psce); in pm_psc_dip_to_direct()
2634 psc_entry(ushort_t event, psce_t *psce, dev_info_t *dip, int comp, int new, in psc_entry() argument
2643 ASSERT(MUTEX_HELD(&psce->psce_lock)); in psc_entry()
2646 p = psce->psce_in; in psc_entry()
2661 ASSERT(psce->psce_out == p); in psc_entry()
2662 if (p == psce->psce_last) { in psc_entry()
2663 psce->psce_first->flags |= PSC_EVENT_LOST; in psc_entry()
2664 psce->psce_out = psce->psce_first; in psc_entry()
2667 psce->psce_out = (p + 1); in psc_entry()
2692 if (p == psce->psce_last) in psc_entry()
2693 psce->psce_in = psce->psce_first; in psc_entry()
2695 psce->psce_in = ++p; in psc_entry()
2696 mutex_exit(&psce->psce_lock); in psc_entry()
2733 psce_t *psce; in pm_enqueue_notify() local
2742 psce = pm_psc_dip_to_direct(dip, &pscc); in pm_enqueue_notify()
2743 ASSERT(psce); in pm_enqueue_notify()
2747 overrun = psc_entry(cmd, psce, dip, comp, newlevel, oldlevel, in pm_enqueue_notify()
2761 psce = pm_psc_dip_to_direct(dip, &pscc); in pm_enqueue_notify()
2765 overrun = psc_entry(cmd, psce, dip, comp, newlevel, in pm_enqueue_notify()
2777 while ((psce = psc_interest(&cookie, &pscc)) != NULL) { in pm_enqueue_notify()
2778 (void) psc_entry(cmd, psce, dip, comp, newlevel, in pm_enqueue_notify()
5589 psce_t *psce; in pm_register_watcher() local
5616 psce = kmem_zalloc(sizeof (psce_t), KM_SLEEP); in pm_register_watcher()
5617 mutex_init(&psce->psce_lock, NULL, MUTEX_DEFAULT, NULL); in pm_register_watcher()
5618 psce->psce_first = in pm_register_watcher()
5621 psce->psce_in = psce->psce_out = psce->psce_first; in pm_register_watcher()
5622 psce->psce_last = &psce->psce_first[PSCCOUNT - 1]; in pm_register_watcher()
5623 psce->psce_references = 1; in pm_register_watcher()
5624 pscc->pscc_entries = psce; in pm_register_watcher()
5639 psce = kmem_zalloc(sizeof (psce_t), KM_SLEEP); in pm_register_watcher()
5640 psce->psce_first = kmem_zalloc(sizeof (pm_state_change_t) * in pm_register_watcher()
5642 psce->psce_in = psce->psce_out = psce->psce_first; in pm_register_watcher()
5643 psce->psce_last = &psce->psce_first[PSCCOUNT - 1]; in pm_register_watcher()
5644 psce->psce_references = 1; in pm_register_watcher()
5645 pscc->pscc_entries = psce; in pm_register_watcher()
5720 psce_t *psce; in pm_deregister_watcher() local
5729 psce = p->pscc_entries; in pm_deregister_watcher()
5730 ASSERT(psce->psce_references == 1); in pm_deregister_watcher()
5731 mutex_destroy(&psce->psce_lock); in pm_deregister_watcher()
5732 kmem_free(psce->psce_first, in pm_deregister_watcher()
5734 kmem_free(psce, sizeof (*psce)); in pm_deregister_watcher()
5757 psce = p->pscc_entries; in pm_deregister_watcher()
5758 ASSERT(psce); in pm_deregister_watcher()
5759 if (psce->psce_references == 1) { in pm_deregister_watcher()
5760 kmem_free(psce->psce_first, in pm_deregister_watcher()
5762 kmem_free(psce, sizeof (*psce)); in pm_deregister_watcher()
5764 psce->psce_references--; in pm_deregister_watcher()
5783 psce_t *psce; in pm_psc_find_clone() local
5787 psce = p->pscc_entries; in pm_psc_find_clone()
5788 mutex_enter(&psce->psce_lock); in pm_psc_find_clone()
5789 if (psce->psce_out->size) { in pm_psc_find_clone()
5791 return (psce); in pm_psc_find_clone()
5793 mutex_exit(&psce->psce_lock); in pm_psc_find_clone()