summaryrefslogtreecommitdiff
path: root/drivers/irqchip
diff options
context:
space:
mode:
authorAndre Przywara <andre.przywara@arm.com>2015-03-27 14:15:03 +0000
committerJason Cooper <jason@lakedaemon.net>2015-03-29 19:25:49 +0000
commit7e195ba03738dec72fe337dcd3cb3c3c2bd66c30 (patch)
tree79591b4235bb91febaaf646cde28c124938c45b4 /drivers/irqchip
parent263fcd312deffb9bf10f007f958dccfa64a807f5 (diff)
downloadlwn-7e195ba03738dec72fe337dcd3cb3c3c2bd66c30.tar.gz
lwn-7e195ba03738dec72fe337dcd3cb3c3c2bd66c30.zip
irqchip: gicv3-its: Fix device ID encoding
When building ITS commands which have the device ID in it, we should mask off the whole upper 32 bits of the first command word before inserting the new value in there. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Link: https://lkml.kernel.org/r/1427465705-17126-3-git-send-email-marc.zyngier@arm.com Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'drivers/irqchip')
-rw-r--r--drivers/irqchip/irq-gic-v3-its.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
index 7318dba11957..fa0c43660c8b 100644
--- a/drivers/irqchip/irq-gic-v3-its.c
+++ b/drivers/irqchip/irq-gic-v3-its.c
@@ -169,7 +169,7 @@ static void its_encode_cmd(struct its_cmd_block *cmd, u8 cmd_nr)
static void its_encode_devid(struct its_cmd_block *cmd, u32 devid)
{
- cmd->raw_cmd[0] &= ~(0xffffUL << 32);
+ cmd->raw_cmd[0] &= BIT_ULL(32) - 1;
cmd->raw_cmd[0] |= ((u64)devid) << 32;
}