ioatdma: Adding support for BDX-DE ioatdma.
authorDave Jiang <dave.jiang@intel.com>
Fri, 30 Jan 2015 22:06:01 +0000 (15:06 -0700)
committerVinod Koul <vinod.koul@intel.com>
Wed, 4 Feb 2015 01:47:40 +0000 (17:47 -0800)
Adding PCI device IDs and hooks in workarounds for Broadwell DE ioatdma.

Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/ioat/dma_v3.c
drivers/dma/ioat/hw.h
drivers/dma/ioat/pci.c

index be307182231ea32a58f520f96c583a003458be1b..61510abfabb7cd4e9bdd3d58ee86406086bbdd7f 100644 (file)
@@ -214,6 +214,11 @@ static bool is_bwd_ioat(struct pci_dev *pdev)
        case PCI_DEVICE_ID_INTEL_IOAT_BWD1:
        case PCI_DEVICE_ID_INTEL_IOAT_BWD2:
        case PCI_DEVICE_ID_INTEL_IOAT_BWD3:
+       /* even though not Atom, BDX-DE has same DMA silicon */
+       case PCI_DEVICE_ID_INTEL_IOAT_BDXDE0:
+       case PCI_DEVICE_ID_INTEL_IOAT_BDXDE1:
+       case PCI_DEVICE_ID_INTEL_IOAT_BDXDE2:
+       case PCI_DEVICE_ID_INTEL_IOAT_BDXDE3:
                return true;
        default:
                return false;
index 62f83e983d8d0de9e496c79bbe9b10d2951c980b..02177ecf09f89b899b92a18edb06512f79f0f383 100644 (file)
 #define PCI_DEVICE_ID_INTEL_IOAT_BWD2  0x0C52
 #define PCI_DEVICE_ID_INTEL_IOAT_BWD3  0x0C53
 
+#define PCI_DEVICE_ID_INTEL_IOAT_BDXDE0        0x6f50
+#define PCI_DEVICE_ID_INTEL_IOAT_BDXDE1        0x6f51
+#define PCI_DEVICE_ID_INTEL_IOAT_BDXDE2        0x6f52
+#define PCI_DEVICE_ID_INTEL_IOAT_BDXDE3        0x6f53
+
 #define IOAT_VER_1_2            0x12    /* Version 1.2 */
 #define IOAT_VER_2_0            0x20    /* Version 2.0 */
 #define IOAT_VER_3_0            0x30    /* Version 3.0 */
index 1d051cd045dbc43b5d4b53d42008660f62765ddd..5501eb072d6981c9a5c6d7a79c87777376979093 100644 (file)
@@ -111,6 +111,11 @@ static struct pci_device_id ioat_pci_tbl[] = {
        { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BWD2) },
        { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BWD3) },
 
+       { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BDXDE0) },
+       { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BDXDE1) },
+       { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BDXDE2) },
+       { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IOAT_BDXDE3) },
+
        { 0, }
 };
 MODULE_DEVICE_TABLE(pci, ioat_pci_tbl);