summaryrefslogtreecommitdiffstats
path: root/drivers/bus
diff options
context:
space:
mode:
authorPawel Moll <pawel.moll@arm.com>2015-04-02 18:50:32 +0100
committerPawel Moll <pawel.moll@arm.com>2015-05-01 17:50:58 +0100
commita18f8e97fe69195823d7fb5c68a8d6565f39db4b (patch)
tree29a2654190c82badaf2e86a7e67447706eedc11c /drivers/bus
parentb787f68c36d49bb1d9236f403813641efa74a031 (diff)
downloadlinux-a18f8e97fe69195823d7fb5c68a8d6565f39db4b.tar.gz
linux-a18f8e97fe69195823d7fb5c68a8d6565f39db4b.tar.bz2
linux-a18f8e97fe69195823d7fb5c68a8d6565f39db4b.zip
bus: arm-ccn: Fix node->XP config conversion
Events defined as watchpoints on nodes must have their config values converted so that they apply to the respective node's XP. The function setting new values was using wrong mask for the "port" field, resulting in corrupted value. Fixed now. Cc: stable@vger.kernel.org # 3.17+ Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Diffstat (limited to 'drivers/bus')
-rw-r--r--drivers/bus/arm-ccn.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/bus/arm-ccn.c b/drivers/bus/arm-ccn.c
index aaa0f2a87118..60397ec77ff7 100644
--- a/drivers/bus/arm-ccn.c
+++ b/drivers/bus/arm-ccn.c
@@ -212,7 +212,7 @@ static int arm_ccn_node_to_xp_port(int node)
static void arm_ccn_pmu_config_set(u64 *config, u32 node_xp, u32 type, u32 port)
{
- *config &= ~((0xff << 0) | (0xff << 8) | (0xff << 24));
+ *config &= ~((0xff << 0) | (0xff << 8) | (0x3 << 24));
*config |= (node_xp << 0) | (type << 8) | (port << 24);
}