summaryrefslogtreecommitdiffstats
path: root/drivers/dma/idxd/registers.h
diff options
context:
space:
mode:
authorDave Jiang <dave.jiang@intel.com>2020-01-21 16:44:05 -0700
committerVinod Koul <vkoul@kernel.org>2020-01-24 11:18:45 +0530
commitc52ca478233c172b2d322b5241d6279a8661cbba (patch)
tree7006d7e739952f598ff1a308239d2b794fc2cd22 /drivers/dma/idxd/registers.h
parentbfe1d56091c1a404b3d4ce7e9809d745fc4453bb (diff)
downloadlinux-stable-c52ca478233c172b2d322b5241d6279a8661cbba.tar.gz
linux-stable-c52ca478233c172b2d322b5241d6279a8661cbba.tar.bz2
linux-stable-c52ca478233c172b2d322b5241d6279a8661cbba.zip
dmaengine: idxd: add configuration component of driver
The device is left unconfigured when the driver is loaded. Various components are configured via the driver sysfs attributes. Once configuration is done, the device can be enabled by writing the device name to the bind attribute of the device driver sysfs. Disabling can be done similarly. Also the individual work queues can also be enabled and disabled through the bind/unbind attributes. A constructed hierarchy is created through the struct device framework in order to provide appropriate configuration points and device state and status. This hierarchy is presented off the virtual DSA bus. i.e. /sys/bus/dsa/... Signed-off-by: Dave Jiang <dave.jiang@intel.com> Link: https://lore.kernel.org/r/157965024585.73301.6431413676230150589.stgit@djiang5-desk3.ch.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma/idxd/registers.h')
-rw-r--r--drivers/dma/idxd/registers.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/dma/idxd/registers.h b/drivers/dma/idxd/registers.h
index 146e51f1d872..a39e7ae6b3d9 100644
--- a/drivers/dma/idxd/registers.h
+++ b/drivers/dma/idxd/registers.h
@@ -8,6 +8,7 @@
#define IDXD_MMIO_BAR 0
#define IDXD_WQ_BAR 2
+#define IDXD_PORTAL_SIZE 0x4000
/* MMIO Device BAR0 Registers */
#define IDXD_VER_OFFSET 0x00
@@ -223,7 +224,7 @@ enum idxd_cmdsts_err {
};
#define IDXD_SWERR_OFFSET 0xc0
-#define IDXD_SWERR_VALID 0x00000001
+#define IDXD_SWERR_VALID 0x00000001
#define IDXD_SWERR_OVERFLOW 0x00000002
#define IDXD_SWERR_ACK (IDXD_SWERR_VALID | IDXD_SWERR_OVERFLOW)
union sw_err_reg {