L:     linux-crypto@vger.kernel.org
 S:     Maintained
 F:     drivers/crypto/marvell/
+F:     include/linux/soc/marvell/octeontx2/
 
 MARVELL GIGABIT ETHERNET DRIVERS (skge/sky2)
 M:     Mirko Lindner <mlindner@marvell.com>
 L:     netdev@vger.kernel.org
 S:     Supported
 F:     drivers/net/ethernet/marvell/octeontx2/nic/
+F:     include/linux/soc/marvell/octeontx2/
 
 MARVELL OCTEONTX2 RVU ADMIN FUNCTION DRIVER
 M:     Sunil Goutham <sgoutham@marvell.com>
 
 #include <linux/net_tstamp.h>
 #include <linux/ptp_clock_kernel.h>
 #include <linux/timecounter.h>
+#include <linux/soc/marvell/octeontx2/asm.h>
 
 #include <mbox.h>
 #include <npc.h>
        return result;
 }
 
-static inline u64 otx2_lmt_flush(uint64_t addr)
-{
-       u64 result = 0;
-
-       __asm__ volatile(".cpu  generic+lse\n"
-                        "ldeor xzr,%x[rf],[%[rs]]"
-                        : [rf]"=r"(result)
-                        : [rs]"r"(addr));
-       return result;
-}
-
 #else
 #define otx2_write128(lo, hi, addr)
 #define otx2_atomic64_add(incr, ptr)           ({ *ptr += incr; })
-#define otx2_lmt_flush(addr)                   ({ 0; })
 #endif
 
 /* Alloc pointer from pool/aura */
 
--- /dev/null
+/* SPDX-License-Identifier: GPL-2.0-only
+ * Copyright (C) 2020 Marvell.
+ */
+
+#ifndef __SOC_OTX2_ASM_H
+#define __SOC_OTX2_ASM_H
+
+#if defined(CONFIG_ARM64)
+/*
+ * otx2_lmt_flush is used for LMT store operation.
+ * On octeontx2 platform CPT instruction enqueue and
+ * NIX packet send are only possible via LMTST
+ * operations and it uses LDEOR instruction targeting
+ * the coprocessor address.
+ */
+#define otx2_lmt_flush(ioaddr)                          \
+({                                                      \
+       u64 result = 0;                                 \
+       __asm__ volatile(".cpu  generic+lse\n"          \
+                        "ldeor xzr, %x[rf], [%[rs]]"   \
+                        : [rf]"=r" (result)            \
+                        : [rs]"r" (ioaddr));           \
+       (result);                                       \
+})
+#else
+#define otx2_lmt_flush(ioaddr)          ({ 0; })
+#endif
+
+#endif /* __SOC_OTX2_ASM_H */