git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
common/sfc_efx/base: add MAE action rule provisioning APIs
[dpdk.git]
/
drivers
/
common
/
octeontx2
/
otx2_io_arm64.h
diff --git
a/drivers/common/octeontx2/otx2_io_arm64.h
b/drivers/common/octeontx2/otx2_io_arm64.h
index
468243c
..
b5c85d9
100644
(file)
--- a/
drivers/common/octeontx2/otx2_io_arm64.h
+++ b/
drivers/common/octeontx2/otx2_io_arm64.h
@@
-14,7
+14,7
@@
#define otx2_store_pair(val0, val1, addr) ({ \
asm volatile( \
#define otx2_store_pair(val0, val1, addr) ({ \
asm volatile( \
- "stp %x[x0], %x[x1], [%x[p1]
]"
\
+ "stp %x[x0], %x[x1], [%x[p1]
,#0]!"
\
::[x0]"r"(val0), [x1]"r"(val1), [p1]"r"(addr) \
); })
::[x0]"r"(val0), [x1]"r"(val1), [p1]"r"(addr) \
); })
@@
-63,6
+63,18
@@
otx2_lmt_submit(rte_iova_t io_address)
return result;
}
return result;
}
+static __rte_always_inline uint64_t
+otx2_lmt_submit_release(rte_iova_t io_address)
+{
+ uint64_t result;
+
+ asm volatile (
+ ".cpu generic+lse\n"
+ "ldeorl xzr,%x[rf],[%[rs]]" :
+ [rf] "=r"(result) : [rs] "r"(io_address));
+ return result;
+}
+
static __rte_always_inline void
otx2_lmt_mov(void *out, const void *in, const uint32_t lmtext)
{
static __rte_always_inline void
otx2_lmt_mov(void *out, const void *in, const uint32_t lmtext)
{