Lines Matching refs:prop

828 	cpu_idle_prop_impl_t *prop;
832 prop = kmem_zalloc(sizeof (*prop) * CPU_IDLE_VALUE_GROUP_SIZE,
840 for (i = 0; i < CPU_IDLE_VALUE_GROUP_SIZE; i++, prop++, valp++) {
841 prop->value = valp;
842 prop->next = cpu_idle_prop_free;
843 cpu_idle_prop_free = prop;
852 cpu_idle_prop_impl_t *prop;
862 for (prop = cpu_idle_prop_busy; prop != NULL; prop = prop->next) {
863 if (strcmp(prop->name, name) == 0) {
869 if (prop == NULL) {
874 prop = cpu_idle_prop_free;
875 cpu_idle_prop_free = prop->next;
876 prop->next = cpu_idle_prop_busy;
877 cpu_idle_prop_busy = prop;
879 ASSERT(prop->value != NULL);
880 prop->name = strdup(name);
881 prop->type = type;
882 prop->update = update;
883 prop->private = arg;
884 prop->refcnt = 1;
885 *hdlp = prop;
897 cpu_idle_prop_impl_t *prop, **propp;
907 prop = (cpu_idle_prop_impl_t *)hdl;
911 if (*propp == prop) {
912 ASSERT(prop->refcnt > 0);
913 if (atomic_cas_32(&prop->refcnt, 1, 0) == 1) {
914 *propp = prop->next;
915 strfree(prop->name);
916 valp = prop->value;
917 bzero(prop, sizeof (*prop));
918 prop->value = valp;
919 prop->next = cpu_idle_prop_free;
920 cpu_idle_prop_free = prop;
937 cpu_idle_prop_impl_t *prop;
947 for (prop = cpu_idle_prop_busy; prop != NULL; prop = prop->next) {
948 if (strcmp(prop->name, name) == 0) {
950 ASSERT(prop->refcnt > 0);
951 atomic_inc_32(&prop->refcnt);
952 *hdlp = (cpu_idle_prop_handle_t)prop;
966 cpu_idle_prop_impl_t *prop;
976 for (prop = cpu_idle_prop_busy; prop != NULL; prop = prop->next) {
977 if (prop == hdl) {
979 ASSERT(prop->refcnt > 1);
980 atomic_dec_32(&prop->refcnt);
1009 cpu_idle_prop_impl_t *prop = (cpu_idle_prop_impl_t *)hdl;
1017 if (prop->update != NULL) {
1023 rc = prop->update(prop->private,
1024 (uint64_t)sp->v.enter_ts->cipv_hrtime, &prop->value[idx]);
1027 *valp = prop->value[idx];
1038 cpu_idle_prop_impl_t *prop = (cpu_idle_prop_impl_t *)hdl;
1043 return (prop->value[idx].cipv_uint32);
1051 cpu_idle_prop_impl_t *prop = (cpu_idle_prop_impl_t *)hdl;
1056 return (prop->value[idx].cipv_uint64);
1064 cpu_idle_prop_impl_t *prop = (cpu_idle_prop_impl_t *)hdl;
1069 return (prop->value[idx].cipv_intptr);
1077 cpu_idle_prop_impl_t *prop = (cpu_idle_prop_impl_t *)hdl;
1082 return (prop->value[idx].cipv_hrtime);
1090 cpu_idle_prop_impl_t *prop = (cpu_idle_prop_impl_t *)hdl;
1095 prop->value[idx] = val;
1102 cpu_idle_prop_impl_t *prop = (cpu_idle_prop_impl_t *)hdl;
1107 prop->value[idx] = val;