Commit 80aa2833 authored by Jiang Liu's avatar Jiang Liu Committed by Thomas Gleixner

x86/irq: Directly call native_compose_msi_msg() for DMAR IRQ

DMAR interrupt won't be remapped by interrupt remapping hardware,
so directly call native_compose_msi_msg() for DMAR IRQ to compose MSI
message data. This will help to simplify MSI code later.
Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: David Cohen <david.a.cohen@linux.intel.com>
Cc: Sander Eikelenboom <linux@eikelenboom.it>
Cc: David Vrabel <david.vrabel@citrix.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Joerg Roedel <joro@8bytes.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dimitri Sivanich <sivanich@sgi.com>
Link: http://lkml.kernel.org/r/1428905519-23704-15-git-send-email-jiang.liu@linux.intel.comSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 52f518a3
...@@ -259,12 +259,10 @@ static struct irq_chip dmar_msi_type = { ...@@ -259,12 +259,10 @@ static struct irq_chip dmar_msi_type = {
int arch_setup_dmar_msi(unsigned int irq) int arch_setup_dmar_msi(unsigned int irq)
{ {
int ret;
struct msi_msg msg; struct msi_msg msg;
struct irq_cfg *cfg = irq_cfg(irq);
ret = msi_compose_msg(NULL, irq, &msg, -1); native_compose_msi_msg(NULL, irq, cfg->dest_apicid, &msg, -1);
if (ret < 0)
return ret;
dmar_msi_write(irq, &msg); dmar_msi_write(irq, &msg);
irq_set_chip_and_handler_name(irq, &dmar_msi_type, handle_edge_irq, irq_set_chip_and_handler_name(irq, &dmar_msi_type, handle_edge_irq,
"edge"); "edge");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment