MIPS: Oprofile: Fixup of loongson2_exit()
When exiting from loongson2_exit(), we need to reset the counter register too, this patch adds a function reset_counters() to do it, by the way, this function will be shared by Perf. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1199/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
2e93d1ec08
commit
1d84267480
1 changed files with 7 additions and 1 deletions
|
@ -43,6 +43,12 @@ static struct loongson2_register_config {
|
|||
static char *oprofid = "LoongsonPerf";
|
||||
static irqreturn_t loongson2_perfcount_handler(int irq, void *dev_id);
|
||||
|
||||
static void reset_counters(void *arg)
|
||||
{
|
||||
write_c0_perfctrl(0);
|
||||
write_c0_perfcnt(0);
|
||||
}
|
||||
|
||||
static void loongson2_reg_setup(struct op_counter_config *cfg)
|
||||
{
|
||||
unsigned int ctrl = 0;
|
||||
|
@ -139,7 +145,7 @@ static int __init loongson2_init(void)
|
|||
|
||||
static void loongson2_exit(void)
|
||||
{
|
||||
write_c0_perfctrl(0);
|
||||
reset_counters(NULL);
|
||||
free_irq(LOONGSON2_PERFCNT_IRQ, oprofid);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue