• Marc Zyngier's avatar
    soc/tegra: pmc: Don't create fake interrupt hierarchy levels · c351ab7b
    Marc Zyngier authored
    The Tegra PMC driver does ungodly things with the interrupt hierarchy,
    repeatedly corrupting it by pulling hwirq numbers out of thin air,
    overriding existing IRQ mappings and changing the handling flow
    of unsuspecting users.
    
    All of this is done in the name of preserving the interrupt hierarchy
    even when these levels do not exist in the HW. Together with the use
    of proper IRQs for IPIs, this leads to an unbootable system as the
    rescheduling IPI gets repeatedly repurposed for random drivers...
    
    Instead, let's simply mark the level from which the hierarchy does
    not make sense for the HW, and let the core code trim the usused
    levels from the hierarchy.
    Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
    c351ab7b
pmc.c 88.6 KB