psce
psce_t *psce;
psce = p->pscc_entries;
mutex_enter(&psce->psce_lock);
ASSERT(psce);
return (psce);
psc_entry(ushort_t event, psce_t *psce, dev_info_t *dip, int comp, int new,
ASSERT(MUTEX_HELD(&psce->psce_lock));
p = psce->psce_in;
ASSERT(psce->psce_out == p);
if (p == psce->psce_last) {
psce->psce_first->flags |= PSC_EVENT_LOST;
psce->psce_out = psce->psce_first;
psce->psce_out = (p + 1);
if (p == psce->psce_last)
psce->psce_in = psce->psce_first;
psce->psce_in = ++p;
mutex_exit(&psce->psce_lock);
psce_t *psce;
psce = pm_psc_dip_to_direct(dip, &pscc);
ASSERT(psce);
overrun = psc_entry(cmd, psce, dip, comp, newlevel, oldlevel,
psce = pm_psc_dip_to_direct(dip, &pscc);
overrun = psc_entry(cmd, psce, dip, comp, newlevel,
while ((psce = psc_interest(&cookie, &pscc)) != NULL) {
(void) psc_entry(cmd, psce, dip, comp, newlevel,
psce_t *psce;
psce = kmem_zalloc(sizeof (psce_t), KM_SLEEP);
mutex_init(&psce->psce_lock, NULL, MUTEX_DEFAULT, NULL);
psce->psce_first =
psce->psce_in = psce->psce_out = psce->psce_first;
psce->psce_last = &psce->psce_first[PSCCOUNT - 1];
psce->psce_references = 1;
pscc->pscc_entries = psce;
psce = kmem_zalloc(sizeof (psce_t), KM_SLEEP);
psce->psce_first = kmem_zalloc(sizeof (pm_state_change_t) *
psce->psce_in = psce->psce_out = psce->psce_first;
psce->psce_last = &psce->psce_first[PSCCOUNT - 1];
psce->psce_references = 1;
pscc->pscc_entries = psce;
psce_t *psce;
psce = p->pscc_entries;
ASSERT(psce->psce_references == 1);
mutex_destroy(&psce->psce_lock);
kmem_free(psce->psce_first,
kmem_free(psce, sizeof (*psce));
psce = p->pscc_entries;
ASSERT(psce);
if (psce->psce_references == 1) {
kmem_free(psce->psce_first,
kmem_free(psce, sizeof (*psce));
psce->psce_references--;
psce_t *psce;
psce = p->pscc_entries;
mutex_enter(&psce->psce_lock);
if (psce->psce_out->size) {
return (psce);
mutex_exit(&psce->psce_lock);