summaryrefslogtreecommitdiff
path: root/drivers/bus/arm-ccn.c
diff options
context:
space:
mode:
authorPawel Moll <pawel.moll@arm.com>2015-04-02 20:50:32 +0300
committerPawel Moll <pawel.moll@arm.com>2015-05-01 19:50:58 +0300
commita18f8e97fe69195823d7fb5c68a8d6565f39db4b (patch)
tree29a2654190c82badaf2e86a7e67447706eedc11c /drivers/bus/arm-ccn.c
parentb787f68c36d49bb1d9236f403813641efa74a031 (diff)
downloadlinux-a18f8e97fe69195823d7fb5c68a8d6565f39db4b.tar.xz
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/arm-ccn.c')
-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);
}