aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/netxen/netxen_nic_hw.c
diff options
context:
space:
mode:
authorDhananjay Phadke <dhananjay@netxen.com>2009-09-05 13:43:11 -0400
committerDavid S. Miller <davem@davemloft.net>2009-09-07 04:53:18 -0400
commit2b9e62ee7b2f1971c01fdaa7653c9dae7b571187 (patch)
tree2985333288b3c984009aca8db6b44a1cf99b4703 /drivers/net/netxen/netxen_nic_hw.c
parent195c5f9829407857cba86f083caec6302b1fd8e1 (diff)
netxen: refactor firmware info code
o Combine netxen_get_firmware_info(), netxen_check_options() so that they are updated every time firmware is reset. o Set dma mask everytime firmware is reset. Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/netxen/netxen_nic_hw.c')
-rw-r--r--drivers/net/netxen/netxen_nic_hw.c59
1 files changed, 0 insertions, 59 deletions
diff --git a/drivers/net/netxen/netxen_nic_hw.c b/drivers/net/netxen/netxen_nic_hw.c
index cbfd6102e45..555bc4a7e88 100644
--- a/drivers/net/netxen/netxen_nic_hw.c
+++ b/drivers/net/netxen/netxen_nic_hw.c
@@ -2240,65 +2240,6 @@ void netxen_nic_set_link_parameters(struct netxen_adapter *adapter)
2240 } 2240 }
2241} 2241}
2242 2242
2243void netxen_nic_get_firmware_info(struct netxen_adapter *adapter)
2244{
2245 u32 fw_major, fw_minor, fw_build;
2246 char brd_name[NETXEN_MAX_SHORT_NAME];
2247 char serial_num[32];
2248 int i, offset, val;
2249 int *ptr32;
2250 struct pci_dev *pdev = adapter->pdev;
2251
2252 adapter->driver_mismatch = 0;
2253
2254 ptr32 = (int *)&serial_num;
2255 offset = NX_FW_SERIAL_NUM_OFFSET;
2256 for (i = 0; i < 8; i++) {
2257 if (netxen_rom_fast_read(adapter, offset, &val) == -1) {
2258 dev_err(&pdev->dev, "error reading board info\n");
2259 adapter->driver_mismatch = 1;
2260 return;
2261 }
2262 ptr32[i] = cpu_to_le32(val);
2263 offset += sizeof(u32);
2264 }
2265
2266 fw_major = NXRD32(adapter, NETXEN_FW_VERSION_MAJOR);
2267 fw_minor = NXRD32(adapter, NETXEN_FW_VERSION_MINOR);
2268 fw_build = NXRD32(adapter, NETXEN_FW_VERSION_SUB);
2269
2270 adapter->fw_version = NETXEN_VERSION_CODE(fw_major, fw_minor, fw_build);
2271
2272 if (adapter->portnum == 0) {
2273 get_brd_name_by_type(adapter->ahw.board_type, brd_name);
2274
2275 printk(KERN_INFO "NetXen %s Board S/N %s Chip rev 0x%x\n",
2276 brd_name, serial_num, adapter->ahw.revision_id);
2277 }
2278
2279 if (adapter->fw_version < NETXEN_VERSION_CODE(3, 4, 216)) {
2280 adapter->driver_mismatch = 1;
2281 dev_warn(&pdev->dev, "firmware version %d.%d.%d unsupported\n",
2282 fw_major, fw_minor, fw_build);
2283 return;
2284 }
2285
2286 dev_info(&pdev->dev, "firmware version %d.%d.%d\n",
2287 fw_major, fw_minor, fw_build);
2288
2289 if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
2290 i = NXRD32(adapter, NETXEN_SRE_MISC);
2291 adapter->ahw.cut_through = (i & 0x8000) ? 1 : 0;
2292 dev_info(&pdev->dev, "firmware running in %s mode\n",
2293 adapter->ahw.cut_through ? "cut-through" : "legacy");
2294 }
2295
2296 if (adapter->fw_version >= NETXEN_VERSION_CODE(4, 0, 222))
2297 adapter->capabilities = NXRD32(adapter, CRB_FW_CAPABILITIES_1);
2298
2299 adapter->flags &= ~NETXEN_NIC_LRO_ENABLED;
2300}
2301
2302int 2243int
2303netxen_nic_wol_supported(struct netxen_adapter *adapter) 2244netxen_nic_wol_supported(struct netxen_adapter *adapter)
2304{ 2245{