xref: /dpdk/drivers/common/ionic/ionic_osdep.h (revision 484027bf9452e784b2680ac4c2af3bb920ff6521)
1*484027bfSAndrew Boyer /* SPDX-License-Identifier: BSD-3-Clause
2*484027bfSAndrew Boyer  * Copyright 2018-2024 Advanced Micro Devices, Inc.
3*484027bfSAndrew Boyer  */
4*484027bfSAndrew Boyer 
5*484027bfSAndrew Boyer #ifndef _IONIC_OSDEP_
6*484027bfSAndrew Boyer #define _IONIC_OSDEP_
7*484027bfSAndrew Boyer 
8*484027bfSAndrew Boyer #include <stdint.h>
9*484027bfSAndrew Boyer #include <stdarg.h>
10*484027bfSAndrew Boyer 
11*484027bfSAndrew Boyer #include <rte_common.h>
12*484027bfSAndrew Boyer #include <rte_io.h>
13*484027bfSAndrew Boyer #include <rte_byteorder.h>
14*484027bfSAndrew Boyer 
15*484027bfSAndrew Boyer #define BIT(nr)		(1UL << (nr))
16*484027bfSAndrew Boyer #define BIT_ULL(nr)	(1ULL << (nr))
17*484027bfSAndrew Boyer 
18*484027bfSAndrew Boyer #define __iomem
19*484027bfSAndrew Boyer 
20*484027bfSAndrew Boyer typedef uint8_t  u8;
21*484027bfSAndrew Boyer typedef uint16_t u16;
22*484027bfSAndrew Boyer typedef uint32_t u32;
23*484027bfSAndrew Boyer typedef uint64_t u64;
24*484027bfSAndrew Boyer 
25*484027bfSAndrew Boyer #ifndef __le16
26*484027bfSAndrew Boyer #define __le16 uint16_t
27*484027bfSAndrew Boyer #endif
28*484027bfSAndrew Boyer #ifndef __le32
29*484027bfSAndrew Boyer #define __le32 uint32_t
30*484027bfSAndrew Boyer #endif
31*484027bfSAndrew Boyer #ifndef __le64
32*484027bfSAndrew Boyer #define __le64 uint64_t
33*484027bfSAndrew Boyer #endif
34*484027bfSAndrew Boyer 
35*484027bfSAndrew Boyer #define ioread8(reg)		rte_read8(reg)
36*484027bfSAndrew Boyer #define ioread32(reg)		rte_read32(rte_le_to_cpu_32(reg))
37*484027bfSAndrew Boyer #define iowrite8(value, reg)	rte_write8(value, reg)
38*484027bfSAndrew Boyer #define iowrite32(value, reg)	rte_write32(rte_cpu_to_le_32(value), reg)
39*484027bfSAndrew Boyer 
40*484027bfSAndrew Boyer #endif /* _IONIC_OSDEP_ */
41