0001
0002
0003
0004 #ifndef _E1000_MBX_H_
0005 #define _E1000_MBX_H_
0006
0007 #include "vf.h"
0008
0009 #define E1000_V2PMAILBOX_REQ 0x00000001
0010 #define E1000_V2PMAILBOX_ACK 0x00000002
0011 #define E1000_V2PMAILBOX_VFU 0x00000004
0012 #define E1000_V2PMAILBOX_PFU 0x00000008
0013 #define E1000_V2PMAILBOX_PFSTS 0x00000010
0014 #define E1000_V2PMAILBOX_PFACK 0x00000020
0015 #define E1000_V2PMAILBOX_RSTI 0x00000040
0016 #define E1000_V2PMAILBOX_RSTD 0x00000080
0017 #define E1000_V2PMAILBOX_R2C_BITS 0x000000B0
0018
0019 #define E1000_VFMAILBOX_SIZE 16
0020
0021
0022
0023
0024
0025
0026 #define E1000_VT_MSGTYPE_ACK 0x80000000
0027
0028 #define E1000_VT_MSGTYPE_NACK 0x40000000
0029
0030 #define E1000_VT_MSGTYPE_CTS 0x20000000
0031
0032
0033 #define E1000_VF_MBX_INIT_TIMEOUT 2000
0034 #define E1000_VF_MBX_INIT_DELAY 500
0035
0036 #define E1000_VT_MSGINFO_SHIFT 16
0037
0038 #define E1000_VT_MSGINFO_MASK (0xFF << E1000_VT_MSGINFO_SHIFT)
0039
0040 #define E1000_VF_RESET 0x01
0041 #define E1000_VF_SET_MAC_ADDR 0x02
0042
0043 #define E1000_VF_MAC_FILTER_CLR (0x01 << E1000_VT_MSGINFO_SHIFT)
0044
0045 #define E1000_VF_MAC_FILTER_ADD (0x02 << E1000_VT_MSGINFO_SHIFT)
0046 #define E1000_VF_SET_MULTICAST 0x03
0047 #define E1000_VF_SET_VLAN 0x04
0048 #define E1000_VF_SET_LPE 0x05
0049
0050 #define E1000_PF_CONTROL_MSG 0x0100
0051
0052 void e1000_init_mbx_ops_generic(struct e1000_hw *hw);
0053 s32 e1000_init_mbx_params_vf(struct e1000_hw *);
0054
0055 #endif