dmaengine: idxd: Add shared workqueue support
authorDave Jiang <dave.jiang@intel.com>
Tue, 27 Oct 2020 17:34:35 +0000 (10:34 -0700)
committerVinod Koul <vkoul@kernel.org>
Fri, 30 Oct 2020 08:40:36 +0000 (14:10 +0530)
commit8e50d392652f20616a136165dff516b86baf5e49
treef2008bb6857698bb9d875d7ec3206dc3c5fbcd3a
parent212a93ca435ec847bdfe238f225dd6e8b77927e9
dmaengine: idxd: Add shared workqueue support

Add shared workqueue support that includes the support of Shared Virtual
memory (SVM) or in similar terms On Demand Paging (ODP). The shared
workqueue uses the enqcmds command in kernel and will respond with retry if
the workqueue is full. Shared workqueue only works when there is PASID
support from the IOMMU.

Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Link: https://lore.kernel.org/r/160382007499.3911367.26043087963708134.stgit@djiang5-desk3.ch.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/Kconfig
drivers/dma/idxd/cdev.c
drivers/dma/idxd/device.c
drivers/dma/idxd/dma.c
drivers/dma/idxd/idxd.h
drivers/dma/idxd/init.c
drivers/dma/idxd/registers.h
drivers/dma/idxd/submit.c
drivers/dma/idxd/sysfs.c