• Alex Elder's avatar
    net: ipa: only enable generic command completion IRQ when needed · d6c9e3f5
    Alex Elder authored
    The completion of a generic EE GSI command is signaled by a global
    interrupt of type GP_INT1.  The only other used type for a global
    interrupt is a hardware error report.
    
    First, disallow all global interrupt types in gsi_irq_setup().  We
    want to know about hardware errors, so re-enable the interrupt type
    in gsi_irq_enable(), to allow hardware errors to be reported.
    Disable that interrupt type again in gsi_irq_disable().
    
    We only issue generic EE commands one at a time, and there's no
    reason to keep the completion interrupt enabled when no generic
    EE command is pending.  We furthermore have no need to enable the
    GP_INT2 or GP_INT3 interrupt types (which aren't used).
    
    The change in gsi_irq_enable() makes GSI_CNTXT_GLOB_IRQ_ALL unused,
    so get rid of it.  Have gsi_generic_command() enable the GP_INT1
    interrupt type (in addition to the ERROR_INT type) only while a
    generic command is pending.
    Signed-off-by: default avatarAlex Elder <elder@linaro.org>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    d6c9e3f5
gsi.c 61.9 KB