| From a18f8e97fe69195823d7fb5c68a8d6565f39db4b Mon Sep 17 00:00:00 2001 |
| From: Pawel Moll <pawel.moll@arm.com> |
| Date: Thu, 2 Apr 2015 18:50:32 +0100 |
| Subject: bus: arm-ccn: Fix node->XP config conversion |
| |
| From: Pawel Moll <pawel.moll@arm.com> |
| |
| commit a18f8e97fe69195823d7fb5c68a8d6565f39db4b upstream. |
| |
| 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. |
| |
| Signed-off-by: Pawel Moll <pawel.moll@arm.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/bus/arm-ccn.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- 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 n |
| |
| 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); |
| } |
| |