summaryrefslogtreecommitdiff
path: root/drivers/dma/idxd/submit.c
diff options
context:
space:
mode:
authorDave Jiang <dave.jiang@intel.com>2021-07-20 13:42:04 -0700
committerVinod Koul <vkoul@kernel.org>2021-07-28 17:55:40 +0530
commita9c171527a3403cae6c1907744b1bc9ca301f912 (patch)
treeebd6d0900995c21d96fd6a18f9215746bedf3a33 /drivers/dma/idxd/submit.c
parent673d812d30be67942762bb9e8548abb26a3ba4a7 (diff)
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/submit.c')
-rw-r--r--drivers/dma/idxd/submit.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/dma/idxd/submit.c b/drivers/dma/idxd/submit.c
index 65b0130ab2db..92ae9a157cc9 100644
--- a/drivers/dma/idxd/submit.c
+++ b/drivers/dma/idxd/submit.c
@@ -146,7 +146,7 @@ int idxd_submit_desc(struct idxd_wq *wq, struct idxd_desc *desc)
if (!percpu_ref_tryget_live(&wq->wq_active))
return -ENXIO;
- portal = wq->portal;
+ portal = idxd_wq_portal_addr(wq);
/*
* The wmb() flushes writes to coherent DMA data before