enum velocity_cam_type cam_type)
No. | 名称 | 属性 | 説明 |
---|---|---|---|
1 |
velocity_cam_type cam_type) | ||
int i; BYTE_REG_BITS_SET(CAMCR_PS_CAM_MASK | |||
CAMCR_PS1 | CAMCR_PS0 | |||
®s->CAMCR); if (cam_type = | = VELOCITY_VLAN_ID_CAM) writeb(CAMADDR_VCAMSL | ||
®s->CAMADDR); else writeb(0 | |||
®s->CAMADDR); for (i = 0; i < 8; i++) *mask++ | 0; i < 8; i++) *mask++ = readb(&(regs->MARCAM[i])); writeb(0 | ||
®s->CAMADDR); BYTE_REG_BITS_SET(CAMCR_PS_MAR | |||
CAMCR_PS1 | CAMCR_PS0 | |||
®s->CAMCR); } static inline void mac_set_cam_mask | |||
u8 * mask | |||
enum velocity_cam_type cam_type) { int i; BYTE_REG_BITS_SET(CA | |||
CAMCR_PS1 | CAMCR_PS0 | |||
®s->CAMCR); if (cam_type = | = VELOCITY_VLAN_ID_CAM) writeb(CAMADDR_CAMEN | CAMADDR_VCAMSL | ||
®s->CAMADDR); else writeb(CAMADDR_CAMEN | |||
®s->CAMADDR); for (i | 0; i < 8; i++) { writeb(*mask++ | ||
&(regs->MARCAM[i])); } writeb(0 | |||
®s->CAMADDR); BYTE_REG_BITS_SET(CAMCR_PS_MAR | |||
CAMCR_PS1 | CAMCR_PS0 | |||
®s->CAMCR); } static inline void mac_set_cam(stru | |||
int idx | |||
u8 * addr | |||
enum velocity_cam_type cam_type) { int i; BYTE_REG_BITS_SET(C | |||
CAMCR_PS1 | CAMCR_PS0 | |||
®s->CAMCR); idx &= (64 - 1); if (cam_type = | (64 - 1); if (cam_type == VELOCITY_VLAN_ID_CAM) writeb(CAMADDR_CAMEN | CAMADDR_VCAMSL | idx | ||
®s->CAMADDR); else writeb(CAMADDR_CAMEN | idx | |||
®s->CAMADDR); if (cam_type = | = VELOCITY_VLAN_ID_CAM) writew(*((u16 *) addr) | ||
®s->MARCAM[0]); else { for (i | 0; i < 6; i++) { writeb(*addr++ | ||
&(regs->MARCAM[i])); } } BYTE_REG_BITS_ON(CAMCR_CAMWR | |||
®s->CAMCR); udelay(10); writeb(0 | |||
®s->CAMADDR); BYTE_REG_BITS_SET(CAMCR_PS_MAR | |||
CAMCR_PS1 | CAMCR_PS0 | |||
®s->CAMCR); } static inline void mac_get_cam(str | |||
int idx | |||
u8 * addr | |||
enum velocity_cam_type cam_type) { int i; BYTE_REG_BITS_SET(C | |||
CAMCR_PS1 | CAMCR_PS0 | |||
®s->CAMCR); idx &= (64 - 1); if (cam_type = | (64 - 1); if (cam_type == VELOCITY_VLAN_ID_CAM) writeb(CAMADDR_CAMEN | CAMADDR_VCAMSL | idx | ||
®s->CAMADDR); else writeb(CAMADDR_CAMEN | idx | |||
®s->CAMADDR); BYTE_REG_BITS_ON(CAMCR_CAMRD | |||
®s->CAMCR); udelay(10); if (cam_type == VELOCITY_VLAN_ID_C | = VELOCITY_VLAN_ID_CAM) *((u16 *) addr) = readw(&(regs->MARCAM[0])); else for (i = 0 | ||
addr++) *((u8 *) addr) | readb(&(regs->MARCAM[i])); writeb(0 | ||
®s->CAMADDR); BYTE_REG_BITS_SET(CAMCR_PS_MAR | |||
CAMCR_PS1 | CAMCR_PS0 | |||
®s->CAMCR); } inline static void mac_wol_reset(str | |||
®s->STICKHW); BYTE_REG_BITS_OFF((STICKHW_DS1 | STICKHW_DS0) | |||
®s->STICKHW); BYTE_REG_BITS_OFF(CHIPGCR_FCGMII | |||
®s->CHIPGCR); BYTE_REG_BITS_OFF(CHIPGCR_FCMODE | |||
®s->CHIPGCR); writeb(WOLCFG_PMEOVR | |||
®s->WOLCFGClr); writew(0xFFFF | |||
®s->WOLCRClr); writew(0xFFFF | |||
®s->WOLSRClr); |
目次 | ファイル一覧 | 関数一覧 | ネームスペース一覧 | クラス一覧 | #define一覧 | マクロ一覧 | 外部変数一覧 | 構造体一覧 | 共用体一覧 | 列挙体一覧 | Const一覧 | 索引 | サイドメニュー