summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/amd_iommu_init.c
diff options
context:
space:
mode:
authorJoerg Roedel2011-05-10 10:50:42 +0200
committerJoerg Roedel2011-05-10 11:07:58 +0200
commit72fe00f01f9a3240a1073be27aeaf4fc476cc662 (patch)
tree6030bac491411d7a70e8c1c1da90c8f5e552dc74 /arch/x86/kernel/amd_iommu_init.c
parentMerge branches 'dma-debug/next', 'amd-iommu/command-cleanups', 'amd-iommu/ats... (diff)
downloadkernel-qcow2-linux-72fe00f01f9a3240a1073be27aeaf4fc476cc662.tar.gz
kernel-qcow2-linux-72fe00f01f9a3240a1073be27aeaf4fc476cc662.tar.xz
kernel-qcow2-linux-72fe00f01f9a3240a1073be27aeaf4fc476cc662.zip
x86/amd-iommu: Use threaded interupt handler
Move the interupt handling for the iommu into the interupt thread to reduce latencies and prepare interupt handling for pri handling. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'arch/x86/kernel/amd_iommu_init.c')
-rw-r--r--arch/x86/kernel/amd_iommu_init.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c
index 28b078133688..9179c21120a8 100644
--- a/arch/x86/kernel/amd_iommu_init.c
+++ b/arch/x86/kernel/amd_iommu_init.c
@@ -1034,10 +1034,11 @@ static int iommu_setup_msi(struct amd_iommu *iommu)
if (pci_enable_msi(iommu->dev))
return 1;
- r = request_irq(iommu->dev->irq, amd_iommu_int_handler,
- IRQF_SAMPLE_RANDOM,
- "AMD-Vi",
- NULL);
+ r = request_threaded_irq(iommu->dev->irq,
+ amd_iommu_int_handler,
+ amd_iommu_int_thread,
+ 0, "AMD-Vi",
+ iommu->dev);
if (r) {
pci_disable_msi(iommu->dev);