1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright(c) 1999 - 2008 Intel Corporation. */
3 
4 /* glue for the OS independent part of ixgb
5  * includes register access macros
6  */
7 
8 #ifndef _IXGB_OSDEP_H_
9 #define _IXGB_OSDEP_H_
10 
11 #include <linux/types.h>
12 #include <linux/delay.h>
13 #include <asm/io.h>
14 #include <linux/interrupt.h>
15 #include <linux/sched.h>
16 #include <linux/if_ether.h>
17 
18 #undef ASSERT
19 #define ASSERT(x)	BUG_ON(!(x))
20 
21 #define ENTER() pr_debug("%s\n", __func__);
22 
23 #define IXGB_WRITE_REG(a, reg, value) ( \
24 	writel((value), ((a)->hw_addr + IXGB_##reg)))
25 
26 #define IXGB_READ_REG(a, reg) ( \
27 	readl((a)->hw_addr + IXGB_##reg))
28 
29 #define IXGB_WRITE_REG_ARRAY(a, reg, offset, value) ( \
30 	writel((value), ((a)->hw_addr + IXGB_##reg + ((offset) << 2))))
31 
32 #define IXGB_READ_REG_ARRAY(a, reg, offset) ( \
33 	readl((a)->hw_addr + IXGB_##reg + ((offset) << 2)))
34 
35 #define IXGB_WRITE_FLUSH(a) IXGB_READ_REG(a, STATUS)
36 
37 #define IXGB_MEMCPY memcpy
38 
39 #endif /* _IXGB_OSDEP_H_ */
40