summaryrefslogtreecommitdiff
path: root/drivers/net/bnx2x_init_ops.h
diff options
context:
space:
mode:
authorVladislav Zolotarov <vladz@broadcom.com>2010-02-17 13:35:01 -0800
committerDavid S. Miller <davem@davemloft.net>2010-02-17 13:35:44 -0800
commit3359fced77f6b4ba1c7de9deace1d7dfa7217bbc (patch)
tree0a07404bd7726559afde96901fa02cf48f8ec47b /drivers/net/bnx2x_init_ops.h
parent2db29fc71b7e6af41aa1fadb67f588846dc461cf (diff)
bnx2x: Use firmware 5.2.13
Switch to the new firmware version (5.2.13). Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x_init_ops.h')
-rw-r--r--drivers/net/bnx2x_init_ops.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/net/bnx2x_init_ops.h b/drivers/net/bnx2x_init_ops.h
index 38b970a14fd7..2b1363a6fe78 100644
--- a/drivers/net/bnx2x_init_ops.h
+++ b/drivers/net/bnx2x_init_ops.h
@@ -2,7 +2,7 @@
* Static functions needed during the initialization.
* This file is "included" in bnx2x_main.c.
*
- * Copyright (c) 2007-2009 Broadcom Corporation
+ * Copyright (c) 2007-2010 Broadcom Corporation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -138,11 +138,16 @@ static void bnx2x_write_big_buf_wb(struct bnx2x *bp, u32 addr, u32 len)
static void bnx2x_init_wr_wb(struct bnx2x *bp, u32 addr, const u32 *data,
u32 len)
{
+ const u32 *old_data = data;
+
data = (const u32 *)bnx2x_sel_blob(bp, addr, (const u8 *)data);
- if (bp->dmae_ready)
- VIRT_WR_DMAE_LEN(bp, data, addr, len);
- else
+ if (bp->dmae_ready) {
+ if (old_data != data)
+ VIRT_WR_DMAE_LEN(bp, data, addr, len, 1);
+ else
+ VIRT_WR_DMAE_LEN(bp, data, addr, len, 0);
+ } else
bnx2x_init_ind_wr(bp, addr, data, len);
}