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

Commit e9479e0e authored by Marc Zyngier's avatar Marc Zyngier Committed by Jason Cooper
Browse files

ARM: tegra: skip gic_arch_extn setup if DT has a LIC node



If we detect that our DT has a LIC node, don't setup gic_arch_extn,
and skip tegra_legacy_irq_syscore_init as well.

This is only a temporary measure until that code is removed for good.

Acked-by: default avatarThierry Reding <treding@nvidia.com>
Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
Link: https://lkml.kernel.org/r/1426088583-15097-4-git-send-email-marc.zyngier@arm.com


Signed-off-by: default avatarJason Cooper <jason@lakedaemon.net>
parent de3ce080
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -255,11 +255,22 @@ static void tegra114_gic_cpu_pm_registration(void)
static void tegra114_gic_cpu_pm_registration(void) { }
#endif

static const struct of_device_id tegra_ictlr_match[] __initconst = {
	{ .compatible = "nvidia,tegra20-ictlr" },
	{ .compatible = "nvidia,tegra30-ictlr" },
	{ }
};

void __init tegra_init_irq(void)
{
	int i;
	void __iomem *distbase;

	if (of_find_matching_node(NULL, tegra_ictlr_match))
		goto skip_extn_setup;

	tegra_legacy_irq_syscore_init();

	distbase = IO_ADDRESS(TEGRA_ARM_INT_DIST_BASE);
	num_ictlrs = readl_relaxed(distbase + GIC_DIST_CTR) & 0x1f;

@@ -283,5 +294,6 @@ void __init tegra_init_irq(void)
	gic_arch_extn.irq_set_wake = tegra_set_wake;
	gic_arch_extn.flags = IRQCHIP_MASK_ON_SUSPEND;

skip_extn_setup:
	tegra114_gic_cpu_pm_registration();
}
+0 −1
Original line number Diff line number Diff line
@@ -82,7 +82,6 @@ static void __init tegra_dt_init_irq(void)
{
	tegra_init_irq();
	irqchip_init();
	tegra_legacy_irq_syscore_init();
}

static void __init tegra_dt_init(void)