diff options
author | Dave Jiang <dave.jiang@intel.com> | 2015-08-26 17:16:27 -0400 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2015-08-28 00:36:06 -0400 |
commit | ab98193dace971f4742eebb5103212e23bb392f5 (patch) | |
tree | fcaf7254d3ea50ffc243810c31d6c9f8fafadc74 | |
parent | 6ef41cf6f721573d286a06ca35a9f1e370637d51 (diff) |
dmaengine: ioatdma: add Broadwell EP ioatdma PCI dev IDs
Adding the Broadwell Xeon ioatdma PCI device IDs and
related bits. This is still IOATDMA 3.2 based hw.
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
-rw-r--r-- | drivers/dma/ioat/hw.h | 11 | ||||
-rw-r--r-- | drivers/dma/ioat/init.c | 32 |
2 files changed, 42 insertions, 1 deletions
diff --git a/drivers/dma/ioat/hw.h b/drivers/dma/ioat/hw.h index ec64aced5655..690e3b4f8202 100644 --- a/drivers/dma/ioat/hw.h +++ b/drivers/dma/ioat/hw.h | |||
@@ -53,6 +53,17 @@ | |||
53 | #define PCI_DEVICE_ID_INTEL_IOAT_BDXDE2 0x6f52 | 53 | #define PCI_DEVICE_ID_INTEL_IOAT_BDXDE2 0x6f52 |
54 | #define PCI_DEVICE_ID_INTEL_IOAT_BDXDE3 0x6f53 | 54 | #define PCI_DEVICE_ID_INTEL_IOAT_BDXDE3 0x6f53 |
55 | 55 | ||
56 | #define PCI_DEVICE_ID_INTEL_IOAT_BDX0 0x6f20 | ||
57 | #define PCI_DEVICE_ID_INTEL_IOAT_BDX1 0x6f21 | ||
58 | #define PCI_DEVICE_ID_INTEL_IOAT_BDX2 0x6f22 | ||
59 | #define PCI_DEVICE_ID_INTEL_IOAT_BDX3 0x6f23 | ||
60 | #define PCI_DEVICE_ID_INTEL_IOAT_BDX4 0x6f24 | ||
61 | #define PCI_DEVICE_ID_INTEL_IOAT_BDX5 0x6f25 | ||
62 | #define PCI_DEVICE_ID_INTEL_IOAT_BDX6 0x6f26 | ||
63 | #define PCI_DEVICE_ID_INTEL_IOAT_BDX7 0x6f27 | ||
64 | #define PCI_DEVICE_ID_INTEL_IOAT_BDX8 0x6f2e | ||
65 | #define PCI_DEVICE_ID_INTEL_IOAT_BDX9 0x6f2f | ||
66 | |||
56 | #define IOAT_VER_1_2 0x12 /* Version 1.2 */ | 67 | #define IOAT_VER_1_2 0x12 /* Version 1.2 */ |
57 | #define IOAT_VER_2_0 0x20 /* Version 2.0 */ | 68 | #define IOAT_VER_2_0 0x20 /* Version 2.0 */ |
58 | #define IOAT_VER_3_0 0x30 /* Version 3.0 */ | 69 | #define IOAT_VER_3_0 0x30 /* Version 3.0 */ |
diff --git a/drivers/dma/ioat/init.c b/drivers/dma/ioat/init.c index 60a7c3211e0d..1c3c9b0abf4e 100644 --- a/drivers/dma/ioat/init.c +++ b/drivers/dma/ioat/init.c | |||
@@ -93,6 +93,17 @@ static struct pci_device_id ioat_pci_tbl[] = { | |||
93 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_HSW8) }, | 93 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_HSW8) }, |
94 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_HSW9) }, | 94 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_HSW9) }, |
95 | 95 | ||
96 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BDX0) }, | ||
97 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BDX1) }, | ||
98 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BDX2) }, | ||
99 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BDX3) }, | ||
100 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BDX4) }, | ||
101 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BDX5) }, | ||
102 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BDX6) }, | ||
103 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BDX7) }, | ||
104 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BDX8) }, | ||
105 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BDX9) }, | ||
106 | |||
96 | /* I/OAT v3.3 platforms */ | 107 | /* I/OAT v3.3 platforms */ |
97 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BWD0) }, | 108 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BWD0) }, |
98 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BWD1) }, | 109 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BWD1) }, |
@@ -219,10 +230,29 @@ static bool is_hsw_ioat(struct pci_dev *pdev) | |||
219 | 230 | ||
220 | } | 231 | } |
221 | 232 | ||
233 | static bool is_bdx_ioat(struct pci_dev *pdev) | ||
234 | { | ||
235 | switch (pdev->device) { | ||
236 | case PCI_DEVICE_ID_INTEL_IOAT_BDX0: | ||
237 | case PCI_DEVICE_ID_INTEL_IOAT_BDX1: | ||
238 | case PCI_DEVICE_ID_INTEL_IOAT_BDX2: | ||
239 | case PCI_DEVICE_ID_INTEL_IOAT_BDX3: | ||
240 | case PCI_DEVICE_ID_INTEL_IOAT_BDX4: | ||
241 | case PCI_DEVICE_ID_INTEL_IOAT_BDX5: | ||
242 | case PCI_DEVICE_ID_INTEL_IOAT_BDX6: | ||
243 | case PCI_DEVICE_ID_INTEL_IOAT_BDX7: | ||
244 | case PCI_DEVICE_ID_INTEL_IOAT_BDX8: | ||
245 | case PCI_DEVICE_ID_INTEL_IOAT_BDX9: | ||
246 | return true; | ||
247 | default: | ||
248 | return false; | ||
249 | } | ||
250 | } | ||
251 | |||
222 | static bool is_xeon_cb32(struct pci_dev *pdev) | 252 | static bool is_xeon_cb32(struct pci_dev *pdev) |
223 | { | 253 | { |
224 | return is_jf_ioat(pdev) || is_snb_ioat(pdev) || is_ivb_ioat(pdev) || | 254 | return is_jf_ioat(pdev) || is_snb_ioat(pdev) || is_ivb_ioat(pdev) || |
225 | is_hsw_ioat(pdev); | 255 | is_hsw_ioat(pdev) || is_bdx_ioat(pdev); |
226 | } | 256 | } |
227 | 257 | ||
228 | bool is_bwd_ioat(struct pci_dev *pdev) | 258 | bool is_bwd_ioat(struct pci_dev *pdev) |