Lines Matching defs:ppmd

494 	ppm_dev_t *ppmd;
496 ppmd = PPM_GET_PRIVATE(dip);
497 if (ppmd == NULL || reqp->req.ppm_config_req.result != DDI_SUCCESS)
515 ppm_dev_t *ppmd;
518 ppmd = PPM_GET_PRIVATE(dip);
519 if (ppmd == NULL)
526 domp = ppmd->domp;
529 for (ppmd = domp->devlist; ppmd; ppmd = ppmd->next) {
530 if (ppmd->dip == dip && ppmd->level)
543 for (ppmd = domp->devlist; ppmd; ppmd = ppmd->next) {
544 if (ppmd->dip == dip)
545 ppmd->level = ppmd->rplvl = PM_LEVEL_UNKNOWN;
557 xcppm_set_level(ppm_dev_t *ppmd, int cmpt, int level, boolean_t change)
566 ret = pm_power(ppmd->dip, cmpt, level);
569 str, ppmd->path, change, ppmd->level, level, ret));
572 ppmd->level = level;
573 ppmd->rplvl = PM_LEVEL_UNKNOWN;
581 xcppm_change_power_level(ppm_dev_t *ppmd, int cmpt, int level)
583 return (xcppm_set_level(ppmd, cmpt, level, B_TRUE));
588 xcppm_record_level_change(ppm_dev_t *ppmd, int cmpt, int level)
590 return (xcppm_set_level(ppmd, cmpt, level, B_FALSE));
914 ppm_dev_t *ppmd;
929 ppmd = PPM_GET_PRIVATE(dip);
930 ASSERT(MUTEX_HELD(&ppmd->domp->lock));
939 if (ppmd->level == PM_LEVEL_UNKNOWN && new == ppmd->highest) {
940 *result = ret = xcppm_change_power_level(ppmd, 0, new);
948 if (new == ppmd->level) {
953 ppmd->rplvl = new;
962 for (ppmd = xcppm_cpu.devlist; ppmd; ppmd = ppmd->next) {
963 if (ppmd->rplvl == new)
979 "need pm_rescan\n", str, PM_NAME(ppmd->dip),
980 PM_ADDR(ppmd->dip), (void *)ppmd->dip,
983 rescan_dip = ppmd->dip;
997 for (ppmd = xcppm_cpu.devlist; ppmd; ppmd = ppmd->next) {
998 if (ppmd->dip == dip)
1005 p->ppd_who = ppmd->dip;
1006 p->ppd_cmpt = ppmd->cmpt;
1037 ppm_dev_t *ppmd;
1039 ppmd = PPM_GET_PRIVATE(dip);
1041 ppmd->path, ppm_get_ctlstr(reqp->request_type, ~0)));
1064 str, ppmd->path, old, new));
1066 ASSERT(old == ppmd->level);
1067 if (new == ppmd->level)
1070 PPM_LOCK_DOMAIN(ppmd->domp);
1076 if (ppmd->domp->pwr_cnt == 0)
1079 ppmd->domp->pwr_cnt++;
1082 str, ppmd->domp->pwr_cnt));
1086 PPM_UNLOCK_DOMAIN(ppmd->domp);
1088 ASSERT(ppmd->domp->pwr_cnt > 0);
1090 if ((*result = (*pwr_func)(ppmd, cmpt, new)) != DDI_SUCCESS) {
1092 str, ppmd->path));
1095 PPM_LOCK_DOMAIN(ppmd->domp);
1103 if ((*result == DDI_SUCCESS && ppmd->level == 0) ||
1105 ASSERT(ppmd->domp->pwr_cnt > 0);
1106 ppmd->domp->pwr_cnt--;
1107 DPRINTF(D_FET, ("%s: DN cnt = %d\n", str, ppmd->domp->pwr_cnt));
1108 if (ppmd->domp->pwr_cnt == 0)
1112 PPM_UNLOCK_DOMAIN(ppmd->domp);
1113 ASSERT(ppmd->domp->pwr_cnt >= 0);
1137 ppm_dev_t *ppmd, *codev;
1140 ppmd = PPM_GET_PRIVATE(dip);
1142 ppmd->path, ppm_get_ctlstr(reqp->request_type, ~0)));
1163 ASSERT(ppmd); /* since it should be locked already */
1165 if (new == ppmd->level)
1169 str, ppmd->path, ppmd->level, new));
1174 flags = ppmd->flags;
1178 DPRINTF(D_ERROR, ("%s: invalid ppmd->flags value 0x%x\n", str,
1179 ppmd->flags));
1187 for (codev = ppmd->domp->devlist; codev; codev = codev->next)
1191 if (new > ppmd->level) {
1205 if ((retval = (*pwr_func)(ppmd, 0, new)) != DDI_SUCCESS) {
1209 } else if (new < ppmd->level) {
1219 ppmd->rplvl = new;
1222 if ((retval = (*pwr_func)(ppmd, cmpt, new)) != DDI_SUCCESS &&
1223 ppmd->level != new) {
1262 ppm_dev_t *ppmd;
1264 ppmd = PPM_GET_PRIVATE(dip);
1266 ppmd->path, ppm_get_ctlstr(reqp->request_type, ~0)));
1290 ASSERT(ppmd); /* since it must already be locked */
1291 ASSERT(old == ppmd->level);
1293 if (new == ppmd->level)
1297 if (cmpt == 0 && new < ppmd->level) {
1299 (*pwr_func)(ppmd, cmpt, new)) != DDI_SUCCESS) {
1302 if (new == ppmd->lowest)
1304 ppmd->level = new;
1309 if (cmpt == 0 && new > ppmd->level) {
1310 if (ppmd->level == ppmd->lowest) {
1320 (*pwr_func)(ppmd, cmpt, new)) != DDI_SUCCESS &&
1321 ppmd->level == ppmd->lowest) {
1324 ppmd->level = new;
1335 *result = xcppm_change_power_level(ppmd, cmpt, new);
1344 xcppm_lock_one(ppm_dev_t *ppmd, power_req_t *reqp, int *iresp)
1348 pm_lock_power_single(ppmd->dip,
1353 pm_unlock_power_single(ppmd->dip,
1358 *iresp = pm_try_locking_power_single(ppmd->dip,
1427 ppm_dev_t *ppmd;
1485 ppmd = PPM_GET_PRIVATE(rdip);
1487 if (ppmd)
1489 } else if (!ppmd) {
1508 ppmd = PPM_GET_PRIVATE(rdip);
1509 if (ppmd)
1510 domp = ppmd->domp;
1514 ppmd = ppm_get_dev(rdip, domp);
1521 ppmd->path, ppm_get_ctlstr(reqp->request_type, D_LOCKS)));
1526 xcppm_lock_one(ppmd, reqp, result);
1531 ppmd = PPM_GET_PRIVATE(rdip);
1532 if (ppmd)
1533 domp = ppmd->domp;
1537 ppmd = ppm_get_dev(rdip, domp);
1555 ppmd = PPM_GET_PRIVATE(rdip);
1556 if (ppmd == NULL) {
1559 ppmd = ppm_get_dev(rdip, domp);
1566 str, ppmd->path);
1570 if (ppmd->domp == &xcppm_cpu)
1572 else if (ppmd->domp == &xcppm_fet)
1574 else if (ppmd->domp == &xcppm_upa)
1577 ASSERT(ppmd->domp == &xcppm_1394);
1590 xcppm_dev_init(ppm_dev_t *ppmd)
1597 ASSERT(MUTEX_HELD(&ppmd->domp->lock));
1598 ppmd->level = PM_LEVEL_UNKNOWN;
1599 ppmd->rplvl = PM_LEVEL_UNKNOWN;
1601 dip = ppmd->dip;
1613 pm_comp = &dcomps[ppmd->cmpt].pmc_comp;
1615 ppmd->lowest = pm_comp->pmc_lvals[0];
1616 ASSERT(ppmd->lowest >= 0);
1618 ppmd->highest = pm_comp->pmc_lvals[maxi];
1624 if (ppmd->domp == &xcppm_fet) {
1629 ppmd->domp->pwr_cnt++;
1631 ppmd->domp->pwr_cnt));
1632 } else if (ppmd->domp == &xcppm_upa) {
1637 if (strstr(ppmd->path, "pci@8,700000"))
1638 ppmd->flags = XCPPMF_PCIB;
1639 else if (strstr(ppmd->path, "upa@8,480000"))
1640 ppmd->flags = XCPPMF_UPA;
1649 xcppm_dev_fini(ppm_dev_t *ppmd)
1651 ASSERT(MUTEX_HELD(&ppmd->domp->lock));
1652 if (ppmd->domp == &xcppm_fet) {
1653 if (ppmd->level != ppmd->lowest) {
1654 ppmd->domp->pwr_cnt--;
1656 ppmd->domp->pwr_cnt));