18#include <rte_compat.h>
30#define RTE_BIT64(nr) (UINT64_C(1) << (nr))
38#define RTE_BIT32(nr) (UINT32_C(1) << (nr))
61 uint32_t mask = UINT32_C(1) << nr;
62 return (*addr) & mask;
83 *addr = (*addr) | mask;
104 *addr = (*addr) & (~mask);
122static inline uint32_t
128 uint32_t val = *addr;
148static inline uint32_t
154 uint32_t val = *addr;
155 *addr = val & (~mask);
175static inline uint64_t
181 return (*addr) & mask;
202 (*addr) = (*addr) | mask;
223 *addr = (*addr) & (~mask);
241static inline uint64_t
247 uint64_t val = *addr;
267static inline uint64_t
273 uint64_t val = *addr;
274 *addr = val & (~mask);
static __rte_experimental void rte_bit_relaxed_set64(unsigned int nr, volatile uint64_t *addr)
static __rte_experimental uint64_t rte_bit_relaxed_test_and_set64(unsigned int nr, volatile uint64_t *addr)
static __rte_experimental uint32_t rte_bit_relaxed_get32(unsigned int nr, volatile uint32_t *addr)
static __rte_experimental uint64_t rte_bit_relaxed_test_and_clear64(unsigned int nr, volatile uint64_t *addr)
static __rte_experimental void rte_bit_relaxed_clear32(unsigned int nr, volatile uint32_t *addr)
static __rte_experimental void rte_bit_relaxed_clear64(unsigned int nr, volatile uint64_t *addr)
static __rte_experimental uint64_t rte_bit_relaxed_get64(unsigned int nr, volatile uint64_t *addr)
static __rte_experimental uint32_t rte_bit_relaxed_test_and_set32(unsigned int nr, volatile uint32_t *addr)
static __rte_experimental uint32_t rte_bit_relaxed_test_and_clear32(unsigned int nr, volatile uint32_t *addr)
static __rte_experimental void rte_bit_relaxed_set32(unsigned int nr, volatile uint32_t *addr)