diff options
author | Eilon Greenstein <eilong@broadcom.com> | 2009-08-12 04:22:08 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-08-13 02:02:12 -0400 |
commit | 2691d51d7243560aa0870dadbf5c6b98f647f751 (patch) | |
tree | b1d19b51005395517e35c632501715edf7e20c7c /drivers/net/bnx2x_hsi.h | |
parent | a1d58179d1337ff8f8530c9fac8b9e98b2f7761f (diff) |
bnx2x: Supporting Device Control Channel
In multi-function mode, the FW can receive special management control commands
to set the Min/Max BW and the the function link state
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x_hsi.h')
-rw-r--r-- | drivers/net/bnx2x_hsi.h | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/drivers/net/bnx2x_hsi.h b/drivers/net/bnx2x_hsi.h index da62cc5608d3..8e2261fad485 100644 --- a/drivers/net/bnx2x_hsi.h +++ b/drivers/net/bnx2x_hsi.h | |||
@@ -658,6 +658,8 @@ struct drv_func_mb { | |||
658 | #define DRV_MSG_CODE_UNLOAD_REQ_WOL_DIS 0x20010000 | 658 | #define DRV_MSG_CODE_UNLOAD_REQ_WOL_DIS 0x20010000 |
659 | #define DRV_MSG_CODE_UNLOAD_REQ_WOL_MCP 0x20020000 | 659 | #define DRV_MSG_CODE_UNLOAD_REQ_WOL_MCP 0x20020000 |
660 | #define DRV_MSG_CODE_UNLOAD_DONE 0x21000000 | 660 | #define DRV_MSG_CODE_UNLOAD_DONE 0x21000000 |
661 | #define DRV_MSG_CODE_DCC_OK 0x30000000 | ||
662 | #define DRV_MSG_CODE_DCC_FAILURE 0x31000000 | ||
661 | #define DRV_MSG_CODE_DIAG_ENTER_REQ 0x50000000 | 663 | #define DRV_MSG_CODE_DIAG_ENTER_REQ 0x50000000 |
662 | #define DRV_MSG_CODE_DIAG_EXIT_REQ 0x60000000 | 664 | #define DRV_MSG_CODE_DIAG_EXIT_REQ 0x60000000 |
663 | #define DRV_MSG_CODE_VALIDATE_KEY 0x70000000 | 665 | #define DRV_MSG_CODE_VALIDATE_KEY 0x70000000 |
@@ -692,6 +694,7 @@ struct drv_func_mb { | |||
692 | #define FW_MSG_CODE_DRV_UNLOAD_PORT 0x20110000 | 694 | #define FW_MSG_CODE_DRV_UNLOAD_PORT 0x20110000 |
693 | #define FW_MSG_CODE_DRV_UNLOAD_FUNCTION 0x20120000 | 695 | #define FW_MSG_CODE_DRV_UNLOAD_FUNCTION 0x20120000 |
694 | #define FW_MSG_CODE_DRV_UNLOAD_DONE 0x21100000 | 696 | #define FW_MSG_CODE_DRV_UNLOAD_DONE 0x21100000 |
697 | #define FW_MSG_CODE_DCC_DONE 0x30100000 | ||
695 | #define FW_MSG_CODE_DIAG_ENTER_DONE 0x50100000 | 698 | #define FW_MSG_CODE_DIAG_ENTER_DONE 0x50100000 |
696 | #define FW_MSG_CODE_DIAG_REFUSE 0x50200000 | 699 | #define FW_MSG_CODE_DIAG_REFUSE 0x50200000 |
697 | #define FW_MSG_CODE_DIAG_EXIT_DONE 0x60100000 | 700 | #define FW_MSG_CODE_DIAG_EXIT_DONE 0x60100000 |
@@ -742,6 +745,14 @@ struct drv_func_mb { | |||
742 | u32 drv_status; | 745 | u32 drv_status; |
743 | #define DRV_STATUS_PMF 0x00000001 | 746 | #define DRV_STATUS_PMF 0x00000001 |
744 | 747 | ||
748 | #define DRV_STATUS_DCC_EVENT_MASK 0x0000ff00 | ||
749 | #define DRV_STATUS_DCC_DISABLE_ENABLE_PF 0x00000100 | ||
750 | #define DRV_STATUS_DCC_BANDWIDTH_ALLOCATION 0x00000200 | ||
751 | #define DRV_STATUS_DCC_CHANGE_MAC_ADDRESS 0x00000400 | ||
752 | #define DRV_STATUS_DCC_RESERVED1 0x00000800 | ||
753 | #define DRV_STATUS_DCC_SET_PROTOCOL 0x00001000 | ||
754 | #define DRV_STATUS_DCC_SET_PRIORITY 0x00002000 | ||
755 | |||
745 | u32 virt_mac_upper; | 756 | u32 virt_mac_upper; |
746 | #define VIRT_MAC_SIGN_MASK 0xffff0000 | 757 | #define VIRT_MAC_SIGN_MASK 0xffff0000 |
747 | #define VIRT_MAC_SIGNATURE 0x564d0000 | 758 | #define VIRT_MAC_SIGNATURE 0x564d0000 |
@@ -778,10 +789,9 @@ struct shared_mf_cfg { | |||
778 | struct port_mf_cfg { | 789 | struct port_mf_cfg { |
779 | 790 | ||
780 | u32 dynamic_cfg; /* device control channel */ | 791 | u32 dynamic_cfg; /* device control channel */ |
781 | #define PORT_MF_CFG_OUTER_VLAN_TAG_MASK 0x0000ffff | 792 | #define PORT_MF_CFG_E1HOV_TAG_MASK 0x0000ffff |
782 | #define PORT_MF_CFG_OUTER_VLAN_TAG_SHIFT 0 | 793 | #define PORT_MF_CFG_E1HOV_TAG_SHIFT 0 |
783 | #define PORT_MF_CFG_DYNAMIC_CFG_ENABLED 0x00010000 | 794 | #define PORT_MF_CFG_E1HOV_TAG_DEFAULT PORT_MF_CFG_E1HOV_TAG_MASK |
784 | #define PORT_MF_CFG_DYNAMIC_CFG_DEFAULT 0x00000000 | ||
785 | 795 | ||
786 | u32 reserved[3]; | 796 | u32 reserved[3]; |
787 | 797 | ||
@@ -885,6 +895,22 @@ struct shmem_region { /* SharedMem Offset (size) */ | |||
885 | }; /* 0x6dc */ | 895 | }; /* 0x6dc */ |
886 | 896 | ||
887 | 897 | ||
898 | struct shmem2_region { | ||
899 | |||
900 | u32 size; | ||
901 | |||
902 | u32 dcc_support; | ||
903 | #define SHMEM_DCC_SUPPORT_NONE 0x00000000 | ||
904 | #define SHMEM_DCC_SUPPORT_DISABLE_ENABLE_PF_TLV 0x00000001 | ||
905 | #define SHMEM_DCC_SUPPORT_BANDWIDTH_ALLOCATION_TLV 0x00000004 | ||
906 | #define SHMEM_DCC_SUPPORT_CHANGE_MAC_ADDRESS_TLV 0x00000008 | ||
907 | #define SHMEM_DCC_SUPPORT_SET_PROTOCOL_TLV 0x00000040 | ||
908 | #define SHMEM_DCC_SUPPORT_SET_PRIORITY_TLV 0x00000080 | ||
909 | #define SHMEM_DCC_SUPPORT_DEFAULT SHMEM_DCC_SUPPORT_NONE | ||
910 | |||
911 | }; | ||
912 | |||
913 | |||
888 | struct emac_stats { | 914 | struct emac_stats { |
889 | u32 rx_stat_ifhcinoctets; | 915 | u32 rx_stat_ifhcinoctets; |
890 | u32 rx_stat_ifhcinbadoctets; | 916 | u32 rx_stat_ifhcinbadoctets; |