common/sfc_efx/base: add MAE action rule provisioning APIs
[dpdk.git] / drivers / common / octeontx2 / otx2_io_arm64.h
index 468243c..b5c85d9 100644 (file)
@@ -14,7 +14,7 @@
 
 #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)   \
        ); })
 
@@ -63,6 +63,18 @@ otx2_lmt_submit(rte_iova_t io_address)
        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)
 {