irqchip/gic-v3-its: Fix entry size mask for GITS_BASER
authorVladimir Murzin <vladimir.murzin@arm.com>
Mon, 17 Oct 2016 15:00:46 +0000 (16:00 +0100)
committerSasha Levin <alexander.levin@verizon.com>
Tue, 1 Nov 2016 19:18:16 +0000 (15:18 -0400)
[ Upstream commit 9224eb77e63f70f16c0b6b7a20ca7d395f3bc077 ]

Entry Size in GITS_BASER<n> occupies 5 bits [52:48], but we mask out 8
bits.

Fixes: cc2d3216f53c ("irqchip: GICv3: ITS command queue")
Cc: stable@vger.kernel.org
Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
include/linux/irqchip/arm-gic-v3.h

index cbf1ce800fd169488729f3315da6f9f44fd97829..5ef99b18966d40b06d4d064eccafed3c93391fa5 100644 (file)
 #define GITS_BASER_TYPE_SHIFT          (56)
 #define GITS_BASER_TYPE(r)             (((r) >> GITS_BASER_TYPE_SHIFT) & 7)
 #define GITS_BASER_ENTRY_SIZE_SHIFT    (48)
-#define GITS_BASER_ENTRY_SIZE(r)       ((((r) >> GITS_BASER_ENTRY_SIZE_SHIFT) & 0xff) + 1)
+#define GITS_BASER_ENTRY_SIZE(r)       ((((r) >> GITS_BASER_ENTRY_SIZE_SHIFT) & 0x1f) + 1)
 #define GITS_BASER_NonShareable                (0UL << 10)
 #define GITS_BASER_InnerShareable      (1UL << 10)
 #define GITS_BASER_OuterShareable      (2UL << 10)