aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/netxen/netxen_nic.h
diff options
context:
space:
mode:
authorDhananjay Phadke <dhananjay@netxen.com>2008-07-21 22:44:07 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-07-22 17:52:11 -0400
commitc9fc891f86c062449116fde8826a0ead650e17ac (patch)
tree73496ddd8e43ef74634cae90ab9d12bf311d4139 /drivers/net/netxen/netxen_nic.h
parent48bfd1e0fc66b27254ec742b014e689ef218e76c (diff)
netxen: mtu, mac, link status changes
MAC addr, multicast filters, mtu are set through firmware commands in firmware v4.0.0+ because of virtualization of physical ports. Link status is also read from registers allocated by firmware for each virtual port. Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/netxen/netxen_nic.h')
-rw-r--r--drivers/net/netxen/netxen_nic.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/net/netxen/netxen_nic.h b/drivers/net/netxen/netxen_nic.h
index 936219010e46..e41f62352b15 100644
--- a/drivers/net/netxen/netxen_nic.h
+++ b/drivers/net/netxen/netxen_nic.h
@@ -1119,7 +1119,7 @@ typedef struct {
1119 u64 qhdr; 1119 u64 qhdr;
1120 u64 req_hdr; 1120 u64 req_hdr;
1121 u64 words[6]; 1121 u64 words[6];
1122} nic_request_t; 1122} nx_nic_req_t;
1123 1123
1124typedef struct { 1124typedef struct {
1125 u8 op; 1125 u8 op;
@@ -1127,6 +1127,7 @@ typedef struct {
1127 u8 mac_addr[6]; 1127 u8 mac_addr[6];
1128} nx_mac_req_t; 1128} nx_mac_req_t;
1129 1129
1130#define MAX_PENDING_DESC_BLOCK_SIZE 64
1130 1131
1131#define NETXEN_NIC_MSI_ENABLED 0x02 1132#define NETXEN_NIC_MSI_ENABLED 0x02
1132#define NETXEN_NIC_MSIX_ENABLED 0x04 1133#define NETXEN_NIC_MSIX_ENABLED 0x04
@@ -1152,7 +1153,6 @@ struct netxen_adapter {
1152 int pci_using_dac; 1153 int pci_using_dac;
1153 struct napi_struct napi; 1154 struct napi_struct napi;
1154 struct net_device_stats net_stats; 1155 struct net_device_stats net_stats;
1155 unsigned char mac_addr[ETH_ALEN];
1156 int mtu; 1156 int mtu;
1157 int portnum; 1157 int portnum;
1158 u8 physical_port; 1158 u8 physical_port;
@@ -1160,6 +1160,7 @@ struct netxen_adapter {
1160 1160
1161 uint8_t mc_enabled; 1161 uint8_t mc_enabled;
1162 uint8_t max_mc_count; 1162 uint8_t max_mc_count;
1163 nx_mac_list_t *mac_list;
1163 1164
1164 struct netxen_legacy_intr_set legacy_intr; 1165 struct netxen_legacy_intr_set legacy_intr;
1165 u32 crb_intr_mask; 1166 u32 crb_intr_mask;
@@ -1231,7 +1232,6 @@ struct netxen_adapter {
1231 int (*phy_read) (struct netxen_adapter *, long reg, u32 *); 1232 int (*phy_read) (struct netxen_adapter *, long reg, u32 *);
1232 int (*phy_write) (struct netxen_adapter *, long reg, u32 val); 1233 int (*phy_write) (struct netxen_adapter *, long reg, u32 val);
1233 int (*init_port) (struct netxen_adapter *, int); 1234 int (*init_port) (struct netxen_adapter *, int);
1234 void (*init_niu) (struct netxen_adapter *);
1235 int (*stop_port) (struct netxen_adapter *); 1235 int (*stop_port) (struct netxen_adapter *);
1236 1236
1237 int (*hw_read_wx)(struct netxen_adapter *, ulong, void *, int); 1237 int (*hw_read_wx)(struct netxen_adapter *, ulong, void *, int);
@@ -1316,7 +1316,6 @@ int netxen_niu_gbe_phy_write(struct netxen_adapter *adapter,
1316/* Functions available from netxen_nic_hw.c */ 1316/* Functions available from netxen_nic_hw.c */
1317int netxen_nic_set_mtu_xgb(struct netxen_adapter *adapter, int new_mtu); 1317int netxen_nic_set_mtu_xgb(struct netxen_adapter *adapter, int new_mtu);
1318int netxen_nic_set_mtu_gb(struct netxen_adapter *adapter, int new_mtu); 1318int netxen_nic_set_mtu_gb(struct netxen_adapter *adapter, int new_mtu);
1319void netxen_nic_init_niu_gb(struct netxen_adapter *adapter);
1320void netxen_nic_reg_write(struct netxen_adapter *adapter, u64 off, u32 val); 1319void netxen_nic_reg_write(struct netxen_adapter *adapter, u64 off, u32 val);
1321int netxen_nic_reg_read(struct netxen_adapter *adapter, u64 off); 1320int netxen_nic_reg_read(struct netxen_adapter *adapter, u64 off);
1322void netxen_nic_write_w0(struct netxen_adapter *adapter, u32 index, u32 value); 1321void netxen_nic_write_w0(struct netxen_adapter *adapter, u32 index, u32 value);
@@ -1404,7 +1403,8 @@ void netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ctx,
1404 u32 ringid); 1403 u32 ringid);
1405int netxen_process_cmd_ring(struct netxen_adapter *adapter); 1404int netxen_process_cmd_ring(struct netxen_adapter *adapter);
1406u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctx, int max); 1405u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctx, int max);
1407void netxen_nic_set_multi(struct net_device *netdev); 1406void netxen_p2_nic_set_multi(struct net_device *netdev);
1407void netxen_p3_nic_set_multi(struct net_device *netdev);
1408 1408
1409u32 nx_fw_cmd_set_mtu(struct netxen_adapter *adapter, u32 mtu); 1409u32 nx_fw_cmd_set_mtu(struct netxen_adapter *adapter, u32 mtu);
1410int netxen_nic_change_mtu(struct net_device *netdev, int new_mtu); 1410int netxen_nic_change_mtu(struct net_device *netdev, int new_mtu);
@@ -1412,6 +1412,8 @@ int netxen_nic_change_mtu(struct net_device *netdev, int new_mtu);
1412int netxen_nic_set_mac(struct net_device *netdev, void *p); 1412int netxen_nic_set_mac(struct net_device *netdev, void *p);
1413struct net_device_stats *netxen_nic_get_stats(struct net_device *netdev); 1413struct net_device_stats *netxen_nic_get_stats(struct net_device *netdev);
1414 1414
1415void netxen_nic_update_cmd_producer(struct netxen_adapter *adapter,
1416 uint32_t crb_producer);
1415 1417
1416/* 1418/*
1417 * NetXen Board information 1419 * NetXen Board information