summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Moroni <jmoroni@google.com>2026-01-03 20:25:17 +0300
committerLeon Romanovsky <leon@kernel.org>2026-01-13 16:01:37 +0300
commit52f3d34c292b62ec151c6a487d267341d47eefa4 (patch)
tree402f93b526506410ceff30bc9b9efac99c0f12cb
parent88f2bf22d99b4a89f5ec3d3dec07271368499c3c (diff)
downloadlinux-52f3d34c292b62ec151c6a487d267341d47eefa4.tar.xz
RDMA/irdma: Remove redundant dma_wmb() before writel()
A dma_wmb() is not necessary before a writel() because writel() already has an even stronger store barrier. A dma_wmb() is only required to order writes to consistent/DMA memory whereas the barrier in writel() is specified to order writes to DMA memory as well as MMIO. Signed-off-by: Jacob Moroni <jmoroni@google.com> Link: https://patch.msgid.link/20260103172517.2088895-1-jmoroni@google.com Signed-off-by: Leon Romanovsky <leon@kernel.org>
-rw-r--r--drivers/infiniband/hw/irdma/ctrl.c2
-rw-r--r--drivers/infiniband/hw/irdma/uk.c3
2 files changed, 0 insertions, 5 deletions
diff --git a/drivers/infiniband/hw/irdma/ctrl.c b/drivers/infiniband/hw/irdma/ctrl.c
index 081551da763a..022fcdfab339 100644
--- a/drivers/infiniband/hw/irdma/ctrl.c
+++ b/drivers/infiniband/hw/irdma/ctrl.c
@@ -3887,8 +3887,6 @@ void irdma_sc_ccq_arm(struct irdma_sc_cq *ccq)
set_64bit_val(ccq->cq_uk.shadow_area, 32, temp_val);
spin_unlock_irqrestore(&ccq->dev->cqp_lock, flags);
- dma_wmb(); /* make sure shadow area is updated before arming */
-
writel(ccq->cq_uk.cq_id, ccq->dev->cq_arm_db);
}
diff --git a/drivers/infiniband/hw/irdma/uk.c b/drivers/infiniband/hw/irdma/uk.c
index 91669326d464..ac3721a5747a 100644
--- a/drivers/infiniband/hw/irdma/uk.c
+++ b/drivers/infiniband/hw/irdma/uk.c
@@ -114,7 +114,6 @@ void irdma_clr_wqes(struct irdma_qp_uk *qp, u32 qp_wqe_idx)
*/
void irdma_uk_qp_post_wr(struct irdma_qp_uk *qp)
{
- dma_wmb();
writel(qp->qp_id, qp->wqe_alloc_db);
}
@@ -1107,8 +1106,6 @@ void irdma_uk_cq_request_notification(struct irdma_cq_uk *cq,
set_64bit_val(cq->shadow_area, 32, temp_val);
- dma_wmb(); /* make sure WQE is populated before valid bit is set */
-
writel(cq->cq_id, cq->cqe_alloc_db);
}