📄 wt_init.h
字号:
/* Copyright (C) 2005 LHWT Inc. */#ifndef WT4_INIT_H#define WT4_INIT_H /*resources for wt4*/#define wt4_io_size 8#define wt4_eeprom_size 256#define wt4_mainmem_size 65536#define base_address_0 0x010#define base_address_1 0x014#define base_address_2 0x018#define BYTE_OP 1#define WORD_OP 2#define DWORD_OP 4#define LLWORD_OP 8#define WRITE_WT4( __offset , __data, __bytes/*byte number*/ ) {\ if( __bytes == DWORD_OP )\ {\ writel((unsigned int)(__data),(volatile unsigned int *)((unsigned char *)(Adapter->MainMemAddress)+ __offset ));\ }\ else if( __bytes == WORD_OP ){\ writew((unsigned short)(__data),(volatile unsigned short *)((unsigned char *)(Adapter->MainMemAddress)+ __offset ));\ }\ else{\ writeb((unsigned char)__data,(volatile unsigned char *)((unsigned char *)(Adapter->MainMemAddress)+ __offset ));\ }\ udelay(SWITCH_CHANNEL_DELAY);}#define READ_WT4( __offset, __data, __bytes) {\ if( __bytes == DWORD_OP )\ {\ __data = readl((volatile unsigned int *)((unsigned char *)(Adapter->MainMemAddress)+ __offset ) );\ }\ else if( __bytes == WORD_OP ){\ __data = readw((volatile unsigned short *)((unsigned char *)(Adapter->MainMemAddress)+ __offset ) );\ }\ else{\ __data = readb((volatile unsigned char *)((unsigned char *)(Adapter->MainMemAddress)+ __offset ) );\ }\ udelay(SWITCH_CHANNEL_DELAY);} #define WRITE64_WT4( __offset , __data ) {\ {\ writel((unsigned int)(((unsigned long long)(__data))&0xFFFFFFFF),(volatile unsigned int *)((unsigned char *)(Adapter->MainMemAddress)+ __offset ));\ udelay(SWITCH_CHANNEL_DELAY);\ writel((unsigned int)((((unsigned long long)(__data))>>32)&0xFFFFFFFF),(volatile unsigned int *)((unsigned char *)(Adapter->MainMemAddress)+ __offset + 4 ));\ }\ udelay(SWITCH_CHANNEL_DELAY);}#define READ64_WT4( __offset , __data ) {\ {\ __data = 0ull;\ udelay(SWITCH_CHANNEL_DELAY);\ __data |= readl((volatile unsigned int *)((unsigned char *)(Adapter->MainMemAddress)+ __offset + 4) );\ __data <<=32;\ __data |= readl((volatile unsigned int *)((unsigned char *)(Adapter->MainMemAddress)+ __offset) );\ udelay(SWITCH_CHANNEL_DELAY);\ }\ udelay(SWITCH_CHANNEL_DELAY);}/* for big endin;#define WRITE_WT4( __offset , __data, __bytes ) {\ if( __bytes == DWORD_OP )\ {\ writel((unsigned int)(host2ieee32(__data)),(volatile unsigned int *)((unsigned char *)(Adapter->MainMemAddress)+ __offset ));\ }\ else if( __bytes == WORD_OP ){\ writew((unsigned short)(host2ieee16(__data)),(volatile unsigned short *)((unsigned char *)(Adapter->MainMemAddress)+ __offset ));\ }\ else{\ writeb((unsigned char)__data,(volatile unsigned char *)((unsigned char *)(Adapter->MainMemAddress)+ __offset ));\ }\ udelay(SWITCH_CHANNEL_DELAY);}#define READ_WT4( __offset, __data, __bytes) {\ if( __bytes == DWORD_OP )\ {\ __data = ieee2host32( readl((volatile unsigned int *)((unsigned char *)(Adapter->MainMemAddress)+ __offset ) ));\ }\ else if( __bytes == WORD_OP ){\ __data = ieee2host16( readw((volatile unsigned short *)((unsigned char *)(Adapter->MainMemAddress)+ __offset ) ));\ }\ else{\ __data = readb((volatile unsigned char *)((unsigned char *)(Adapter->MainMemAddress)+ __offset ) );\ }\ udelay(SWITCH_CHANNEL_DELAY);}*/void WtDisableInterrupts(WT_ADAPTER *);void WtClearInterrupts(WT_ADAPTER *Adapter);void WtEnableInterrupts(WT_ADAPTER *); void Dump(CHAR* p, ULONG cb, BOOL fAddress, ULONG ulGroup); //print datavoid DumpLine(UCHAR* p, ULONG cb, BOOL fAddress, ULONG ulGroup); void WtInitList(WT_ADAPTER *Adapter);void WtSoftParaInit( IN PWT_ADAPTER Adapter);BOOL WtInitSend(WT_ADAPTER *Adapter);BOOL NICInitRecv(IN PWT_ADAPTER Adapter);#endif /* WT4_INIT_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -