1
2
3
4 #ifndef _E1000_MBX_H_
5 #define _E1000_MBX_H_
6
7 #include "vf.h"
8
9 #define E1000_V2PMAILBOX_REQ 0x00000001
10 #define E1000_V2PMAILBOX_ACK 0x00000002
11 #define E1000_V2PMAILBOX_VFU 0x00000004
12 #define E1000_V2PMAILBOX_PFU 0x00000008
13 #define E1000_V2PMAILBOX_PFSTS 0x00000010
14 #define E1000_V2PMAILBOX_PFACK 0x00000020
15 #define E1000_V2PMAILBOX_RSTI 0x00000040
16 #define E1000_V2PMAILBOX_RSTD 0x00000080
17 #define E1000_V2PMAILBOX_R2C_BITS 0x000000B0
18
19 #define E1000_VFMAILBOX_SIZE 16
20
21
22
23
24
25
26 #define E1000_VT_MSGTYPE_ACK 0x80000000
27
28 #define E1000_VT_MSGTYPE_NACK 0x40000000
29
30 #define E1000_VT_MSGTYPE_CTS 0x20000000
31
32
33 #define E1000_VF_MBX_INIT_TIMEOUT 2000
34 #define E1000_VF_MBX_INIT_DELAY 500
35
36 #define E1000_VT_MSGINFO_SHIFT 16
37
38 #define E1000_VT_MSGINFO_MASK (0xFF << E1000_VT_MSGINFO_SHIFT)
39
40 #define E1000_VF_RESET 0x01
41 #define E1000_VF_SET_MAC_ADDR 0x02
42
43 #define E1000_VF_MAC_FILTER_CLR (0x01 << E1000_VT_MSGINFO_SHIFT)
44
45 #define E1000_VF_MAC_FILTER_ADD (0x02 << E1000_VT_MSGINFO_SHIFT)
46 #define E1000_VF_SET_MULTICAST 0x03
47 #define E1000_VF_SET_VLAN 0x04
48 #define E1000_VF_SET_LPE 0x05
49
50 #define E1000_PF_CONTROL_MSG 0x0100
51
52 void e1000_init_mbx_ops_generic(struct e1000_hw *hw);
53 s32 e1000_init_mbx_params_vf(struct e1000_hw *);
54
55 #endif