• Eric W. Biederman's avatar
    [PATCH] genirq: msi: refactor the msi_ops · 38bc0361
    Eric W. Biederman authored
    The current msi_ops are short sighted in a number of ways, this patch attempts
    to fix the glaring deficiences.
    
    - Report in msi_ops if a 64bit address is needed in the msi message, so we
      can fail 32bit only msi structures.
    
    - Send and receive a full struct msi_msg in both setup and target.  This is
      a little cleaner and allows for architectures that need to modify the data
      to retarget the msi interrupt to a different cpu.
    
    - In target pass in the full cpu mask instead of just the first cpu in case
      we can make use of the full cpu mask.
    
    - Operate in terms of irqs and not vectors, currently there is still a 1-1
      relationship but on architectures other than ia64 I expect this will change.
    Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Rajesh Shah <rajesh.shah@intel.com>
    Cc: Andi Kleen <ak@muc.de>
    Cc: "Protasevich, Natalie" <Natalie.Protasevich@UNISYS.com>
    Cc: "Luck, Tony" <tony.luck@intel.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    38bc0361
msi-apic.c 2.35 KB