diff options
author | Michael Chan <mchan@broadcom.com> | 2007-10-02 19:27:35 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:54:07 -0400 |
commit | ea1f8d5c3a593a791463c2efc07e5dfebd056500 (patch) | |
tree | e25bb6cffff8637b19c73f6ca68eeb901a2473a3 /drivers/net/bnx2_fw.h | |
parent | dad8c737962669240470923f951570ed716da1a1 (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.h | 17 |
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 }; |
1051 | static const u32 bnx2_COM_b06FwBss[(0x88/4) + 1] = { 0x0 }; | ||
1052 | static const u32 bnx2_COM_b06FwSbss[(0x60/4) + 1] = { 0x0 }; | ||
1053 | 1051 | ||
1054 | static struct fw_info bnx2_com_fw_06 = { | 1052 | static 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 | ||
1765 | static u32 bnx2_RXP_b06FwBss[(0x13dc/4) + 1] = { 0x0 }; | ||
1766 | static u32 bnx2_RXP_b06FwSbss[(0x2c/4) + 1] = { 0x0 }; | ||
1767 | |||
1768 | static struct fw_info bnx2_rxp_fw_06 = { | 1761 | static 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 | ||
2258 | static u32 bnx2_TPAT_b06FwData[(0x0/4) + 1] = { 0x0 }; | 2249 | static u32 bnx2_TPAT_b06FwData[(0x0/4) + 1] = { 0x0 }; |
2259 | static u32 bnx2_TPAT_b06FwRodata[(0x0/4) + 1] = { 0x0 }; | 2250 | static u32 bnx2_TPAT_b06FwRodata[(0x0/4) + 1] = { 0x0 }; |
2260 | static u32 bnx2_TPAT_b06FwBss[(0x250/4) + 1] = { 0x0 }; | ||
2261 | static u32 bnx2_TPAT_b06FwSbss[(0x34/4) + 1] = { 0x0 }; | ||
2262 | 2251 | ||
2263 | static struct fw_info bnx2_tpat_fw_06 = { | 2252 | static 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 | ||
2715 | static u32 bnx2_TXP_b06FwData[(0x0/4) + 1] = { 0x0 }; | 2702 | static u32 bnx2_TXP_b06FwData[(0x0/4) + 1] = { 0x0 }; |
2716 | static u32 bnx2_TXP_b06FwRodata[(0x0/4) + 1] = { 0x0 }; | 2703 | static u32 bnx2_TXP_b06FwRodata[(0x0/4) + 1] = { 0x0 }; |
2717 | static u32 bnx2_TXP_b06FwBss[(0x1c4/4) + 1] = { 0x0 }; | ||
2718 | static u32 bnx2_TXP_b06FwSbss[(0x38/4) + 1] = { 0x0 }; | ||
2719 | 2704 | ||
2720 | static struct fw_info bnx2_txp_fw_06 = { | 2705 | static 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, |