diff options
Diffstat (limited to 'drivers/dma/ioat.c')
-rw-r--r-- | drivers/dma/ioat.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/dma/ioat.c b/drivers/dma/ioat.c index f204c39fb412..16e0fd8facfb 100644 --- a/drivers/dma/ioat.c +++ b/drivers/dma/ioat.c | |||
@@ -39,10 +39,14 @@ MODULE_LICENSE("GPL"); | |||
39 | MODULE_AUTHOR("Intel Corporation"); | 39 | MODULE_AUTHOR("Intel Corporation"); |
40 | 40 | ||
41 | static struct pci_device_id ioat_pci_tbl[] = { | 41 | static struct pci_device_id ioat_pci_tbl[] = { |
42 | /* I/OAT v1 platforms */ | ||
42 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT) }, | 43 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT) }, |
43 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT_CNB) }, | 44 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT_CNB) }, |
44 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT_SCNB) }, | 45 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT_SCNB) }, |
45 | { PCI_DEVICE(PCI_VENDOR_ID_UNISYS, PCI_DEVICE_ID_UNISYS_DMA_DIRECTOR) }, | 46 | { PCI_DEVICE(PCI_VENDOR_ID_UNISYS, PCI_DEVICE_ID_UNISYS_DMA_DIRECTOR) }, |
47 | |||
48 | /* I/OAT v2 platforms */ | ||
49 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT_SNB) }, | ||
46 | { 0, } | 50 | { 0, } |
47 | }; | 51 | }; |
48 | 52 | ||
@@ -74,10 +78,17 @@ static int ioat_setup_functionality(struct pci_dev *pdev, void __iomem *iobase) | |||
74 | if (device->dma && ioat_dca_enabled) | 78 | if (device->dma && ioat_dca_enabled) |
75 | device->dca = ioat_dca_init(pdev, iobase); | 79 | device->dca = ioat_dca_init(pdev, iobase); |
76 | break; | 80 | break; |
81 | case IOAT_VER_2_0: | ||
82 | device->dma = ioat_dma_probe(pdev, iobase); | ||
83 | if (device->dma && ioat_dca_enabled) | ||
84 | device->dca = ioat2_dca_init(pdev, iobase); | ||
85 | break; | ||
77 | default: | 86 | default: |
78 | err = -ENODEV; | 87 | err = -ENODEV; |
79 | break; | 88 | break; |
80 | } | 89 | } |
90 | if (!device->dma) | ||
91 | err = -ENODEV; | ||
81 | return err; | 92 | return err; |
82 | } | 93 | } |
83 | 94 | ||