Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
e1000_mbx.h File Reference
#include "e1000_hw.h"

Go to the source code of this file.

Macros

#define E1000_P2VMAILBOX_STS   0x00000001 /* Initiate message send to VF */
 
#define E1000_P2VMAILBOX_ACK   0x00000002 /* Ack message recv'd from VF */
 
#define E1000_P2VMAILBOX_VFU   0x00000004 /* VF owns the mailbox buffer */
 
#define E1000_P2VMAILBOX_PFU   0x00000008 /* PF owns the mailbox buffer */
 
#define E1000_P2VMAILBOX_RVFU   0x00000010 /* Reset VFU - used when VF stuck */
 
#define E1000_MBVFICR_VFREQ_MASK   0x000000FF /* bits for VF messages */
 
#define E1000_MBVFICR_VFREQ_VF1   0x00000001 /* bit for VF 1 message */
 
#define E1000_MBVFICR_VFACK_MASK   0x00FF0000 /* bits for VF acks */
 
#define E1000_MBVFICR_VFACK_VF1   0x00010000 /* bit for VF 1 ack */
 
#define E1000_VFMAILBOX_SIZE   16 /* 16 32 bit words - 64 bytes */
 
#define E1000_VT_MSGTYPE_ACK
 
#define E1000_VT_MSGTYPE_NACK
 
#define E1000_VT_MSGTYPE_CTS
 
#define E1000_VT_MSGINFO_SHIFT   16
 
#define E1000_VT_MSGINFO_MASK   (0xFF << E1000_VT_MSGINFO_SHIFT)
 
#define E1000_VF_RESET   0x01 /* VF requests reset */
 
#define E1000_VF_SET_MAC_ADDR   0x02 /* VF requests to set MAC addr */
 
#define E1000_VF_SET_MULTICAST   0x03 /* VF requests to set MC addr */
 
#define E1000_VF_SET_VLAN   0x04 /* VF requests to set VLAN */
 
#define E1000_VF_SET_LPE   0x05 /* VF requests to set VMOLR.LPE */
 
#define E1000_VF_SET_PROMISC   0x06 /*VF requests to clear VMOLR.ROPE/MPME*/
 
#define E1000_VF_SET_PROMISC_MULTICAST   (0x02 << E1000_VT_MSGINFO_SHIFT)
 
#define E1000_PF_CONTROL_MSG   0x0100 /* PF control message */
 

Functions

s32 igb_read_mbx (struct e1000_hw *, u32 *, u16, u16)
 
s32 igb_write_mbx (struct e1000_hw *, u32 *, u16, u16)
 
s32 igb_check_for_msg (struct e1000_hw *, u16)
 
s32 igb_check_for_ack (struct e1000_hw *, u16)
 
s32 igb_check_for_rst (struct e1000_hw *, u16)
 
s32 igb_init_mbx_params_pf (struct e1000_hw *)
 

Macro Definition Documentation

#define E1000_MBVFICR_VFACK_MASK   0x00FF0000 /* bits for VF acks */

Definition at line 41 of file e1000_mbx.h.

#define E1000_MBVFICR_VFACK_VF1   0x00010000 /* bit for VF 1 ack */

Definition at line 42 of file e1000_mbx.h.

#define E1000_MBVFICR_VFREQ_MASK   0x000000FF /* bits for VF messages */

Definition at line 39 of file e1000_mbx.h.

#define E1000_MBVFICR_VFREQ_VF1   0x00000001 /* bit for VF 1 message */

Definition at line 40 of file e1000_mbx.h.

#define E1000_P2VMAILBOX_ACK   0x00000002 /* Ack message recv'd from VF */

Definition at line 34 of file e1000_mbx.h.

#define E1000_P2VMAILBOX_PFU   0x00000008 /* PF owns the mailbox buffer */

Definition at line 36 of file e1000_mbx.h.

#define E1000_P2VMAILBOX_RVFU   0x00000010 /* Reset VFU - used when VF stuck */

Definition at line 37 of file e1000_mbx.h.

#define E1000_P2VMAILBOX_STS   0x00000001 /* Initiate message send to VF */

Definition at line 33 of file e1000_mbx.h.

#define E1000_P2VMAILBOX_VFU   0x00000004 /* VF owns the mailbox buffer */

Definition at line 35 of file e1000_mbx.h.

#define E1000_PF_CONTROL_MSG   0x0100 /* PF control message */

Definition at line 65 of file e1000_mbx.h.

#define E1000_VF_RESET   0x01 /* VF requests reset */

Definition at line 57 of file e1000_mbx.h.

#define E1000_VF_SET_LPE   0x05 /* VF requests to set VMOLR.LPE */

Definition at line 61 of file e1000_mbx.h.

#define E1000_VF_SET_MAC_ADDR   0x02 /* VF requests to set MAC addr */

Definition at line 58 of file e1000_mbx.h.

#define E1000_VF_SET_MULTICAST   0x03 /* VF requests to set MC addr */

Definition at line 59 of file e1000_mbx.h.

#define E1000_VF_SET_PROMISC   0x06 /*VF requests to clear VMOLR.ROPE/MPME*/

Definition at line 62 of file e1000_mbx.h.

#define E1000_VF_SET_PROMISC_MULTICAST   (0x02 << E1000_VT_MSGINFO_SHIFT)

Definition at line 63 of file e1000_mbx.h.

#define E1000_VF_SET_VLAN   0x04 /* VF requests to set VLAN */

Definition at line 60 of file e1000_mbx.h.

#define E1000_VFMAILBOX_SIZE   16 /* 16 32 bit words - 64 bytes */

Definition at line 44 of file e1000_mbx.h.

#define E1000_VT_MSGINFO_MASK   (0xFF << E1000_VT_MSGINFO_SHIFT)

Definition at line 55 of file e1000_mbx.h.

#define E1000_VT_MSGINFO_SHIFT   16

Definition at line 53 of file e1000_mbx.h.

#define E1000_VT_MSGTYPE_ACK
Value:
0x80000000 /* Messages below or'd with
* this are the ACK */

Definition at line 50 of file e1000_mbx.h.

#define E1000_VT_MSGTYPE_CTS
Value:
0x20000000 /* Indicates that VF is still
clear to send requests */

Definition at line 52 of file e1000_mbx.h.

#define E1000_VT_MSGTYPE_NACK
Value:
0x40000000 /* Messages below or'd with
* this are the NACK */

Definition at line 51 of file e1000_mbx.h.

Function Documentation

s32 igb_check_for_ack ( struct e1000_hw hw,
u16  mbx_id 
)

igb_check_for_ack - checks to see if someone sent us ACK : pointer to the HW structure : id of mailbox to check

returns SUCCESS if the Status bit was found or else ERR_MBX

Definition at line 102 of file e1000_mbx.c.

s32 igb_check_for_msg ( struct e1000_hw hw,
u16  mbx_id 
)

igb_check_for_msg - checks to see if someone sent us mail : pointer to the HW structure : id of mailbox to check

returns SUCCESS if the Status bit was found or else ERR_MBX

Definition at line 84 of file e1000_mbx.c.

s32 igb_check_for_rst ( struct e1000_hw hw,
u16  mbx_id 
)

igb_check_for_rst - checks to see if other side has reset : pointer to the HW structure : id of mailbox to check

returns SUCCESS if the Status bit was found or else ERR_MBX

Definition at line 120 of file e1000_mbx.c.

s32 igb_init_mbx_params_pf ( struct e1000_hw hw)

e1000_init_mbx_params_pf - set initial values for pf mailbox : pointer to the HW structure

Initializes the hw->mbx struct to correct values for pf mailbox

Definition at line 421 of file e1000_mbx.c.

s32 igb_read_mbx ( struct e1000_hw hw,
u32 msg,
u16  size,
u16  mbx_id 
)

igb_read_mbx - Reads a message from the mailbox : pointer to the HW structure : The message buffer : Length of buffer : id of mailbox to read

returns SUCCESS if it successfully read message from buffer

Definition at line 39 of file e1000_mbx.c.

s32 igb_write_mbx ( struct e1000_hw hw,
u32 msg,
u16  size,
u16  mbx_id 
)

igb_write_mbx - Write a message to the mailbox : pointer to the HW structure : The message buffer : Length of buffer : id of mailbox to write

returns SUCCESS if it successfully copied message into the buffer

Definition at line 63 of file e1000_mbx.c.