[PATCH v3 6/7] net/ark: add memory write barriers in critical code paths
John Miller
john.miller at atomicrules.com
Tue Feb 15 23:19:25 CET 2022
Add memory write barriers for read and wait status functions
in ddm, udm and mpu.
Signed-off-by: John Miller <john.miller at atomicrules.com>
---
drivers/net/ark/ark_ddm.c | 1 +
drivers/net/ark/ark_mpu.c | 1 +
drivers/net/ark/ark_udm.c | 1 +
3 files changed, 3 insertions(+)
diff --git a/drivers/net/ark/ark_ddm.c b/drivers/net/ark/ark_ddm.c
index 2321371572..b16c739d50 100644
--- a/drivers/net/ark/ark_ddm.c
+++ b/drivers/net/ark/ark_ddm.c
@@ -55,6 +55,7 @@ ark_ddm_stop(struct ark_ddm_t *ddm, const int wait)
int cnt = 0;
ddm->cfg.command = 2;
+ rte_wmb();
while (wait && (ddm->cfg.stop_flushed & 0x01) == 0) {
if (cnt++ > 1000)
return 1;
diff --git a/drivers/net/ark/ark_mpu.c b/drivers/net/ark/ark_mpu.c
index 8160c1de7b..b8e94b6ed3 100644
--- a/drivers/net/ark/ark_mpu.c
+++ b/drivers/net/ark/ark_mpu.c
@@ -68,6 +68,7 @@ ark_mpu_reset(struct ark_mpu_t *mpu)
int cnt = 0;
mpu->cfg.command = MPU_CMD_RESET;
+ rte_wmb();
while (mpu->cfg.command != MPU_CMD_IDLE) {
if (cnt++ > 1000)
diff --git a/drivers/net/ark/ark_udm.c b/drivers/net/ark/ark_udm.c
index 28c4500a2c..cb3cf5c941 100644
--- a/drivers/net/ark/ark_udm.c
+++ b/drivers/net/ark/ark_udm.c
@@ -34,6 +34,7 @@ ark_udm_stop(struct ark_udm_t *udm, const int wait)
int cnt = 0;
udm->cfg.command = 2;
+ rte_wmb();
while (wait && (udm->cfg.stop_flushed & 0x01) == 0) {
if (cnt++ > 1000)
--
2.25.1
More information about the dev
mailing list