diff options
author | Dhananjay Phadke <dhananjay@netxen.com> | 2009-01-14 23:49:00 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-14 23:49:00 -0500 |
commit | 27c915a4d843b90eb4065298969578d15e5e6ab0 (patch) | |
tree | df1e34fb723aedfd851c24946437951528548938 /drivers/net/netxen/netxen_nic_hw.c | |
parent | c7860a2aec571ea95d3ad19b8d9775b27828baac (diff) |
netxen: firmware init fix
o Fix order or rom register writes.
o Reduce udelays when writing rom registers.
This cuts the firmware init time by 40%.
o Do not reset core/memory clocks when reinitializing driver.
Firmware willl handle this when initialized.
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.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/net/netxen/netxen_nic_hw.c b/drivers/net/netxen/netxen_nic_hw.c index 4276f7f82238..511db2ac57c9 100644 --- a/drivers/net/netxen/netxen_nic_hw.c +++ b/drivers/net/netxen/netxen_nic_hw.c | |||
@@ -939,7 +939,7 @@ int netxen_load_firmware(struct netxen_adapter *adapter) | |||
939 | { | 939 | { |
940 | int i; | 940 | int i; |
941 | u32 data, size = 0; | 941 | u32 data, size = 0; |
942 | u32 flashaddr = NETXEN_BOOTLD_START, memaddr = NETXEN_BOOTLD_START; | 942 | u32 flashaddr = NETXEN_BOOTLD_START; |
943 | 943 | ||
944 | size = (NETXEN_IMAGE_START - NETXEN_BOOTLD_START)/4; | 944 | size = (NETXEN_IMAGE_START - NETXEN_BOOTLD_START)/4; |
945 | 945 | ||
@@ -951,10 +951,8 @@ int netxen_load_firmware(struct netxen_adapter *adapter) | |||
951 | if (netxen_rom_fast_read(adapter, flashaddr, (int *)&data) != 0) | 951 | if (netxen_rom_fast_read(adapter, flashaddr, (int *)&data) != 0) |
952 | return -EIO; | 952 | return -EIO; |
953 | 953 | ||
954 | adapter->pci_mem_write(adapter, memaddr, &data, 4); | 954 | adapter->pci_mem_write(adapter, flashaddr, &data, 4); |
955 | flashaddr += 4; | 955 | flashaddr += 4; |
956 | memaddr += 4; | ||
957 | cond_resched(); | ||
958 | } | 956 | } |
959 | msleep(1); | 957 | msleep(1); |
960 | 958 | ||