bus/fslmc: add macros to get/set FLE context
authorAkhil Goyal <akhil.goyal@nxp.com>
Mon, 3 Jul 2017 12:31:35 +0000 (18:01 +0530)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Thu, 6 Jul 2017 20:26:50 +0000 (22:26 +0200)
Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
drivers/bus/fslmc/portal/dpaa2_hw_pvt.h

index f9f4e29..c88bc9f 100644 (file)
@@ -195,6 +195,13 @@ enum qbman_fd_format {
        fle->addr_lo = lower_32_bits((uint64_t)addr);     \
        fle->addr_hi = upper_32_bits((uint64_t)addr);     \
 } while (0)
+#define DPAA2_GET_FLE_CTXT(fle)                                        \
+       (uint64_t)((((uint64_t)((fle)->reserved[1])) << 32) + \
+                       (fle)->reserved[0])
+#define DPAA2_FLE_SAVE_CTXT(fle, addr) do { \
+       fle->reserved[0] = lower_32_bits((uint64_t)addr);     \
+       fle->reserved[1] = upper_32_bits((uint64_t)addr);         \
+} while (0)
 #define DPAA2_SET_FLE_OFFSET(fle, offset) \
        ((fle)->fin_bpid_offset |= (uint32_t)(offset) << 16)
 #define DPAA2_SET_FLE_BPID(fle, bpid) ((fle)->fin_bpid_offset |= (uint64_t)bpid)