diff options
author | Ron Mercer <ron.mercer@qlogic.com> | 2009-03-02 03:07:31 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-03-03 01:45:24 -0500 |
commit | cdca8d02ea4229c2ccf3c27fb537b150843f67c9 (patch) | |
tree | e3fbc1f5e7f924f94eac26a0e06c7a11434aa037 /drivers/net/qlge/qlge.h | |
parent | ca0413b66ab44ee0ea40d04eab44ff0fdaf32a1d (diff) |
qlge: Add support for device ID 8000.
This device has more firmware support for link management, setting
TX and RX maximum frame sizes.
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/qlge/qlge.h')
-rw-r--r-- | drivers/net/qlge/qlge.h | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/drivers/net/qlge/qlge.h b/drivers/net/qlge/qlge.h index 7bf18c6d7bc0..5f60ec4efb3c 100644 --- a/drivers/net/qlge/qlge.h +++ b/drivers/net/qlge/qlge.h | |||
@@ -29,7 +29,7 @@ | |||
29 | 29 | ||
30 | #define QLGE_VENDOR_ID 0x1077 | 30 | #define QLGE_VENDOR_ID 0x1077 |
31 | #define QLGE_DEVICE_ID_8012 0x8012 | 31 | #define QLGE_DEVICE_ID_8012 0x8012 |
32 | 32 | #define QLGE_DEVICE_ID_8000 0x8000 | |
33 | #define MAX_CPUS 8 | 33 | #define MAX_CPUS 8 |
34 | #define MAX_TX_RINGS MAX_CPUS | 34 | #define MAX_TX_RINGS MAX_CPUS |
35 | #define MAX_RX_RINGS ((MAX_CPUS * 2) + 1) | 35 | #define MAX_RX_RINGS ((MAX_CPUS * 2) + 1) |
@@ -808,8 +808,42 @@ struct flash_params_8012 { | |||
808 | __le16 res; | 808 | __le16 res; |
809 | }; | 809 | }; |
810 | 810 | ||
811 | /* 8000 device's flash is a different structure | ||
812 | * at a different offset in flash. | ||
813 | */ | ||
814 | #define FUNC0_FLASH_OFFSET 0x140200 | ||
815 | #define FUNC1_FLASH_OFFSET 0x140600 | ||
816 | |||
817 | /* Flash related data structures. */ | ||
818 | struct flash_params_8000 { | ||
819 | u8 dev_id_str[4]; /* "8000" */ | ||
820 | __le16 ver; | ||
821 | __le16 size; | ||
822 | __le16 csum; | ||
823 | __le16 reserved0; | ||
824 | __le16 total_size; | ||
825 | __le16 entry_count; | ||
826 | u8 data_type0; | ||
827 | u8 data_size0; | ||
828 | u8 mac_addr[6]; | ||
829 | u8 data_type1; | ||
830 | u8 data_size1; | ||
831 | u8 mac_addr1[6]; | ||
832 | u8 data_type2; | ||
833 | u8 data_size2; | ||
834 | __le16 vlan_id; | ||
835 | u8 data_type3; | ||
836 | u8 data_size3; | ||
837 | __le16 last; | ||
838 | u8 reserved1[464]; | ||
839 | __le16 subsys_ven_id; | ||
840 | __le16 subsys_dev_id; | ||
841 | u8 reserved2[4]; | ||
842 | }; | ||
843 | |||
811 | union flash_params { | 844 | union flash_params { |
812 | struct flash_params_8012 flash_params_8012; | 845 | struct flash_params_8012 flash_params_8012; |
846 | struct flash_params_8000 flash_params_8000; | ||
813 | }; | 847 | }; |
814 | 848 | ||
815 | /* | 849 | /* |
@@ -1535,6 +1569,7 @@ void ql_queue_asic_error(struct ql_adapter *qdev); | |||
1535 | u32 ql_enable_completion_interrupt(struct ql_adapter *qdev, u32 intr); | 1569 | u32 ql_enable_completion_interrupt(struct ql_adapter *qdev, u32 intr); |
1536 | void ql_set_ethtool_ops(struct net_device *ndev); | 1570 | void ql_set_ethtool_ops(struct net_device *ndev); |
1537 | int ql_read_xgmac_reg64(struct ql_adapter *qdev, u32 reg, u64 *data); | 1571 | int ql_read_xgmac_reg64(struct ql_adapter *qdev, u32 reg, u64 *data); |
1572 | int ql_mb_get_fw_state(struct ql_adapter *qdev); | ||
1538 | 1573 | ||
1539 | #if 1 | 1574 | #if 1 |
1540 | #define QL_ALL_DUMP | 1575 | #define QL_ALL_DUMP |