diff options
Diffstat (limited to 'drivers/net/netxen/netxen_nic.h')
-rw-r--r-- | drivers/net/netxen/netxen_nic.h | 41 |
1 files changed, 38 insertions, 3 deletions
diff --git a/drivers/net/netxen/netxen_nic.h b/drivers/net/netxen/netxen_nic.h index 8e736614407d..93a7b9b668d5 100644 --- a/drivers/net/netxen/netxen_nic.h +++ b/drivers/net/netxen/netxen_nic.h | |||
@@ -508,6 +508,8 @@ typedef enum { | |||
508 | NETXEN_BRDTYPE_P3_10000_BASE_T = 0x0027, | 508 | NETXEN_BRDTYPE_P3_10000_BASE_T = 0x0027, |
509 | NETXEN_BRDTYPE_P3_XG_LOM = 0x0028, | 509 | NETXEN_BRDTYPE_P3_XG_LOM = 0x0028, |
510 | NETXEN_BRDTYPE_P3_4_GB_MM = 0x0029, | 510 | NETXEN_BRDTYPE_P3_4_GB_MM = 0x0029, |
511 | NETXEN_BRDTYPE_P3_10G_SFP_CT = 0x002a, | ||
512 | NETXEN_BRDTYPE_P3_10G_SFP_QT = 0x002b, | ||
511 | NETXEN_BRDTYPE_P3_10G_CX4 = 0x0031, | 513 | NETXEN_BRDTYPE_P3_10G_CX4 = 0x0031, |
512 | NETXEN_BRDTYPE_P3_10G_XFP = 0x0032 | 514 | NETXEN_BRDTYPE_P3_10G_XFP = 0x0032 |
513 | 515 | ||
@@ -1170,6 +1172,36 @@ typedef struct { | |||
1170 | nx_nic_intr_coalesce_data_t irq; | 1172 | nx_nic_intr_coalesce_data_t irq; |
1171 | } nx_nic_intr_coalesce_t; | 1173 | } nx_nic_intr_coalesce_t; |
1172 | 1174 | ||
1175 | #define NX_HOST_REQUEST 0x13 | ||
1176 | #define NX_NIC_REQUEST 0x14 | ||
1177 | |||
1178 | #define NX_MAC_EVENT 0x1 | ||
1179 | |||
1180 | enum { | ||
1181 | NX_NIC_H2C_OPCODE_START = 0, | ||
1182 | NX_NIC_H2C_OPCODE_CONFIG_RSS, | ||
1183 | NX_NIC_H2C_OPCODE_CONFIG_RSS_TBL, | ||
1184 | NX_NIC_H2C_OPCODE_CONFIG_INTR_COALESCE, | ||
1185 | NX_NIC_H2C_OPCODE_CONFIG_LED, | ||
1186 | NX_NIC_H2C_OPCODE_CONFIG_PROMISCUOUS, | ||
1187 | NX_NIC_H2C_OPCODE_CONFIG_L2_MAC, | ||
1188 | NX_NIC_H2C_OPCODE_LRO_REQUEST, | ||
1189 | NX_NIC_H2C_OPCODE_GET_SNMP_STATS, | ||
1190 | NX_NIC_H2C_OPCODE_PROXY_START_REQUEST, | ||
1191 | NX_NIC_H2C_OPCODE_PROXY_STOP_REQUEST, | ||
1192 | NX_NIC_H2C_OPCODE_PROXY_SET_MTU, | ||
1193 | NX_NIC_H2C_OPCODE_PROXY_SET_VPORT_MISS_MODE, | ||
1194 | NX_H2P_OPCODE_GET_FINGER_PRINT_REQUEST, | ||
1195 | NX_H2P_OPCODE_INSTALL_LICENSE_REQUEST, | ||
1196 | NX_H2P_OPCODE_GET_LICENSE_CAPABILITY_REQUEST, | ||
1197 | NX_NIC_H2C_OPCODE_GET_NET_STATS, | ||
1198 | NX_NIC_H2C_OPCODE_LAST | ||
1199 | }; | ||
1200 | |||
1201 | #define VPORT_MISS_MODE_DROP 0 /* drop all unmatched */ | ||
1202 | #define VPORT_MISS_MODE_ACCEPT_ALL 1 /* accept all packets */ | ||
1203 | #define VPORT_MISS_MODE_ACCEPT_MULTI 2 /* accept unmatched multicast */ | ||
1204 | |||
1173 | typedef struct { | 1205 | typedef struct { |
1174 | u64 qhdr; | 1206 | u64 qhdr; |
1175 | u64 req_hdr; | 1207 | u64 req_hdr; |
@@ -1288,7 +1320,7 @@ struct netxen_adapter { | |||
1288 | int (*disable_phy_interrupts) (struct netxen_adapter *); | 1320 | int (*disable_phy_interrupts) (struct netxen_adapter *); |
1289 | int (*macaddr_set) (struct netxen_adapter *, netxen_ethernet_macaddr_t); | 1321 | int (*macaddr_set) (struct netxen_adapter *, netxen_ethernet_macaddr_t); |
1290 | int (*set_mtu) (struct netxen_adapter *, int); | 1322 | int (*set_mtu) (struct netxen_adapter *, int); |
1291 | int (*set_promisc) (struct netxen_adapter *, netxen_niu_prom_mode_t); | 1323 | int (*set_promisc) (struct netxen_adapter *, u32); |
1292 | int (*phy_read) (struct netxen_adapter *, long reg, u32 *); | 1324 | int (*phy_read) (struct netxen_adapter *, long reg, u32 *); |
1293 | int (*phy_write) (struct netxen_adapter *, long reg, u32 val); | 1325 | int (*phy_write) (struct netxen_adapter *, long reg, u32 val); |
1294 | int (*init_port) (struct netxen_adapter *, int); | 1326 | int (*init_port) (struct netxen_adapter *, int); |
@@ -1465,9 +1497,10 @@ int netxen_process_cmd_ring(struct netxen_adapter *adapter); | |||
1465 | u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctx, int max); | 1497 | u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctx, int max); |
1466 | void netxen_p2_nic_set_multi(struct net_device *netdev); | 1498 | void netxen_p2_nic_set_multi(struct net_device *netdev); |
1467 | void netxen_p3_nic_set_multi(struct net_device *netdev); | 1499 | void netxen_p3_nic_set_multi(struct net_device *netdev); |
1500 | int netxen_p3_nic_set_promisc(struct netxen_adapter *adapter, u32); | ||
1468 | int netxen_config_intr_coalesce(struct netxen_adapter *adapter); | 1501 | int netxen_config_intr_coalesce(struct netxen_adapter *adapter); |
1469 | 1502 | ||
1470 | u32 nx_fw_cmd_set_mtu(struct netxen_adapter *adapter, u32 mtu); | 1503 | int nx_fw_cmd_set_mtu(struct netxen_adapter *adapter, int mtu); |
1471 | int netxen_nic_change_mtu(struct net_device *netdev, int new_mtu); | 1504 | int netxen_nic_change_mtu(struct net_device *netdev, int new_mtu); |
1472 | 1505 | ||
1473 | int netxen_nic_set_mac(struct net_device *netdev, void *p); | 1506 | int netxen_nic_set_mac(struct net_device *netdev, void *p); |
@@ -1502,7 +1535,9 @@ static const struct netxen_brdinfo netxen_boards[] = { | |||
1502 | {NETXEN_BRDTYPE_P3_10G_SFP_PLUS, 2, "Dual XGb SFP+ LP"}, | 1535 | {NETXEN_BRDTYPE_P3_10G_SFP_PLUS, 2, "Dual XGb SFP+ LP"}, |
1503 | {NETXEN_BRDTYPE_P3_10000_BASE_T, 1, "XGB 10G BaseT LP"}, | 1536 | {NETXEN_BRDTYPE_P3_10000_BASE_T, 1, "XGB 10G BaseT LP"}, |
1504 | {NETXEN_BRDTYPE_P3_XG_LOM, 2, "Dual XGb LOM"}, | 1537 | {NETXEN_BRDTYPE_P3_XG_LOM, 2, "Dual XGb LOM"}, |
1505 | {NETXEN_BRDTYPE_P3_4_GB_MM, 4, "Quad GB - March Madness"}, | 1538 | {NETXEN_BRDTYPE_P3_4_GB_MM, 4, "NX3031 Gigabit Ethernet"}, |
1539 | {NETXEN_BRDTYPE_P3_10G_SFP_CT, 2, "NX3031 10 Gigabit Ethernet"}, | ||
1540 | {NETXEN_BRDTYPE_P3_10G_SFP_QT, 2, "Quanta Dual XGb SFP+"}, | ||
1506 | {NETXEN_BRDTYPE_P3_10G_CX4, 2, "Reference Dual CX4 Option"}, | 1541 | {NETXEN_BRDTYPE_P3_10G_CX4, 2, "Reference Dual CX4 Option"}, |
1507 | {NETXEN_BRDTYPE_P3_10G_XFP, 1, "Reference Single XFP Option"} | 1542 | {NETXEN_BRDTYPE_P3_10G_XFP, 1, "Reference Single XFP Option"} |
1508 | }; | 1543 | }; |