diff options
author | Dave Jiang <dave.jiang@intel.com> | 2022-04-07 11:28:28 -0700 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2022-04-11 17:28:58 +0530 |
commit | 3157dd0a366183adaea2f4d8721961637d562fee (patch) | |
tree | 3333d8948b32d3673f85081680ba34b37f1a3aef /drivers/dma/idxd/registers.h | |
parent | 80380f89d0f56e0efa43e24c11f989e89b4af952 (diff) | |
download | linux-3157dd0a366183adaea2f4d8721961637d562fee.tar.bz2 |
dmaengine: idxd: don't load pasid config until needed
The driver currently programs the system pasid to the WQ preemptively when
system pasid is enabled. Given that a dwq will reprogram the pasid and
possibly a different pasid, the programming is not necessary. The pasid_en
bit can be set for swq as it does not need pasid programming but
needs the pasid_en bit. Remove system pasid programming on device config
write. Add pasid programming for kernel wq type on wq driver enable. The
char dev driver already reprograms the dwq on ->open() call so there's no
change.
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/164935607115.1660372.6734518676950372366.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.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/dma/idxd/registers.h b/drivers/dma/idxd/registers.h index aa642aecdc0b..02449aa9c454 100644 --- a/drivers/dma/idxd/registers.h +++ b/drivers/dma/idxd/registers.h @@ -353,6 +353,7 @@ union wqcfg { } __packed; #define WQCFG_PASID_IDX 2 +#define WQCFG_PRIVL_IDX 2 #define WQCFG_OCCUP_IDX 6 #define WQCFG_OCCUP_MASK 0xffff |