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:
Wu Zhangjin 2010-05-07 01:03:49 +08:00 committed by Ralf Baechle
parent 2e93d1ec08
commit 1d84267480

View file

@ -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);
}