All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] bus: arm-ccn: Fix spurious warning message
@ 2014-09-15 14:33 Pawel Moll
  2014-09-24 18:02 ` Olof Johansson
  0 siblings, 1 reply; 2+ messages in thread
From: Pawel Moll @ 2014-09-15 14:33 UTC (permalink / raw)
  To: linux-arm-kernel

Because CCN's cycle counter always runs, it will generate
an interrupt on overflow even if the relevant perf event
was not requested, causing a spurious warning message.

Fixed now by warning on only normal counter unwanted
overflows. Also cleaning the overflow mask at init now,
not to warn on event previously requested by firmware.

Signed-off-by: Pawel Moll <pawel.moll@arm.com>
---
 drivers/bus/arm-ccn.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/bus/arm-ccn.c b/drivers/bus/arm-ccn.c
index a60f264..aaa0f2a 100644
--- a/drivers/bus/arm-ccn.c
+++ b/drivers/bus/arm-ccn.c
@@ -57,6 +57,7 @@
 #define CCN_DT_PMCCNTRSR		0x0190
 #define CCN_DT_PMOVSR			0x0198
 #define CCN_DT_PMOVSR_CLR		0x01a0
+#define CCN_DT_PMOVSR_CLR__MASK				0x1f
 #define CCN_DT_PMCR			0x01a8
 #define CCN_DT_PMCR__OVFL_INTR_EN			(1 << 6)
 #define CCN_DT_PMCR__PMU_EN				(1 << 0)
@@ -1051,7 +1052,8 @@ static irqreturn_t arm_ccn_pmu_overflow_handler(struct arm_ccn_dt *dt)
 		struct perf_event *event = dt->pmu_counters[idx].event;
 		int overflowed = pmovsr & BIT(idx);
 
-		WARN_ON_ONCE(overflowed && !event);
+		WARN_ON_ONCE(overflowed && !event &&
+				idx != CCN_IDX_PMU_CYCLE_COUNTER);
 
 		if (!event || !overflowed)
 			continue;
@@ -1087,6 +1089,7 @@ static int arm_ccn_pmu_init(struct arm_ccn *ccn)
 	/* Initialize DT subsystem */
 	ccn->dt.base = ccn->base + CCN_REGION_SIZE;
 	spin_lock_init(&ccn->dt.config_lock);
+	writel(CCN_DT_PMOVSR_CLR__MASK, ccn->dt.base + CCN_DT_PMOVSR_CLR);
 	writel(CCN_DT_CTL__DT_EN, ccn->dt.base + CCN_DT_CTL);
 	writel(CCN_DT_PMCR__OVFL_INTR_EN | CCN_DT_PMCR__PMU_EN,
 			ccn->dt.base + CCN_DT_PMCR);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [PATCH] bus: arm-ccn: Fix spurious warning message
  2014-09-15 14:33 [PATCH] bus: arm-ccn: Fix spurious warning message Pawel Moll
@ 2014-09-24 18:02 ` Olof Johansson
  0 siblings, 0 replies; 2+ messages in thread
From: Olof Johansson @ 2014-09-24 18:02 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Sep 15, 2014 at 03:33:48PM +0100, Pawel Moll wrote:
> Because CCN's cycle counter always runs, it will generate
> an interrupt on overflow even if the relevant perf event
> was not requested, causing a spurious warning message.
> 
> Fixed now by warning on only normal counter unwanted
> overflows. Also cleaning the overflow mask at init now,
> not to warn on event previously requested by firmware.
> 
> Signed-off-by: Pawel Moll <pawel.moll@arm.com>

Thanks, applied to fixes-non-critical.


-Olof

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-09-24 18:02 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-15 14:33 [PATCH] bus: arm-ccn: Fix spurious warning message Pawel Moll
2014-09-24 18:02 ` Olof Johansson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.