aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2_fw.h
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2007-10-02 19:27:35 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 19:54:07 -0400
commitea1f8d5c3a593a791463c2efc07e5dfebd056500 (patch)
treee25bb6cffff8637b19c73f6ca68eeb901a2473a3 /drivers/net/bnx2_fw.h
parentdad8c737962669240470923f951570ed716da1a1 (diff)
[BNX2]: Optimize firmware loading.
This is a follow up to the patches from Denys Vlasenkos <vda.linux@googlemail.com> to further optimize firmware loading. 1. In bnx2_init_cpus(), we allocate memory for decompression once and use it repeatedly instead of doing this for every firmware image. 2. We eliminate the BSS and SBSS firmware sections in bnx2_fw*.h since these are always zeros. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2_fw.h')
-rw-r--r--drivers/net/bnx2_fw.h17
1 files changed, 0 insertions, 17 deletions
diff --git a/drivers/net/bnx2_fw.h b/drivers/net/bnx2_fw.h
index 30f2f4052fc1..a6d78243163b 100644
--- a/drivers/net/bnx2_fw.h
+++ b/drivers/net/bnx2_fw.h
@@ -1048,8 +1048,6 @@ static const u32 bnx2_COM_b06FwRodata[(0x88/4) + 1] = {
1048 0x08002bd8, 0x08002c08, 0x08002c38, 0x00000000, 0x080060cc, 0x080060cc, 1048 0x08002bd8, 0x08002c08, 0x08002c38, 0x00000000, 0x080060cc, 0x080060cc,
1049 0x080060cc, 0x080060cc, 0x080060cc, 0x08006100, 0x08006100, 0x08006140, 1049 0x080060cc, 0x080060cc, 0x080060cc, 0x08006100, 0x08006100, 0x08006140,
1050 0x0800614c, 0x0800614c, 0x080060cc, 0x00000000, 0x00000000 }; 1050 0x0800614c, 0x0800614c, 0x080060cc, 0x00000000, 0x00000000 };
1051static const u32 bnx2_COM_b06FwBss[(0x88/4) + 1] = { 0x0 };
1052static const u32 bnx2_COM_b06FwSbss[(0x60/4) + 1] = { 0x0 };
1053 1051
1054static struct fw_info bnx2_com_fw_06 = { 1052static struct fw_info bnx2_com_fw_06 = {
1055 .ver_major = 0x3, 1053 .ver_major = 0x3,
@@ -1072,12 +1070,10 @@ static struct fw_info bnx2_com_fw_06 = {
1072 .sbss_addr = 0x08007e00, 1070 .sbss_addr = 0x08007e00,
1073 .sbss_len = 0x60, 1071 .sbss_len = 0x60,
1074 .sbss_index = 0x0, 1072 .sbss_index = 0x0,
1075 .sbss = bnx2_COM_b06FwSbss,
1076 1073
1077 .bss_addr = 0x08007e60, 1074 .bss_addr = 0x08007e60,
1078 .bss_len = 0x88, 1075 .bss_len = 0x88,
1079 .bss_index = 0x0, 1076 .bss_index = 0x0,
1080 .bss = bnx2_COM_b06FwBss,
1081 1077
1082 .rodata_addr = 0x08007d58, 1078 .rodata_addr = 0x08007d58,
1083 .rodata_len = 0x88, 1079 .rodata_len = 0x88,
@@ -1762,9 +1758,6 @@ static u32 bnx2_RXP_b06FwRodata[(0x278/4) + 1] = {
1762 0x08006030, 0x08006030, 0x08006018, 0x08006030, 0x08006030, 0x08006030, 1758 0x08006030, 0x08006030, 0x08006018, 0x08006030, 0x08006030, 0x08006030,
1763 0x08006024, 0x00000000, 0x00000000 }; 1759 0x08006024, 0x00000000, 0x00000000 };
1764 1760
1765static u32 bnx2_RXP_b06FwBss[(0x13dc/4) + 1] = { 0x0 };
1766static u32 bnx2_RXP_b06FwSbss[(0x2c/4) + 1] = { 0x0 };
1767
1768static struct fw_info bnx2_rxp_fw_06 = { 1761static struct fw_info bnx2_rxp_fw_06 = {
1769 .ver_major = 0x2, 1762 .ver_major = 0x2,
1770 .ver_minor = 0x8, 1763 .ver_minor = 0x8,
@@ -1786,12 +1779,10 @@ static struct fw_info bnx2_rxp_fw_06 = {
1786 .sbss_addr = 0x080069c0, 1779 .sbss_addr = 0x080069c0,
1787 .sbss_len = 0x2c, 1780 .sbss_len = 0x2c,
1788 .sbss_index = 0x0, 1781 .sbss_index = 0x0,
1789 .sbss = bnx2_RXP_b06FwSbss,
1790 1782
1791 .bss_addr = 0x080069f0, 1783 .bss_addr = 0x080069f0,
1792 .bss_len = 0x13dc, 1784 .bss_len = 0x13dc,
1793 .bss_index = 0x0, 1785 .bss_index = 0x0,
1794 .bss = bnx2_RXP_b06FwBss,
1795 1786
1796 .rodata_addr = 0x08006728, 1787 .rodata_addr = 0x08006728,
1797 .rodata_len = 0x278, 1788 .rodata_len = 0x278,
@@ -2257,8 +2248,6 @@ static u8 bnx2_TPAT_b06FwText[] = {
2257 2248
2258static u32 bnx2_TPAT_b06FwData[(0x0/4) + 1] = { 0x0 }; 2249static u32 bnx2_TPAT_b06FwData[(0x0/4) + 1] = { 0x0 };
2259static u32 bnx2_TPAT_b06FwRodata[(0x0/4) + 1] = { 0x0 }; 2250static u32 bnx2_TPAT_b06FwRodata[(0x0/4) + 1] = { 0x0 };
2260static u32 bnx2_TPAT_b06FwBss[(0x250/4) + 1] = { 0x0 };
2261static u32 bnx2_TPAT_b06FwSbss[(0x34/4) + 1] = { 0x0 };
2262 2251
2263static struct fw_info bnx2_tpat_fw_06 = { 2252static struct fw_info bnx2_tpat_fw_06 = {
2264 .ver_major = 0x1, 2253 .ver_major = 0x1,
@@ -2281,12 +2270,10 @@ static struct fw_info bnx2_tpat_fw_06 = {
2281 .sbss_addr = 0x08001a60, 2270 .sbss_addr = 0x08001a60,
2282 .sbss_len = 0x34, 2271 .sbss_len = 0x34,
2283 .sbss_index = 0x0, 2272 .sbss_index = 0x0,
2284 .sbss = bnx2_TPAT_b06FwSbss,
2285 2273
2286 .bss_addr = 0x08001aa0, 2274 .bss_addr = 0x08001aa0,
2287 .bss_len = 0x250, 2275 .bss_len = 0x250,
2288 .bss_index = 0x0, 2276 .bss_index = 0x0,
2289 .bss = bnx2_TPAT_b06FwBss,
2290 2277
2291 .rodata_addr = 0x00000000, 2278 .rodata_addr = 0x00000000,
2292 .rodata_len = 0x0, 2279 .rodata_len = 0x0,
@@ -2714,8 +2701,6 @@ static u8 bnx2_TXP_b06FwText[] = {
2714 2701
2715static u32 bnx2_TXP_b06FwData[(0x0/4) + 1] = { 0x0 }; 2702static u32 bnx2_TXP_b06FwData[(0x0/4) + 1] = { 0x0 };
2716static u32 bnx2_TXP_b06FwRodata[(0x0/4) + 1] = { 0x0 }; 2703static u32 bnx2_TXP_b06FwRodata[(0x0/4) + 1] = { 0x0 };
2717static u32 bnx2_TXP_b06FwBss[(0x1c4/4) + 1] = { 0x0 };
2718static u32 bnx2_TXP_b06FwSbss[(0x38/4) + 1] = { 0x0 };
2719 2704
2720static struct fw_info bnx2_txp_fw_06 = { 2705static struct fw_info bnx2_txp_fw_06 = {
2721 .ver_major = 0x1, 2706 .ver_major = 0x1,
@@ -2738,12 +2723,10 @@ static struct fw_info bnx2_txp_fw_06 = {
2738 .sbss_addr = 0x08005760, 2723 .sbss_addr = 0x08005760,
2739 .sbss_len = 0x38, 2724 .sbss_len = 0x38,
2740 .sbss_index = 0x0, 2725 .sbss_index = 0x0,
2741 .sbss = bnx2_TXP_b06FwSbss,
2742 2726
2743 .bss_addr = 0x080057a0, 2727 .bss_addr = 0x080057a0,
2744 .bss_len = 0x1c4, 2728 .bss_len = 0x1c4,
2745 .bss_index = 0x0, 2729 .bss_index = 0x0,
2746 .bss = bnx2_TXP_b06FwBss,
2747 2730
2748 .rodata_addr = 0x00000000, 2731 .rodata_addr = 0x00000000,
2749 .rodata_len = 0x0, 2732 .rodata_len = 0x0,