1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2010-2018 Intel Corporation
12 #include "osdep_rte/osdep_generic.h"
14 #include "osdep_raw/osdep_generic.h"
25 typedef uint64_t dma_addr_t;
33 #define BITS_PER_LONG (__SIZEOF_LONG__ * 8)
35 #ifndef BITS_PER_LONG_LONG
36 #define BITS_PER_LONG_LONG (__SIZEOF_LONG_LONG__ * 8)
39 #define BIT(a) (1UL << (a))
42 #define BIT_ULL(a) (1ULL << (a))
45 #define GENMASK(h, l) (((~0UL) << (l)) & (~0UL >> (BITS_PER_LONG - 1 - (h))))
48 #define GENMASK_ULL(h, l) \
49 (((~0ULL) << (l)) & (~0ULL >> (BITS_PER_LONG_LONG - 1 - (h))))
50 #endif /* GENMASK_ULL */
51 #endif /* LINUX_MACROS */
53 #define SET_FIELD(m, v) (((v) << (__builtin_ffsll(m) - 1)) & (m))
54 #define GET_FIELD(m, v) (((v) & (m)) >> (__builtin_ffsll(m) - 1))
56 #define dev_err(x, args...) dev_printf(ERR, args)
57 #define dev_info(x, args...) dev_printf(INFO, args)
58 #define dev_warn(x, args...) dev_printf(WARNING, args)
59 #define dev_debug(x, args...) dev_printf(DEBUG, args)
61 #define pr_err(y, args...) dev_err(0, y, ##args)
62 #define pr_warn(y, args...) dev_warn(0, y, ##args)
63 #define pr_info(y, args...) dev_info(0, y, ##args)
66 #define WARN_ON(x) do { \
69 pr_warn("WARN_ON: \"" #x "\" at %s:%d\n", __func__, __LINE__); \
73 #define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
74 #define udelay(x) opae_udelay(x)
75 #define msleep(x) opae_udelay(1000 * (x))
76 #define usleep_range(min, max) msleep(DIV_ROUND_UP(min, 1000))
78 #define time_after(a, b) ((long)((b) - (a)) < 0)
79 #define time_before(a, b) time_after(b, a)
80 #define opae_memset(a, b, c) memset((a), (b), (c))
82 #define opae_readq_poll_timeout(addr, val, cond, invl, timeout)\
85 for (; wait <= timeout; wait += invl) { \
86 (val) = opae_readq(addr); \
91 (cond) ? 0 : -ETIMEDOUT; \