00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 FILE_LICENCE ( GPL2_OR_LATER );
00030
00031
00032
00033
00034
00035 #ifndef _E1000_OSDEP_H_
00036 #define _E1000_OSDEP_H_
00037
00038 #define u8 unsigned char
00039 #define bool boolean_t
00040 #define dma_addr_t unsigned long
00041 #define __le16 uint16_t
00042 #define __le32 uint32_t
00043 #define __le64 uint64_t
00044
00045 #define __iomem
00046
00047 #define ETH_FCS_LEN 4
00048
00049 typedef int spinlock_t;
00050 typedef enum {
00051 false = 0,
00052 true = 1
00053 } boolean_t;
00054
00055 #define usec_delay(x) udelay(x)
00056 #define msec_delay(x) mdelay(x)
00057 #define msec_delay_irq(x) mdelay(x)
00058
00059 #define PCI_COMMAND_REGISTER PCI_COMMAND
00060 #define CMD_MEM_WRT_INVALIDATE PCI_COMMAND_INVALIDATE
00061 #define ETH_ADDR_LEN ETH_ALEN
00062
00063 #define DEBUGFUNC(F) DBG(F "\n")
00064
00065 #define DEBUGOUT(S) DBG(S)
00066 #define DEBUGOUT1(S, A...) DBG(S, A)
00067
00068 #define DEBUGOUT2 DEBUGOUT1
00069 #define DEBUGOUT3 DEBUGOUT2
00070 #define DEBUGOUT7 DEBUGOUT3
00071
00072 #define E1000_REGISTER(a, reg) (((a)->mac.type >= e1000_82543) \
00073 ? reg \
00074 : e1000_translate_register_82542(reg))
00075
00076 #define E1000_WRITE_REG(a, reg, value) \
00077 writel((value), ((a)->hw_addr + E1000_REGISTER(a, reg)))
00078
00079 #define E1000_READ_REG(a, reg) (readl((a)->hw_addr + E1000_REGISTER(a, reg)))
00080
00081 #define E1000_WRITE_REG_ARRAY(a, reg, offset, value) \
00082 writel((value), ((a)->hw_addr + E1000_REGISTER(a, reg) + ((offset) << 2)))
00083
00084 #define E1000_READ_REG_ARRAY(a, reg, offset) ( \
00085 readl((a)->hw_addr + E1000_REGISTER(a, reg) + ((offset) << 2)))
00086
00087 #define E1000_READ_REG_ARRAY_DWORD E1000_READ_REG_ARRAY
00088 #define E1000_WRITE_REG_ARRAY_DWORD E1000_WRITE_REG_ARRAY
00089
00090 #define E1000_WRITE_REG_ARRAY_WORD(a, reg, offset, value) ( \
00091 writew((value), ((a)->hw_addr + E1000_REGISTER(a, reg) + ((offset) << 1))))
00092
00093 #define E1000_READ_REG_ARRAY_WORD(a, reg, offset) ( \
00094 readw((a)->hw_addr + E1000_REGISTER(a, reg) + ((offset) << 1)))
00095
00096 #define E1000_WRITE_REG_ARRAY_BYTE(a, reg, offset, value) ( \
00097 writeb((value), ((a)->hw_addr + E1000_REGISTER(a, reg) + (offset))))
00098
00099 #define E1000_READ_REG_ARRAY_BYTE(a, reg, offset) ( \
00100 readb((a)->hw_addr + E1000_REGISTER(a, reg) + (offset)))
00101
00102 #define E1000_WRITE_REG_IO(a, reg, offset) do { \
00103 outl(reg, ((a)->io_base)); \
00104 outl(offset, ((a)->io_base + 4)); } while(0)
00105
00106 #define E1000_WRITE_FLUSH(a) E1000_READ_REG(a, E1000_STATUS)
00107
00108 #define E1000_WRITE_FLASH_REG(a, reg, value) ( \
00109 writel((value), ((a)->flash_address + reg)))
00110
00111 #define E1000_WRITE_FLASH_REG16(a, reg, value) ( \
00112 writew((value), ((a)->flash_address + reg)))
00113
00114 #define E1000_READ_FLASH_REG(a, reg) (readl((a)->flash_address + reg))
00115
00116 #define E1000_READ_FLASH_REG16(a, reg) (readw((a)->flash_address + reg))
00117
00118 #endif