diff options
| author | Jacob Moroni <jmoroni@google.com> | 2026-01-03 20:25:17 +0300 |
|---|---|---|
| committer | Leon Romanovsky <leon@kernel.org> | 2026-01-13 16:01:37 +0300 |
| commit | 52f3d34c292b62ec151c6a487d267341d47eefa4 (patch) | |
| tree | 402f93b526506410ceff30bc9b9efac99c0f12cb | |
| parent | 88f2bf22d99b4a89f5ec3d3dec07271368499c3c (diff) | |
| download | linux-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.c | 2 | ||||
| -rw-r--r-- | drivers/infiniband/hw/irdma/uk.c | 3 |
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); } |
