All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hemant Agrawal <hemant.agrawal@nxp.com>
To: dev@dpdk.org, bruce.richardson@intel.com
Cc: thomas@monjalon.net, shreyansh.jain@nxp.com
Subject: [PATCH 5/7] bus/dpaa: enabling dpaa compilation for other platforms
Date: Tue, 27 Feb 2018 22:55:50 +0530	[thread overview]
Message-ID: <1519752352-15442-6-git-send-email-hemant.agrawal@nxp.com> (raw)
In-Reply-To: <1519752352-15442-1-git-send-email-hemant.agrawal@nxp.com>

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/bus/dpaa/include/compat.h | 30 ++++++++++++++++++++++++++++--
 1 file changed, 28 insertions(+), 2 deletions(-)

diff --git a/drivers/bus/dpaa/include/compat.h b/drivers/bus/dpaa/include/compat.h
index 53707bb..e4b5702 100644
--- a/drivers/bus/dpaa/include/compat.h
+++ b/drivers/bus/dpaa/include/compat.h
@@ -39,6 +39,7 @@
 #include <rte_spinlock.h>
 #include <rte_common.h>
 #include <rte_debug.h>
+#include <rte_cycles.h>
 
 /* The following definitions are primarily to allow the single-source driver
  * interfaces to be included by arbitrary program code. Ie. for interfaces that
@@ -127,13 +128,15 @@ static inline void out_be32(volatile void *__p, u32 val)
 	*p = rte_cpu_to_be_32(val);
 }
 
+#define hwsync() rte_rmb()
+#define lwsync() rte_wmb()
+
 #define dcbt_ro(p) __builtin_prefetch(p, 0)
 #define dcbt_rw(p) __builtin_prefetch(p, 1)
 
+#if defined(RTE_ARCH_ARM64)
 #define dcbz(p) { asm volatile("dc zva, %0" : : "r" (p) : "memory"); }
 #define dcbz_64(p) dcbz(p)
-#define hwsync() rte_rmb()
-#define lwsync() rte_wmb()
 #define dcbf(p) { asm volatile("dc cvac, %0" : : "r"(p) : "memory"); }
 #define dcbf_64(p) dcbf(p)
 #define dccivac(p) { asm volatile("dc civac, %0" : : "r"(p) : "memory"); }
@@ -144,9 +147,27 @@ static inline void out_be32(volatile void *__p, u32 val)
 		asm volatile("prfm pldl1keep, [%0, #64]" : : "r" (p));	\
 	} while (0)
 
+#elif defined(RTE_ARCH_ARM)
+#define dcbz(p) memset((p), 0, 32)
+#define dcbz_64(p) memset((p), 0, 64)
+#define dcbf(p)	RTE_SET_USED(p)
+#define dcbf_64(p) dcbf(p)
+#define dccivac(p)	RTE_SET_USED(p)
+#define dcbit_ro(p)	RTE_SET_USED(p)
+
+#else
+#define dcbz(p)	RTE_SET_USED(p)
+#define dcbz_64(p) dcbz(p)
+#define dcbf(p)	RTE_SET_USED(p)
+#define dcbf_64(p) dcbf(p)
+#define dccivac(p)	RTE_SET_USED(p)
+#define dcbit_ro(p)	RTE_SET_USED(p)
+#endif
+
 #define barrier() { asm volatile ("" : : : "memory"); }
 #define cpu_relax barrier
 
+#if defined(RTE_ARCH_ARM64)
 static inline uint64_t mfatb(void)
 {
 	uint64_t ret, ret_new, timeout = 200;
@@ -160,6 +181,11 @@ static inline uint64_t mfatb(void)
 	DPAA_BUG_ON(!timeout && (ret != ret_new));
 	return ret * 64;
 }
+#else
+
+#define mfatb rte_rdtsc
+
+#endif
 
 /* Spin for a few cycles without bothering the bus */
 static inline void cpu_spin(int cycles)
-- 
2.7.4

  parent reply	other threads:[~2018-02-27 17:27 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-27 17:25 [PATCH 0/7] meson build support for dpaaX Hemant Agrawal
2018-02-27 17:25 ` [PATCH 1/7] event/dpaa: fix include header Hemant Agrawal
2018-02-27 17:25 ` [PATCH 2/7] dpaa: prepare for 32 bit compilation Hemant Agrawal
2018-02-27 17:25 ` [PATCH 3/7] dpaa2: " Hemant Agrawal
2018-02-27 17:25 ` [PATCH 4/7] bus/fslmc: add 32 bit functional support for ARM Hemant Agrawal
2018-02-27 17:25 ` Hemant Agrawal [this message]
2018-02-27 17:25 ` [PATCH 6/7] bus/fslmc: enabling dpaa2 compilation for other platforms Hemant Agrawal
2018-02-28 14:45   ` Bruce Richardson
2018-02-28 16:02     ` Hemant Agrawal
2018-02-28 16:33       ` Richardson, Bruce
2018-02-27 17:25 ` [PATCH 7/7] build: add meson support for dpaaX platforms Hemant Agrawal
2018-02-28 14:44   ` Bruce Richardson
2018-03-01  6:10     ` Hemant Agrawal
2018-03-01 14:15       ` Thomas Monjalon
2018-03-09 16:49         ` Thomas Monjalon
2018-03-09 17:42           ` Hemant Agrawal
2018-03-01  7:33 ` [PATCH v2 00/10] meson build support for dpaaX Hemant Agrawal
2018-03-01  7:33   ` [PATCH v2 01/10] event/dpaa: fix include header Hemant Agrawal
2018-03-01  7:33   ` [PATCH v2 02/10] bus/dpaa: fix the BE compilation issue Hemant Agrawal
2018-03-01 12:22     ` Shreyansh Jain
2018-03-01  7:33   ` [PATCH v2 03/10] dpaa: prepare for 32 bit compilation Hemant Agrawal
2018-03-01  7:33   ` [PATCH v2 04/10] dpaa2: " Hemant Agrawal
2018-03-01  7:33   ` [PATCH v2 05/10] bus/fslmc: add 32 bit functional support for ARM Hemant Agrawal
2018-03-01  7:33   ` [PATCH v2 06/10] bus/dpaa: enabling dpaa compilation for other platforms Hemant Agrawal
2018-03-01  7:33   ` [PATCH v2 07/10] bus/fslmc: enabling dpaa2 " Hemant Agrawal
2018-03-01  7:33   ` [PATCH v2 08/10] config: add dpaaX build support in common linuxapp Hemant Agrawal
2018-03-09 17:11     ` Thomas Monjalon
2018-03-09 17:22       ` Hemant Agrawal
2018-03-01  7:33   ` [PATCH v2 09/10] build: add meson support for dpaaX platforms Hemant Agrawal
2018-03-01  7:33   ` [PATCH v2 10/10] build: add meson cross compile config for dpaaX Hemant Agrawal
2018-03-14  7:55   ` [PATCH v3 00/10] meson build support " Hemant Agrawal
2018-03-14  7:55     ` [PATCH v3 01/10] event/dpaa: fix include header Hemant Agrawal
2018-03-14  7:55     ` [PATCH v3 02/10] bus/dpaa: fix the BE compilation issue Hemant Agrawal
2018-03-14  7:55     ` [PATCH v3 03/10] dpaa: prepare for 32 bit compilation Hemant Agrawal
2018-03-14  7:56     ` [PATCH v3 04/10] dpaa2: " Hemant Agrawal
2018-03-14  7:56     ` [PATCH v3 05/10] bus/fslmc: add 32 bit functional support for ARM Hemant Agrawal
2018-03-14  7:56     ` [PATCH v3 06/10] bus/dpaa: enabling dpaa compilation for other platforms Hemant Agrawal
2018-03-14  7:56     ` [PATCH v3 07/10] bus/fslmc: enabling dpaa2 " Hemant Agrawal
2018-03-14  7:56     ` [PATCH v3 08/10] config: add dpaaX build support in common linuxapp Hemant Agrawal
2018-03-14  7:56     ` [PATCH v3 09/10] build: add meson support for dpaaX platforms Hemant Agrawal
2018-03-14  7:56     ` [PATCH v3 10/10] build: add meson cross compile config for dpaaX Hemant Agrawal
2018-03-14  9:08     ` [PATCH v3 00/10] meson build support " Bruce Richardson
2018-03-14  9:12       ` Hemant Agrawal
2018-03-15 17:10     ` Bruce Richardson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1519752352-15442-6-git-send-email-hemant.agrawal@nxp.com \
    --to=hemant.agrawal@nxp.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=shreyansh.jain@nxp.com \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.