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

Commit 1d27704a authored by Yun Wu's avatar Yun Wu Committed by Jason Cooper
Browse files

irqchip: gicv3-its: Add limitation to page order



When required size of Device Table is out of the page allocator's
capability, the whole ITS will fail in probing. This actually is
not the hardware's problem and is mainly a limitation of the kernel
page allocator. This patch will keep ITS going on to the next
initializaion stage with an explicit warning.

Acked-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
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-10-git-send-email-marc.zyngier@arm.com


Signed-off-by: default avatarJason Cooper <jason@lakedaemon.net>
parent 790b57ae
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -828,6 +828,11 @@ static int its_alloc_tables(struct its_node *its)
			u32 ids = GITS_TYPER_DEVBITS(typer);

			order = get_order((1UL << ids) * entry_size);
			if (order >= MAX_ORDER) {
				order = MAX_ORDER - 1;
				pr_warn("%s: Device Table too large, reduce its page order to %u\n",
					its->msi_chip.of_node->full_name, order);
			}
		}

		alloc_size = (1 << order) * PAGE_SIZE;