diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2012-06-26 16:46:04 +0200 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2012-09-28 17:43:52 +0200 |
commit | 6b474b8224cdb473f19e8c925171e608499cc45d (patch) | |
tree | d52191a42b4b9292b1908003245abcf852c6919b /drivers/iommu/amd_iommu.c | |
parent | iommu/amd: Add call-back routine for HPET MSI (diff) | |
download | linux-6b474b8224cdb473f19e8c925171e608499cc45d.tar.xz linux-6b474b8224cdb473f19e8c925171e608499cc45d.zip |
iommu/amd: Add initialization routines for AMD interrupt remapping
Add the six routines required to setup interrupt remapping
with the AMD IOMMU. Also put it all together into the AMD
specific irq_remap_ops.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'drivers/iommu/amd_iommu.c')
-rw-r--r-- | drivers/iommu/amd_iommu.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c index aeb890c35f7e..33f144f7d676 100644 --- a/drivers/iommu/amd_iommu.c +++ b/drivers/iommu/amd_iommu.c @@ -45,6 +45,7 @@ #include "amd_iommu_proto.h" #include "amd_iommu_types.h" +#include "irq_remapping.h" #define CMD_SET_TYPE(cmd, t) ((cmd)->data[1] |= ((t) << 28)) @@ -4226,4 +4227,19 @@ static int setup_hpet_msi(unsigned int irq, unsigned int id) return 0; } +struct irq_remap_ops amd_iommu_irq_ops = { + .supported = amd_iommu_supported, + .prepare = amd_iommu_prepare, + .enable = amd_iommu_enable, + .disable = amd_iommu_disable, + .reenable = amd_iommu_reenable, + .enable_faulting = amd_iommu_enable_faulting, + .setup_ioapic_entry = setup_ioapic_entry, + .set_affinity = set_affinity, + .free_irq = free_irq, + .compose_msi_msg = compose_msi_msg, + .msi_alloc_irq = msi_alloc_irq, + .msi_setup_irq = msi_setup_irq, + .setup_hpet_msi = setup_hpet_msi, +}; #endif |