From 3e037454bcfa4b187e8293d2121bd8c0f5a5c31c Mon Sep 17 00:00:00 2001 From: Shannon Nelson Date: Tue, 16 Oct 2007 01:27:40 -0700 Subject: I/OAT: Add support for MSI and MSI-X Add support for MSI and MSI-X interrupt handling, including the ability to choose the desired interrupt method. Signed-off-by: Shannon Nelson Acked-by: David S. Miller [bunk@kernel.org: drivers/dma/ioat_dma.c: make 3 functions static] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/dma/ioatdma.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'drivers/dma/ioatdma.h') diff --git a/drivers/dma/ioatdma.h b/drivers/dma/ioatdma.h index 0b8ffbde1e61..2abf0b88a973 100644 --- a/drivers/dma/ioatdma.h +++ b/drivers/dma/ioatdma.h @@ -28,6 +28,14 @@ #include #include +enum ioat_interrupt { + none = 0, + msix_multi_vector = 1, + msix_single_vector = 2, + msi = 3, + intx = 4, +}; + #define IOAT_LOW_COMPLETION_MASK 0xffffffc0 /** @@ -46,6 +54,9 @@ struct ioatdma_device { struct pci_pool *completion_pool; struct dma_device common; u8 version; + enum ioat_interrupt irq_mode; + struct msix_entry msix_entries[4]; + struct ioat_dma_chan *idx[4]; }; /** @@ -94,6 +105,7 @@ struct ioat_dma_chan { u32 high; }; } *completion_virt; + struct tasklet_struct cleanup_task; }; /* wrapper around hardware descriptor format + additional software fields */ -- cgit v1.2.3