Print this page
6064 ixgbe needs X550 support
*** 1,8 ****
/******************************************************************************
! Copyright (c) 2001-2012, Intel Corporation
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
--- 1,8 ----
/******************************************************************************
! Copyright (c) 2001-2015, Intel Corporation
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
*** 78,102 ****
--- 78,141 ----
* clear to send requests */
#define IXGBE_VT_MSGINFO_SHIFT 16
/* bits 23:16 are used for extra info for certain messages */
#define IXGBE_VT_MSGINFO_MASK (0xFF << IXGBE_VT_MSGINFO_SHIFT)
+ /* definitions to support mailbox API version negotiation */
+
+ /*
+ * each element denotes a version of the API; existing numbers may not
+ * change; any additions must go at the end
+ */
+ enum ixgbe_pfvf_api_rev {
+ ixgbe_mbox_api_10, /* API version 1.0, linux/freebsd VF driver */
+ ixgbe_mbox_api_20, /* API version 2.0, solaris Phase1 VF driver */
+ ixgbe_mbox_api_11, /* API version 1.1, linux/freebsd VF driver */
+ /* This value should always be last */
+ ixgbe_mbox_api_unknown, /* indicates that API version is not known */
+ };
+
+ /* mailbox API, legacy requests */
#define IXGBE_VF_RESET 0x01 /* VF requests reset */
#define IXGBE_VF_SET_MAC_ADDR 0x02 /* VF requests PF to set MAC addr */
#define IXGBE_VF_SET_MULTICAST 0x03 /* VF requests PF to set MC addr */
#define IXGBE_VF_SET_VLAN 0x04 /* VF requests PF to set VLAN */
+
+ /* mailbox API, version 1.0 VF requests */
#define IXGBE_VF_SET_LPE 0x05 /* VF requests PF to set VMOLR.LPE */
#define IXGBE_VF_SET_MACVLAN 0x06 /* VF requests PF for unicast filter */
+ #define IXGBE_VF_API_NEGOTIATE 0x08 /* negotiate API version */
+ /* mailbox API, version 1.1 VF requests */
+ #define IXGBE_VF_GET_QUEUES 0x09 /* get queue configuration */
+
+ /* GET_QUEUES return data indices within the mailbox */
+ #define IXGBE_VF_TX_QUEUES 1 /* number of Tx queues supported */
+ #define IXGBE_VF_RX_QUEUES 2 /* number of Rx queues supported */
+ #define IXGBE_VF_TRANS_VLAN 3 /* Indication of port vlan */
+ #define IXGBE_VF_DEF_QUEUE 4 /* Default queue offset */
+
/* length of permanent address message returned from PF */
#define IXGBE_VF_PERMADDR_MSG_LEN 4
/* word in permanent address message with the current multicast type */
#define IXGBE_VF_MC_TYPE_WORD 3
#define IXGBE_PF_CONTROL_MSG 0x0100 /* PF control message */
+ /* mailbox API, version 2.0 VF requests */
+ #define IXGBE_VF_API_NEGOTIATE 0x08 /* negotiate API version */
+ #define IXGBE_VF_GET_QUEUES 0x09 /* get queue configuration */
+ #define IXGBE_VF_ENABLE_MACADDR 0x0A /* enable MAC address */
+ #define IXGBE_VF_DISABLE_MACADDR 0x0B /* disable MAC address */
+ #define IXGBE_VF_GET_MACADDRS 0x0C /* get all configured MAC addrs */
+ #define IXGBE_VF_SET_MCAST_PROMISC 0x0D /* enable multicast promiscuous */
+ #define IXGBE_VF_GET_MTU 0x0E /* get bounds on MTU */
+ #define IXGBE_VF_SET_MTU 0x0F /* set a specific MTU */
+ /* mailbox API, version 2.0 PF requests */
+ #define IXGBE_PF_TRANSPARENT_VLAN 0x0101 /* enable transparent vlan */
+
#define IXGBE_VF_MBX_INIT_TIMEOUT 2000 /* number of retries on mailbox */
#define IXGBE_VF_MBX_INIT_DELAY 500 /* microseconds between retries */
s32 ixgbe_read_mbx(struct ixgbe_hw *, u32 *, u16, u16);
s32 ixgbe_write_mbx(struct ixgbe_hw *, u32 *, u16, u16);