xref: /f-stack/dpdk/drivers/net/ionic/ionic_osdep.h (revision 2d9fd380)
1*2d9fd380Sjfb8856606 /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
2*2d9fd380Sjfb8856606  * Copyright(c) 2018-2019 Pensando Systems, Inc. All rights reserved.
3*2d9fd380Sjfb8856606  */
4*2d9fd380Sjfb8856606 
5*2d9fd380Sjfb8856606 #ifndef _IONIC_OSDEP_
6*2d9fd380Sjfb8856606 #define _IONIC_OSDEP_
7*2d9fd380Sjfb8856606 
8*2d9fd380Sjfb8856606 #include <string.h>
9*2d9fd380Sjfb8856606 #include <stdint.h>
10*2d9fd380Sjfb8856606 #include <stdio.h>
11*2d9fd380Sjfb8856606 #include <stdarg.h>
12*2d9fd380Sjfb8856606 
13*2d9fd380Sjfb8856606 #include <rte_common.h>
14*2d9fd380Sjfb8856606 #include <rte_debug.h>
15*2d9fd380Sjfb8856606 #include <rte_cycles.h>
16*2d9fd380Sjfb8856606 #include <rte_log.h>
17*2d9fd380Sjfb8856606 #include <rte_byteorder.h>
18*2d9fd380Sjfb8856606 #include <rte_io.h>
19*2d9fd380Sjfb8856606 #include <rte_memory.h>
20*2d9fd380Sjfb8856606 
21*2d9fd380Sjfb8856606 #include "ionic_logs.h"
22*2d9fd380Sjfb8856606 
23*2d9fd380Sjfb8856606 #define DELAY(x) rte_delay_us(x)
24*2d9fd380Sjfb8856606 #define usec_delay(x) DELAY(x)
25*2d9fd380Sjfb8856606 #define msec_delay(x) DELAY(1000 * (x))
26*2d9fd380Sjfb8856606 
27*2d9fd380Sjfb8856606 #define BIT(nr)            (1UL << (nr))
28*2d9fd380Sjfb8856606 #define BIT_ULL(nr)        (1ULL << (nr))
29*2d9fd380Sjfb8856606 #define BITS_TO_LONGS(nr)  div_round_up(nr, 8 * sizeof(long))
30*2d9fd380Sjfb8856606 
31*2d9fd380Sjfb8856606 #ifndef PAGE_SHIFT
32*2d9fd380Sjfb8856606 #define PAGE_SHIFT      12
33*2d9fd380Sjfb8856606 #define PAGE_SIZE       (1 << PAGE_SHIFT)
34*2d9fd380Sjfb8856606 #endif
35*2d9fd380Sjfb8856606 
36*2d9fd380Sjfb8856606 #define __iomem
37*2d9fd380Sjfb8856606 
38*2d9fd380Sjfb8856606 typedef uint8_t	 u8;
39*2d9fd380Sjfb8856606 typedef uint16_t u16;
40*2d9fd380Sjfb8856606 typedef uint32_t u32;
41*2d9fd380Sjfb8856606 typedef uint64_t u64;
42*2d9fd380Sjfb8856606 
43*2d9fd380Sjfb8856606 typedef uint16_t __le16;
44*2d9fd380Sjfb8856606 typedef uint32_t __le32;
45*2d9fd380Sjfb8856606 typedef uint64_t __le64;
46*2d9fd380Sjfb8856606 
div_round_up(uint32_t n,uint32_t d)47*2d9fd380Sjfb8856606 static inline uint32_t div_round_up(uint32_t n, uint32_t d)
48*2d9fd380Sjfb8856606 {
49*2d9fd380Sjfb8856606 	return (n + d - 1) / d;
50*2d9fd380Sjfb8856606 }
51*2d9fd380Sjfb8856606 
52*2d9fd380Sjfb8856606 #define ioread8(reg)		rte_read8(reg)
53*2d9fd380Sjfb8856606 #define ioread32(reg)		rte_read32(reg)
54*2d9fd380Sjfb8856606 #define iowrite8(value, reg)	rte_write8(value, reg)
55*2d9fd380Sjfb8856606 #define iowrite32(value, reg)	rte_write32(value, reg)
56*2d9fd380Sjfb8856606 #define writeq(value, reg)	rte_write64(value, reg)
57*2d9fd380Sjfb8856606 
58*2d9fd380Sjfb8856606 #endif
59