diff options
author | Dave Jiang <dave.jiang@intel.com> | 2020-06-25 12:17:42 -0700 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2020-07-02 19:02:19 +0530 |
commit | da32b28c95a79e399e18c03f8178f41aec9c66e4 (patch) | |
tree | 06ff18c09c7a6958408f186a7470a9a76ed58887 /drivers/dma/idxd/idxd.h | |
parent | 5b78fac4b1ba731cf4177fdbc1e3a4661521bcd0 (diff) | |
download | lwn-da32b28c95a79e399e18c03f8178f41aec9c66e4.tar.gz lwn-da32b28c95a79e399e18c03f8178f41aec9c66e4.zip |
dmaengine: idxd: cleanup workqueue config after disabling
After disabling a device, we should clean up the internal state for
the wqs and zero out the configuration registers. Without doing so can cause
issues when the user reprogram the wqs.
Fixes: c52ca478233c ("dmaengine: idxd: add configuration component of driver")
Reported-by: Yixin Zhang <yixin.zhang@intel.com>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Tested-by: Yixin Zhang <yixin.zhang@intel.com>
Link: https://lore.kernel.org/r/159311264246.1198.11955791213681679428.stgit@djiang5-desk3.ch.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma/idxd/idxd.h')
-rw-r--r-- | drivers/dma/idxd/idxd.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/dma/idxd/idxd.h b/drivers/dma/idxd/idxd.h index b8f8a363b4a7..908c8d0ef3ab 100644 --- a/drivers/dma/idxd/idxd.h +++ b/drivers/dma/idxd/idxd.h @@ -290,6 +290,7 @@ int idxd_wq_enable(struct idxd_wq *wq); int idxd_wq_disable(struct idxd_wq *wq); int idxd_wq_map_portal(struct idxd_wq *wq); void idxd_wq_unmap_portal(struct idxd_wq *wq); +void idxd_wq_disable_cleanup(struct idxd_wq *wq); /* submission */ int idxd_submit_desc(struct idxd_wq *wq, struct idxd_desc *desc); |