Lines Matching refs:ctr

286 static void set_pm_event(u32 ctr, int event, u32 unit_mask)  in set_pm_event()  argument
295 pm_regs.pm07_cntrl[ctr] = CBE_COUNT_ALL_CYCLES; in set_pm_event()
296 p = &(pm_signal[ctr]); in set_pm_event()
303 pm_regs.pm07_cntrl[ctr] = 0; in set_pm_event()
313 p = &(pm_signal[ctr]); in set_pm_event()
319 pm_regs.pm07_cntrl[ctr] = 0; in set_pm_event()
320 pm_regs.pm07_cntrl[ctr] |= PM07_CTR_COUNT_CYCLES(count_cycles); in set_pm_event()
321 pm_regs.pm07_cntrl[ctr] |= PM07_CTR_POLARITY(polarity); in set_pm_event()
322 pm_regs.pm07_cntrl[ctr] |= PM07_CTR_INPUT_CONTROL(input_control); in set_pm_event()
347 pm_regs.pm07_cntrl[ctr] |= PM07_CTR_INPUT_MUX(signal_bit); in set_pm_event()
349 pm_regs.pm07_cntrl[ctr] = 0; in set_pm_event()
428 static inline void enable_ctr(u32 cpu, u32 ctr, u32 *pm07_cntrl) in enable_ctr() argument
431 pm07_cntrl[ctr] |= CBE_PM_CTR_ENABLE; in enable_ctr()
432 cbe_write_pm07_control(cpu, ctr, pm07_cntrl[ctr]); in enable_ctr()
563 static int cell_reg_setup_spu_cycles(struct op_counter_config *ctr, in cell_reg_setup_spu_cycles() argument
566 spu_cycle_reset = ctr[0].count; in cell_reg_setup_spu_cycles()
685 static int cell_reg_setup_spu_events(struct op_counter_config *ctr, in cell_reg_setup_spu_events() argument
740 set_pm_event(0, ctr[0].event, ctr[0].unit_mask); in cell_reg_setup_spu_events()
742 reset_value[0] = 0xFFFFFFFF - ctr[0].count; in cell_reg_setup_spu_events()
754 static int cell_reg_setup_ppu(struct op_counter_config *ctr, in cell_reg_setup_ppu() argument
775 pmc_cntrl[0][i].evnts = ctr[i].event; in cell_reg_setup_ppu()
776 pmc_cntrl[0][i].masks = ctr[i].unit_mask; in cell_reg_setup_ppu()
777 pmc_cntrl[0][i].enabled = ctr[i].enabled; in cell_reg_setup_ppu()
789 if ((ctr[i].event >= 2100) && (ctr[i].event <= 2111)) in cell_reg_setup_ppu()
790 pmc_cntrl[1][i].evnts = ctr[i].event + 19; in cell_reg_setup_ppu()
791 else if (ctr[i].event == 2203) in cell_reg_setup_ppu()
792 pmc_cntrl[1][i].evnts = ctr[i].event; in cell_reg_setup_ppu()
793 else if ((ctr[i].event >= 2200) && (ctr[i].event <= 2215)) in cell_reg_setup_ppu()
794 pmc_cntrl[1][i].evnts = ctr[i].event + 16; in cell_reg_setup_ppu()
796 pmc_cntrl[1][i].evnts = ctr[i].event; in cell_reg_setup_ppu()
798 pmc_cntrl[1][i].masks = ctr[i].unit_mask; in cell_reg_setup_ppu()
799 pmc_cntrl[1][i].enabled = ctr[i].enabled; in cell_reg_setup_ppu()
817 reset_value[i] = 0xFFFFFFFF - ctr[i].count; in cell_reg_setup_ppu()
838 static int cell_reg_setup(struct op_counter_config *ctr, in cell_reg_setup() argument
870 if (ctr[0].event == SPU_CYCLES_EVENT_NUM) { in cell_reg_setup()
872 ret = cell_reg_setup_spu_cycles(ctr, sys, num_ctrs); in cell_reg_setup()
873 } else if ((ctr[0].event >= SPU_EVENT_NUM_START) && in cell_reg_setup()
874 (ctr[0].event <= SPU_EVENT_NUM_STOP)) { in cell_reg_setup()
876 spu_cycle_reset = ctr[0].count; in cell_reg_setup()
884 cell_reg_setup_spu_events(ctr, sys, num_ctrs); in cell_reg_setup()
887 ret = cell_reg_setup_ppu(ctr, sys, num_ctrs); in cell_reg_setup()
1245 static int cell_global_start_spu_cycles(struct op_counter_config *ctr) in cell_global_start_spu_cycles() argument
1335 static int cell_global_start_spu_events(struct op_counter_config *ctr) in cell_global_start_spu_events() argument
1398 static int cell_global_start_ppu(struct op_counter_config *ctr) in cell_global_start_ppu() argument
1444 static int cell_global_start(struct op_counter_config *ctr) in cell_global_start() argument
1447 return cell_global_start_spu_cycles(ctr); in cell_global_start()
1449 return cell_global_start_spu_events(ctr); in cell_global_start()
1451 return cell_global_start_ppu(ctr); in cell_global_start()
1483 struct op_counter_config *ctr) in cell_handle_interrupt_spu() argument
1517 && ctr[0].enabled) in cell_handle_interrupt_spu()
1601 struct op_counter_config *ctr) in cell_handle_interrupt_ppu() argument
1642 && ctr[i].enabled) { in cell_handle_interrupt_ppu()
1674 struct op_counter_config *ctr) in cell_handle_interrupt() argument
1677 cell_handle_interrupt_ppu(regs, ctr); in cell_handle_interrupt()
1679 cell_handle_interrupt_spu(regs, ctr); in cell_handle_interrupt()