Skip to content

Commit bfe1d56

Browse files
davejiangvinodkoul
authored andcommitted
dmaengine: idxd: Init and probe for Intel data accelerators
The idxd driver introduces the Intel Data Stream Accelerator [1] that will be available on future Intel Xeon CPUs. One of the kernel access point for the driver is through the dmaengine subsystem. It will initially provide the DMA copy service to the kernel. Some of the main functionality introduced with this accelerator are: shared virtual memory (SVM) support, and descriptor submission using Intel CPU instructions movdir64b and enqcmds. There will be additional accelerator devices that share the same driver with variations to capabilities. This commit introduces the probe and initialization component of the driver. [1]: https://software.intel.com/en-us/download/intel-data-streaming-accelerator-preliminary-architecture-specification Signed-off-by: Dave Jiang <[email protected]> Link: https://lore.kernel.org/r/157965023991.73301.6186843973135311580.stgit@djiang5-desk3.ch.intel.com Signed-off-by: Vinod Koul <[email protected]>
1 parent e81274c commit bfe1d56

File tree

10 files changed

+2093
-0
lines changed

10 files changed

+2093
-0
lines changed

MAINTAINERS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8375,6 +8375,14 @@ Q: https://patchwork.kernel.org/project/linux-dmaengine/list/
83758375
S: Supported
83768376
F: drivers/dma/ioat*
83778377

8378+
INTEL IADX DRIVER
8379+
M: Dave Jiang <[email protected]>
8380+
8381+
S: Supported
8382+
F: drivers/dma/idxd/*
8383+
F: include/uapi/linux/idxd.h
8384+
F: include/linux/idxd.h
8385+
83788386
INTEL IDLE DRIVER
83798387
M: Jacob Pan <[email protected]>
83808388
M: Len Brown <[email protected]>

drivers/dma/Kconfig

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,19 @@ config INTEL_IDMA64
273273
Enable DMA support for Intel Low Power Subsystem such as found on
274274
Intel Skylake PCH.
275275

276+
config INTEL_IDXD
277+
tristate "Intel Data Accelerators support"
278+
depends on PCI && X86_64
279+
select DMA_ENGINE
280+
select SBITMAP
281+
help
282+
Enable support for the Intel(R) data accelerators present
283+
in Intel Xeon CPU.
284+
285+
Say Y if you have such a platform.
286+
287+
If unsure, say N.
288+
276289
config INTEL_IOATDMA
277290
tristate "Intel I/OAT DMA support"
278291
depends on PCI && X86_64

drivers/dma/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ obj-$(CONFIG_IMX_DMA) += imx-dma.o
4141
obj-$(CONFIG_IMX_SDMA) += imx-sdma.o
4242
obj-$(CONFIG_INTEL_IDMA64) += idma64.o
4343
obj-$(CONFIG_INTEL_IOATDMA) += ioat/
44+
obj-$(CONFIG_INTEL_IDXD) += idxd/
4445
obj-$(CONFIG_INTEL_IOP_ADMA) += iop-adma.o
4546
obj-$(CONFIG_INTEL_MIC_X100_DMA) += mic_x100_dma.o
4647
obj-$(CONFIG_K3_DMA) += k3dma.o

drivers/dma/idxd/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
obj-$(CONFIG_INTEL_IDXD) += idxd.o
2+
idxd-y := init.o irq.o device.o

0 commit comments

Comments
 (0)