aboutsummaryrefslogtreecommitdiff
path: root/drivers/dma/idxd/device.c
diff options
context:
space:
mode:
authorGravatar Dave Jiang <dave.jiang@intel.com> 2021-07-20 13:42:04 -0700
committerGravatar Vinod Koul <vkoul@kernel.org> 2021-07-28 17:55:40 +0530
commita9c171527a3403cae6c1907744b1bc9ca301f912 (patch)
treeebd6d0900995c21d96fd6a18f9215746bedf3a33 /drivers/dma/idxd/device.c
parentdmaengine: idxd: fix wq slot allocation index check (diff)
downloadlinux-a9c171527a3403cae6c1907744b1bc9ca301f912.tar.gz
linux-a9c171527a3403cae6c1907744b1bc9ca301f912.tar.bz2
linux-a9c171527a3403cae6c1907744b1bc9ca301f912.zip
dmaengine: idxd: rotate portal address for better performance
The device submission portal is on a 4k page and any of those 64bit aligned address on the page can be used for descriptor submission. By rotating the offset through the 4k range and prevent successive writes to the same MMIO address, performance improvement is observed through testing. Signed-off-by: Dave Jiang <dave.jiang@intel.com> Link: https://lore.kernel.org/r/162681372446.1968485.10634280461681015569.stgit@djiang5-desk3.ch.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma/idxd/device.c')
-rw-r--r--drivers/dma/idxd/device.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/dma/idxd/device.c b/drivers/dma/idxd/device.c
index 99350ac9a292..41f67a195eb6 100644
--- a/drivers/dma/idxd/device.c
+++ b/drivers/dma/idxd/device.c
@@ -320,6 +320,7 @@ void idxd_wq_unmap_portal(struct idxd_wq *wq)
devm_iounmap(dev, wq->portal);
wq->portal = NULL;
+ wq->portal_offset = 0;
}
void idxd_wqs_unmap_portal(struct idxd_device *idxd)