29#define E1000_P2VMAILBOX_STS 0x00000001
30#define E1000_P2VMAILBOX_ACK 0x00000002
31#define E1000_P2VMAILBOX_VFU 0x00000004
32#define E1000_P2VMAILBOX_PFU 0x00000008
33#define E1000_P2VMAILBOX_RVFU 0x00000010
35#define E1000_MBVFICR_VFREQ_MASK 0x000000FF
36#define E1000_MBVFICR_VFREQ_VF1 0x00000001
37#define E1000_MBVFICR_VFACK_MASK 0x00FF0000
38#define E1000_MBVFICR_VFACK_VF1 0x00010000
40#define E1000_VFMAILBOX_SIZE 16
47#define E1000_VT_MSGTYPE_ACK 0x80000000
49#define E1000_VT_MSGTYPE_NACK 0x40000000
51#define E1000_VT_MSGTYPE_CTS 0x20000000
52#define E1000_VT_MSGINFO_SHIFT 16
54#define E1000_VT_MSGINFO_MASK (0xFF << E1000_VT_MSGINFO_SHIFT)
56#define E1000_VF_RESET 0x01
57#define E1000_VF_SET_MAC_ADDR 0x02
58#define E1000_VF_SET_MULTICAST 0x03
59#define E1000_VF_SET_VLAN 0x04
60#define E1000_VF_SET_LPE 0x05
61#define E1000_VF_SET_PROMISC 0x06
62#define E1000_VF_SET_PROMISC_MULTICAST (0x02 << E1000_VT_MSGINFO_SHIFT)
64#define E1000_PF_CONTROL_MSG 0x0100
66s32 igb_read_mbx(
struct e1000_hw *, u32 *, u16, u16);
67s32 igb_write_mbx(
struct e1000_hw *, u32 *, u16, u16);
68s32 igb_check_for_msg(
struct e1000_hw *, u16);
69s32 igb_check_for_ack(
struct e1000_hw *, u16);
70s32 igb_check_for_rst(
struct e1000_hw *, u16);
71s32 igb_init_mbx_params_pf(
struct e1000_hw *);