1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34#ifndef _E1000_OSDEP_H_
35#define _E1000_OSDEP_H_
36
37#include <linux/types.h>
38#include <linux/pci.h>
39#include <linux/delay.h>
40#include <asm/io.h>
41#include <linux/interrupt.h>
42#include <linux/sched.h>
43
44#ifdef DBG
45#define DEBUGOUT(S) printk(KERN_DEBUG S "\n")
46#define DEBUGOUT1(S, A...) printk(KERN_DEBUG S "\n", A)
47#else
48#define DEBUGOUT(S)
49#define DEBUGOUT1(S, A...)
50#endif
51
52#define DEBUGFUNC(F) DEBUGOUT(F "\n")
53#define DEBUGOUT2 DEBUGOUT1
54#define DEBUGOUT3 DEBUGOUT2
55#define DEBUGOUT7 DEBUGOUT3
56
57
58#define er32(reg) \
59 (readl(hw->hw_addr + ((hw->mac_type >= e1000_82543) \
60 ? E1000_##reg : E1000_82542_##reg)))
61
62#define ew32(reg, value) \
63 (writel((value), (hw->hw_addr + ((hw->mac_type >= e1000_82543) \
64 ? E1000_##reg : E1000_82542_##reg))))
65
66#define E1000_WRITE_REG_ARRAY(a, reg, offset, value) ( \
67 writel((value), ((a)->hw_addr + \
68 (((a)->mac_type >= e1000_82543) ? E1000_##reg : E1000_82542_##reg) + \
69 ((offset) << 2))))
70
71#define E1000_READ_REG_ARRAY(a, reg, offset) ( \
72 readl((a)->hw_addr + \
73 (((a)->mac_type >= e1000_82543) ? E1000_##reg : E1000_82542_##reg) + \
74 ((offset) << 2)))
75
76#define E1000_READ_REG_ARRAY_DWORD E1000_READ_REG_ARRAY
77#define E1000_WRITE_REG_ARRAY_DWORD E1000_WRITE_REG_ARRAY
78
79#define E1000_WRITE_REG_ARRAY_WORD(a, reg, offset, value) ( \
80 writew((value), ((a)->hw_addr + \
81 (((a)->mac_type >= e1000_82543) ? E1000_##reg : E1000_82542_##reg) + \
82 ((offset) << 1))))
83
84#define E1000_READ_REG_ARRAY_WORD(a, reg, offset) ( \
85 readw((a)->hw_addr + \
86 (((a)->mac_type >= e1000_82543) ? E1000_##reg : E1000_82542_##reg) + \
87 ((offset) << 1)))
88
89#define E1000_WRITE_REG_ARRAY_BYTE(a, reg, offset, value) ( \
90 writeb((value), ((a)->hw_addr + \
91 (((a)->mac_type >= e1000_82543) ? E1000_##reg : E1000_82542_##reg) + \
92 (offset))))
93
94#define E1000_READ_REG_ARRAY_BYTE(a, reg, offset) ( \
95 readb((a)->hw_addr + \
96 (((a)->mac_type >= e1000_82543) ? E1000_##reg : E1000_82542_##reg) + \
97 (offset)))
98
99#define E1000_WRITE_FLUSH() er32(STATUS)
100
101#define E1000_WRITE_ICH_FLASH_REG(a, reg, value) ( \
102 writel((value), ((a)->flash_address + reg)))
103
104#define E1000_READ_ICH_FLASH_REG(a, reg) ( \
105 readl((a)->flash_address + reg))
106
107#define E1000_WRITE_ICH_FLASH_REG16(a, reg, value) ( \
108 writew((value), ((a)->flash_address + reg)))
109
110#define E1000_READ_ICH_FLASH_REG16(a, reg) ( \
111 readw((a)->flash_address + reg))
112
113#endif
114