From 72ad6c93c5996945efc87204dabd87f025bf81ac Mon Sep 17 00:00:00 2001 From: Prasad Sodagudi Date: Fri, 8 Jul 2016 21:54:09 +0530 Subject: [PATCH] qcom: PMRESR register read returns zero for un supported group events Kryo has 3 groups of events PMRESR0, 1, 2. If kryo_read_pmresr() is asked to read other than these 3 event groups, return ZERO value. Change-Id: Ifa348baa749182bb0dcb67562195472699301b1a Signed-off-by: Prasad Sodagudi Signed-off-by: Mohammed Khajapasha --- drivers/soc/qcom/perf_event_kryo.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/soc/qcom/perf_event_kryo.c b/drivers/soc/qcom/perf_event_kryo.c index c61a86850777..519961440742 100644 --- a/drivers/soc/qcom/perf_event_kryo.c +++ b/drivers/soc/qcom/perf_event_kryo.c @@ -118,12 +118,7 @@ static void kryo_write_pmresr(int reg, int l_h, u32 val) static u32 kryo_read_pmresr(int reg, int l_h) { - u32 val; - - if (reg > KRYO_MAX_L1_REG) { - pr_err("Invalid read of RESR reg %d\n", reg); - return 0; - } + u32 val = 0; if (l_h == RESR_L) { switch (reg) { @@ -136,6 +131,9 @@ static u32 kryo_read_pmresr(int reg, int l_h) case 2: asm volatile("mrs %0, " pmresr2l_el0 : "=r" (val)); break; + default: + WARN_ONCE(1, "Invalid read of RESR reg %d\n", reg); + break; } } else { switch (reg) { @@ -148,6 +146,9 @@ static u32 kryo_read_pmresr(int reg, int l_h) case 2: asm volatile("mrs %0," pmresr2h_el0 : "=r" (val)); break; + default: + WARN_ONCE(1, "Invalid read of RESR reg %d\n", reg); + break; } }