Lines Matching refs:lpm_priv

156 static struct ps3_lpm_priv *lpm_priv;  variable
160 BUG_ON(!lpm_priv || !lpm_priv->sbd); in sbd_core()
161 return &lpm_priv->sbd->core; in sbd_core()
222 result = lv1_set_lpm_counter(lpm_priv->lpm_id, 0, 0, 0, 0, &counter0415, in ps3_read_phys_ctr()
297 result = lv1_set_lpm_counter(lpm_priv->lpm_id, in ps3_write_phys_ctr()
386 result = lv1_set_lpm_counter_control(lpm_priv->lpm_id, ctr, val, mask, in ps3_write_pm07_control()
406 return lpm_priv->shadow.pm_control; in ps3_read_pm()
410 return lpm_priv->shadow.pm_start_stop; in ps3_read_pm()
412 result = lv1_set_lpm_interval(lpm_priv->lpm_id, 0, 0, &val); in ps3_read_pm()
421 return lpm_priv->shadow.group_control; in ps3_read_pm()
423 return lpm_priv->shadow.debug_bus_control; in ps3_read_pm()
425 result = lv1_get_lpm_interrupt_status(lpm_priv->lpm_id, in ps3_read_pm()
458 if (val != lpm_priv->shadow.group_control) in ps3_write_pm()
459 result = lv1_set_lpm_group_control(lpm_priv->lpm_id, in ps3_write_pm()
463 lpm_priv->shadow.group_control = val; in ps3_write_pm()
466 if (val != lpm_priv->shadow.debug_bus_control) in ps3_write_pm()
467 result = lv1_set_lpm_debug_bus_control(lpm_priv->lpm_id, in ps3_write_pm()
471 lpm_priv->shadow.debug_bus_control = val; in ps3_write_pm()
477 if (val != lpm_priv->shadow.pm_control) in ps3_write_pm()
478 result = lv1_set_lpm_general_control(lpm_priv->lpm_id, in ps3_write_pm()
483 lpm_priv->shadow.pm_control = val; in ps3_write_pm()
486 result = lv1_set_lpm_interval(lpm_priv->lpm_id, val, in ps3_write_pm()
490 if (val != lpm_priv->shadow.pm_start_stop) in ps3_write_pm()
491 result = lv1_set_lpm_trigger_control(lpm_priv->lpm_id, in ps3_write_pm()
495 lpm_priv->shadow.pm_start_stop = val; in ps3_write_pm()
765 ret = lv1_set_lpm_signal(lpm_priv->lpm_id, lv1_signal_group, bus_select, in __ps3_set_signal()
821 attr2 = lpm_priv->pu_id; in ps3_set_signal()
856 lpm_priv->tb_count = 0; in ps3_enable_pm()
859 if (!(lpm_priv->shadow.pm_start_stop & in ps3_enable_pm()
862 result = lv1_set_lpm_trigger_control(lpm_priv->lpm_id, in ps3_enable_pm()
879 result = lv1_start_lpm(lpm_priv->lpm_id); in ps3_enable_pm()
901 result = lv1_stop_lpm(lpm_priv->lpm_id, &tmp); in ps3_disable_pm()
910 lpm_priv->tb_count = tmp; in ps3_disable_pm()
913 lpm_priv->tb_count, lpm_priv->tb_count); in ps3_disable_pm()
936 if (!lpm_priv->tb_cache) in ps3_lpm_copy_tb()
939 if (offset >= lpm_priv->tb_count) in ps3_lpm_copy_tb()
942 count = min_t(u64, count, lpm_priv->tb_count - offset); in ps3_lpm_copy_tb()
948 result = lv1_copy_lpm_trace_buffer(lpm_priv->lpm_id, offset, in ps3_lpm_copy_tb()
960 memcpy(buf, lpm_priv->tb_cache, tmp); in ps3_lpm_copy_tb()
991 if (!lpm_priv->tb_cache) in ps3_lpm_copy_tb_to_user()
994 if (offset >= lpm_priv->tb_count) in ps3_lpm_copy_tb_to_user()
997 count = min_t(u64, count, lpm_priv->tb_count - offset); in ps3_lpm_copy_tb_to_user()
1003 result = lv1_copy_lpm_trace_buffer(lpm_priv->lpm_id, offset, in ps3_lpm_copy_tb_to_user()
1014 result = copy_to_user(buf, lpm_priv->tb_cache, tmp); in ps3_lpm_copy_tb_to_user()
1092 BUG_ON(!lpm_priv); in ps3_lpm_open()
1099 if (!atomic_add_unless(&lpm_priv->open, 1, 1)) { in ps3_lpm_open()
1107 lpm_priv->tb_cache_size = 0; in ps3_lpm_open()
1108 lpm_priv->tb_cache_internal = NULL; in ps3_lpm_open()
1109 lpm_priv->tb_cache = NULL; in ps3_lpm_open()
1118 lpm_priv->tb_cache_size = tb_cache_size; in ps3_lpm_open()
1119 lpm_priv->tb_cache_internal = NULL; in ps3_lpm_open()
1120 lpm_priv->tb_cache = tb_cache; in ps3_lpm_open()
1122 lpm_priv->tb_cache_size = PS3_LPM_DEFAULT_TB_CACHE_SIZE; in ps3_lpm_open()
1123 lpm_priv->tb_cache_internal = kzalloc( in ps3_lpm_open()
1124 lpm_priv->tb_cache_size + 127, GFP_KERNEL); in ps3_lpm_open()
1125 if (!lpm_priv->tb_cache_internal) { in ps3_lpm_open()
1131 lpm_priv->tb_cache = (void *)_ALIGN_UP( in ps3_lpm_open()
1132 (unsigned long)lpm_priv->tb_cache_internal, 128); in ps3_lpm_open()
1135 result = lv1_construct_lpm(lpm_priv->node_id, tb_type, 0, 0, in ps3_lpm_open()
1136 ps3_mm_phys_to_lpar(__pa(lpm_priv->tb_cache)), in ps3_lpm_open()
1137 lpm_priv->tb_cache_size, &lpm_priv->lpm_id, in ps3_lpm_open()
1138 &lpm_priv->outlet_id, &tb_size); in ps3_lpm_open()
1147 lpm_priv->shadow.pm_control = PS3_LPM_SHADOW_REG_INIT; in ps3_lpm_open()
1148 lpm_priv->shadow.pm_start_stop = PS3_LPM_SHADOW_REG_INIT; in ps3_lpm_open()
1149 lpm_priv->shadow.group_control = PS3_LPM_SHADOW_REG_INIT; in ps3_lpm_open()
1150 lpm_priv->shadow.debug_bus_control = PS3_LPM_SHADOW_REG_INIT; in ps3_lpm_open()
1153 "tb_size 0x%llx\n", __func__, __LINE__, lpm_priv->lpm_id, in ps3_lpm_open()
1154 lpm_priv->outlet_id, tb_size); in ps3_lpm_open()
1159 kfree(lpm_priv->tb_cache_internal); in ps3_lpm_open()
1160 lpm_priv->tb_cache_internal = NULL; in ps3_lpm_open()
1163 atomic_dec(&lpm_priv->open); in ps3_lpm_open()
1177 lv1_destruct_lpm(lpm_priv->lpm_id); in ps3_lpm_close()
1178 lpm_priv->lpm_id = 0; in ps3_lpm_close()
1180 kfree(lpm_priv->tb_cache_internal); in ps3_lpm_close()
1181 lpm_priv->tb_cache_internal = NULL; in ps3_lpm_close()
1183 atomic_dec(&lpm_priv->open); in ps3_lpm_close()
1192 if (lpm_priv) { in ps3_lpm_probe()
1198 lpm_priv = kzalloc(sizeof(*lpm_priv), GFP_KERNEL); in ps3_lpm_probe()
1200 if (!lpm_priv) in ps3_lpm_probe()
1203 lpm_priv->sbd = dev; in ps3_lpm_probe()
1204 lpm_priv->node_id = dev->lpm.node_id; in ps3_lpm_probe()
1205 lpm_priv->pu_id = dev->lpm.pu_id; in ps3_lpm_probe()
1206 lpm_priv->rights = dev->lpm.rights; in ps3_lpm_probe()
1219 kfree(lpm_priv); in ps3_lpm_remove()
1220 lpm_priv = NULL; in ps3_lpm_remove()