• Benjamin Herrenschmidt's avatar
    powerpc/powernv/opal: Use standard interrupts property when available · 77b5f703
    Benjamin Herrenschmidt authored
    For (bad) historical reasons, OPAL used to create a non-standard pair
    of properties "opal-interrupts" and "opal-interrupts-names" for
    representing the list of interrupts it wants Linux to request on its
    behalf.
    
    Among other issues, the opal-interrupts doesn't have a way to carry
    the type of interrupts, and they were assumed to be all level
    sensitive.
    
    This is wrong on some recent systems where some of them are edge
    sensitive causing warnings in the XIVE code and possible misbehaviours
    if they need to be retriggered (typically the NPU2 TCE error
    interrupts).
    
    This makes Linux switch to using the standard "interrupts" and
    "interrupt-names" properties instead when they are available, using
    standard of_irq helpers, which can carry all the desired type
    information.
    
    Newer versions of OPAL will generate those properties in addition to
    the legacy ones.
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    [mpe: Fixup prefix logic to check strlen(r->name). Reinstate setting
     of start = 0 in opal_event_shutdown() to avoid double free warnings]
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    77b5f703
opal-irqchip.c 7.98 KB