Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 790b57ae authored by Yun Wu's avatar Yun Wu Committed by Jason Cooper
Browse files

irqchip: gicv3-its: Use 64KB page as default granule



The field of page size in register GITS_BASERn might be read-only
if an implementation only supports a single, fixed page size. But
currently the ITS driver will throw out an error when PAGE_SIZE
is less than the minimum size supported by an ITS. So addressing
this problem by using 64KB pages as default granule for all the
ITS base tables.

Acked-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
[maz: fixed bug breaking non Device Table allocations]
Signed-off-by: default avatarYun Wu <wuyun.wu@huawei.com>
Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
Link: https://lkml.kernel.org/r/1425659870-11832-9-git-send-email-marc.zyngier@arm.com


Signed-off-by: default avatarJason Cooper <jason@lakedaemon.net>
parent 6c834125
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -800,14 +800,14 @@ static int its_alloc_tables(struct its_node *its)
{
	int err;
	int i;
	int psz = PAGE_SIZE;
	int psz = SZ_64K;
	u64 shr = GITS_BASER_InnerShareable;

	for (i = 0; i < GITS_BASER_NR_REGS; i++) {
		u64 val = readq_relaxed(its->base + GITS_BASER + i * 8);
		u64 type = GITS_BASER_TYPE(val);
		u64 entry_size = GITS_BASER_ENTRY_SIZE(val);
		int order = 0;
		int order = get_order(psz);
		int alloc_size;
		u64 tmp;
		void *base;