aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/qlogic
diff options
context:
space:
mode:
authorSritej Velaga <sritej.velaga@qlogic.com>2011-08-29 08:50:28 -0400
committerDavid S. Miller <davem@davemloft.net>2011-08-29 22:52:50 -0400
commita2050c7eeef034521f34df9cb896e72ea6802331 (patch)
tree3935c29e29ad9cdcd2a69749fb438e769c5021f9 /drivers/net/ethernet/qlogic
parentdf3cfbe30bcd8ddfbbac2d0893c53b6d048dd1f8 (diff)
qlcnic: Add FLT entry for CO cards FW image region
The FLT entry for FW image region has changed for C0 cards. Updated the driver to look at the right region in the FLT. Signed-off-by: Sritej Velaga <sritej.velaga@qlogic.com> Signed-off-by: Sony Chacko <sony.chacko@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/qlogic')
-rw-r--r--drivers/net/ethernet/qlogic/qlcnic/qlcnic.h4
-rw-r--r--drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c8
2 files changed, 10 insertions, 2 deletions
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h b/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
index 53c6e5dcf26..4118502ef29 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
@@ -73,6 +73,7 @@
73 (sizeof(struct cmd_desc_type0) * tx_ring->num_desc) 73 (sizeof(struct cmd_desc_type0) * tx_ring->num_desc)
74 74
75#define QLCNIC_P3P_A0 0x50 75#define QLCNIC_P3P_A0 0x50
76#define QLCNIC_P3P_C0 0x58
76 77
77#define QLCNIC_IS_REVISION_P3P(REVISION) (REVISION >= QLCNIC_P3P_A0) 78#define QLCNIC_IS_REVISION_P3P(REVISION) (REVISION >= QLCNIC_P3P_A0)
78 79
@@ -291,7 +292,8 @@ struct uni_data_desc{
291 292
292/* Flash Defines and Structures */ 293/* Flash Defines and Structures */
293#define QLCNIC_FLT_LOCATION 0x3F1000 294#define QLCNIC_FLT_LOCATION 0x3F1000
294#define QLCNIC_FW_IMAGE_REGION 0x74 295#define QLCNIC_B0_FW_IMAGE_REGION 0x74
296#define QLCNIC_C0_FW_IMAGE_REGION 0x97
295#define QLCNIC_BOOTLD_REGION 0X72 297#define QLCNIC_BOOTLD_REGION 0X72
296struct qlcnic_flt_header { 298struct qlcnic_flt_header {
297 u16 version; 299 u16 version;
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
index b02859c7a23..7f4b8e69079 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
@@ -686,7 +686,13 @@ qlcnic_check_flash_fw_ver(struct qlcnic_adapter *adapter)
686 u32 ver = -1, min_ver; 686 u32 ver = -1, min_ver;
687 int ret; 687 int ret;
688 688
689 ret = qlcnic_get_flt_entry(adapter, QLCNIC_FW_IMAGE_REGION, &fw_entry); 689 if (adapter->ahw->revision_id == QLCNIC_P3P_C0)
690 ret = qlcnic_get_flt_entry(adapter, QLCNIC_C0_FW_IMAGE_REGION,
691 &fw_entry);
692 else
693 ret = qlcnic_get_flt_entry(adapter, QLCNIC_B0_FW_IMAGE_REGION,
694 &fw_entry);
695
690 if (!ret) 696 if (!ret)
691 /* 0-4:-signature, 4-8:-fw version */ 697 /* 0-4:-signature, 4-8:-fw version */
692 qlcnic_rom_fast_read(adapter, fw_entry.start_addr + 4, 698 qlcnic_rom_fast_read(adapter, fw_entry.start_addr + 4,