• Tero Kristo's avatar
    ARM: OMAP: PRCM: add support for chain interrupt handler · 0a84a91c
    Tero Kristo authored
    Introduce a chained interrupt handler mechanism for the PRCM
    interrupt, so that individual PRCM event can cleanly be handled by
    handlers in separate drivers. We do this by introducing PRCM event
    names, which are then matched to the particular PRCM interrupt bit
    depending on the specific OMAP SoC being used.
    
    PRCM interrupts have two priority levels, high or normal. High priority
    is needed for IO event handling, so that we can be sure that IO events
    are processed before other events. This reduces latency for IO event
    customers and also prevents incorrect ack sequence on OMAP3.
    Signed-off-by: default avatarTero Kristo <t-kristo@ti.com>
    Cc: Paul Walmsley <paul@pwsan.com>
    Cc: Kevin Hilman <khilman@ti.com>
    Cc: Avinash.H.M <avinashhm@ti.com>
    Cc: Benoit Cousson <b-cousson@ti.com>
    Cc: Tony Lindgren <tony@atomide.com>
    Cc: Govindraj.R <govindraj.raja@ti.com>
    Tested-by: default avatarKevin Hilman <khilman@ti.com>
    Reviewed-by: default avatarKevin Hilman <khilman@ti.com>
    [paul@pwsan.com: drop some dead code; use SoC-specific pending IRQ
     detection; move code to prm_common.c; add lots of documentation;
     remove saved_mask; add OCP barrier on ISR exit; improved error
     handling; split out per-SoC initialization to a separate patch]
    Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
    0a84a91c
prm_common.c 7.34 KB