summaryrefslogtreecommitdiffstats
path: root/src/plugins/dev_octeon/octeon.h
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2024-03-29 21:33:03 +0100
committerFlorin Coras <florin.coras@gmail.com>2024-04-05 19:33:32 +0000
commitdf47a0812ab9365b2de10a7aabcf4b29a255c088 (patch)
tree176b5b7103e8716442043f7d8026ae1bf8681407 /src/plugins/dev_octeon/octeon.h
parentd1364402b6964cc5b2e83490bfe516e0d34becd8 (diff)
octeon: fix memory ordering issue in tx batch free
Type: fix Fixes: 01fe7ab Change-Id: I4425e809f0977521ddecf91b58b26fe4519dd6e0 Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/plugins/dev_octeon/octeon.h')
-rw-r--r--src/plugins/dev_octeon/octeon.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/plugins/dev_octeon/octeon.h b/src/plugins/dev_octeon/octeon.h
index fd8a92c7b3d..72d2d56a437 100644
--- a/src/plugins/dev_octeon/octeon.h
+++ b/src/plugins/dev_octeon/octeon.h
@@ -15,6 +15,8 @@
#include <base/roc_api.h>
#include <dev_octeon/hw_defs.h>
+#define OCT_BATCH_ALLOC_IOVA0_MASK 0xFFFFFFFFFFFFFF80
+
typedef enum
{
OCT_DEVICE_TYPE_UNKNOWN = 0,
@@ -72,13 +74,15 @@ typedef struct
typedef struct
{
CLIB_ALIGN_MARK (cl, 128);
- union
- {
- struct npa_batch_alloc_status_s status;
- u64 iova[16];
- };
+ u64 iova[16];
} oct_npa_batch_alloc_cl128_t;
+typedef union
+{
+ struct npa_batch_alloc_status_s status;
+ u64 as_u64;
+} oct_npa_batch_alloc_status_t;
+
STATIC_ASSERT_SIZEOF (oct_npa_batch_alloc_cl128_t, 128);
typedef struct