dmaengine: idxd: add IAX configuration support in the IDXD driver
authorDave Jiang <dave.jiang@intel.com>
Tue, 17 Nov 2020 20:39:14 +0000 (13:39 -0700)
committerVinod Koul <vkoul@kernel.org>
Fri, 11 Dec 2020 14:15:53 +0000 (19:45 +0530)
commitf25b463883a8a2d1b7303a63339c0d589fc94f1e
tree65958d4b9588d75270498efedd2fa94e36e3b255
parent51b69c9679de9bcb45b846807d75bab7ce9c6fda
dmaengine: idxd: add IAX configuration support in the IDXD driver

Add support to allow configuration of Intel Analytics Accelerator (IAX) in
addition to the Intel Data Streaming Accelerator (DSA). The IAX hardware
has the same configuration interface as DSA. The main difference
is the type of operations it performs. We can support the DSA and
IAX devices on the same driver with some tweaks.

IAX has a 64B completion record that needs to be 64B aligned, as opposed to
a 32B completion record that is 32B aligned for DSA. IAX also does not
support token management.

Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/160564555488.1834439.4261958859935360473.stgit@djiang5-desk3.ch.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/idxd/cdev.c
drivers/dma/idxd/device.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
include/uapi/linux/idxd.h