• Magnus Damm's avatar
    sh: multiple vectors per irq - base · bdaa6e80
    Magnus Damm authored
    Instead of keeping the single vector -> single linux irq mapping
    we extend the intc code to support merging of vectors to a single
    linux irq. This helps processors such as sh7750, sh7780 and sh7785
    which have more vectors than masking ability. With this patch in
    place we can modify the intc tables to use one irq per maskable
    irq source. Please note the following:
    
     - If multiple vectors share the same enum then only the
       first vector will be available as a linux irq.
    
     - Drivers may need to be rewritten to get pending irq
       source from the hardware block instead of irq number.
    
    This patch together with the sh7785 specific intc tables solves
    DMA controller irq issues related to buggy interrupt masking.
    Reported-by: default avatarYoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
    Signed-off-by: default avatarMagnus Damm <damm@igel.co.jp>
    Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
    bdaa6e80
irq.c 5.99 KB