aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2_fw2.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_fw2.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_fw2.h')
-rw-r--r--drivers/net/bnx2_fw2.h20
1 files changed, 0 insertions, 20 deletions
diff --git a/drivers/net/bnx2_fw2.h b/drivers/net/bnx2_fw2.h
index 74f985d8fac7..5bd52bead9bf 100644
--- a/drivers/net/bnx2_fw2.h
+++ b/drivers/net/bnx2_fw2.h
@@ -1046,8 +1046,6 @@ static const u32 bnx2_COM_b09FwRodata[(0x88/4) + 1] = {
1046 0x08002b3c, 0x08002b6c, 0x08002b9c, 0x00000000, 0x0800604c, 0x0800604c, 1046 0x08002b3c, 0x08002b6c, 0x08002b9c, 0x00000000, 0x0800604c, 0x0800604c,
1047 0x0800604c, 0x0800604c, 0x0800604c, 0x08006078, 0x08006078, 0x080060b8, 1047 0x0800604c, 0x0800604c, 0x0800604c, 0x08006078, 0x08006078, 0x080060b8,
1048 0x080060c4, 0x080060c4, 0x0800604c, 0x00000000, 0x00000000 }; 1048 0x080060c4, 0x080060c4, 0x0800604c, 0x00000000, 0x00000000 };
1049static const u32 bnx2_COM_b09FwBss[(0x88/4) + 1] = { 0x0 };
1050static const u32 bnx2_COM_b09FwSbss[(0x60/4) + 1] = { 0x0 };
1051 1049
1052static struct fw_info bnx2_com_fw_09 = { 1050static struct fw_info bnx2_com_fw_09 = {
1053 .ver_major = 0x3, 1051 .ver_major = 0x3,
@@ -1070,12 +1068,10 @@ static struct fw_info bnx2_com_fw_09 = {
1070 .sbss_addr = 0x08007e60, 1068 .sbss_addr = 0x08007e60,
1071 .sbss_len = 0x60, 1069 .sbss_len = 0x60,
1072 .sbss_index = 0x0, 1070 .sbss_index = 0x0,
1073 .sbss = bnx2_COM_b09FwSbss,
1074 1071
1075 .bss_addr = 0x08007ec0, 1072 .bss_addr = 0x08007ec0,
1076 .bss_len = 0x88, 1073 .bss_len = 0x88,
1077 .bss_index = 0x0, 1074 .bss_index = 0x0,
1078 .bss = bnx2_COM_b09FwBss,
1079 1075
1080 .rodata_addr = 0x08007dc0, 1076 .rodata_addr = 0x08007dc0,
1081 .rodata_len = 0x88, 1077 .rodata_len = 0x88,
@@ -2243,8 +2239,6 @@ static const u32 bnx2_CP_b09FwRodata[(0x118/4) + 1] = {
2243 0x080032e8, 0x08003300, 0x08003320, 0x08003358, 0x08003338, 0x08003338, 2239 0x080032e8, 0x08003300, 0x08003320, 0x08003358, 0x08003338, 0x08003338,
2244 0x080050d4, 0x080050d4, 0x080050d4, 0x080050d4, 0x080050d4, 0x080050fc, 2240 0x080050d4, 0x080050d4, 0x080050d4, 0x080050d4, 0x080050d4, 0x080050fc,
2245 0x080050fc, 0x08005124, 0x08005174, 0x08005144, 0x00000000 }; 2241 0x080050fc, 0x08005124, 0x08005174, 0x08005144, 0x00000000 };
2246static const u32 bnx2_CP_b09FwBss[(0x3b0/4) + 1] = { 0x0 };
2247static const u32 bnx2_CP_b09FwSbss[(0xa1/4) + 1] = { 0x0 };
2248 2242
2249static struct fw_info bnx2_cp_fw_09 = { 2243static struct fw_info bnx2_cp_fw_09 = {
2250 .ver_major = 0x3, 2244 .ver_major = 0x3,
@@ -2267,12 +2261,10 @@ static struct fw_info bnx2_cp_fw_09 = {
2267 .sbss_addr = 0x08007024, 2261 .sbss_addr = 0x08007024,
2268 .sbss_len = 0xa1, 2262 .sbss_len = 0xa1,
2269 .sbss_index = 0x0, 2263 .sbss_index = 0x0,
2270 .sbss = bnx2_CP_b09FwSbss,
2271 2264
2272 .bss_addr = 0x080070d0, 2265 .bss_addr = 0x080070d0,
2273 .bss_len = 0x3b0, 2266 .bss_len = 0x3b0,
2274 .bss_index = 0x0, 2267 .bss_index = 0x0,
2275 .bss = bnx2_CP_b09FwBss,
2276 2268
2277 .rodata_addr = 0x08006ee8, 2269 .rodata_addr = 0x08006ee8,
2278 .rodata_len = 0x118, 2270 .rodata_len = 0x118,
@@ -2953,8 +2945,6 @@ static const u32 bnx2_RXP_b09FwRodata[(0x278/4) + 1] = {
2953 0x08006058, 0x08006070, 0x08006070, 0x08006070, 0x08006058, 0x08006070, 2945 0x08006058, 0x08006070, 0x08006070, 0x08006070, 0x08006058, 0x08006070,
2954 0x08006070, 0x08006070, 0x08006058, 0x08006070, 0x08006070, 0x08006070, 2946 0x08006070, 0x08006070, 0x08006058, 0x08006070, 0x08006070, 0x08006070,
2955 0x08006064, 0x00000000, 0x00000000 }; 2947 0x08006064, 0x00000000, 0x00000000 };
2956static const u32 bnx2_RXP_b09FwBss[(0x13dc/4) + 1] = { 0x0 };
2957static const u32 bnx2_RXP_b09FwSbss[(0x20/4) + 1] = { 0x0 };
2958 2948
2959static struct fw_info bnx2_rxp_fw_09 = { 2949static struct fw_info bnx2_rxp_fw_09 = {
2960 .ver_major = 0x3, 2950 .ver_major = 0x3,
@@ -2977,12 +2967,10 @@ static struct fw_info bnx2_rxp_fw_09 = {
2977 .sbss_addr = 0x08006a00, 2967 .sbss_addr = 0x08006a00,
2978 .sbss_len = 0x20, 2968 .sbss_len = 0x20,
2979 .sbss_index = 0x0, 2969 .sbss_index = 0x0,
2980 .sbss = bnx2_RXP_b09FwSbss,
2981 2970
2982 .bss_addr = 0x08006a20, 2971 .bss_addr = 0x08006a20,
2983 .bss_len = 0x13dc, 2972 .bss_len = 0x13dc,
2984 .bss_index = 0x0, 2973 .bss_index = 0x0,
2985 .bss = bnx2_RXP_b09FwBss,
2986 2974
2987 .rodata_addr = 0x08006768, 2975 .rodata_addr = 0x08006768,
2988 .rodata_len = 0x278, 2976 .rodata_len = 0x278,
@@ -3245,8 +3233,6 @@ static u8 bnx2_TPAT_b09FwText[] = {
3245 3233
3246static const u32 bnx2_TPAT_b09FwData[(0x0/4) + 1] = { 0x0 }; 3234static const u32 bnx2_TPAT_b09FwData[(0x0/4) + 1] = { 0x0 };
3247static const u32 bnx2_TPAT_b09FwRodata[(0x0/4) + 1] = { 0x0 }; 3235static const u32 bnx2_TPAT_b09FwRodata[(0x0/4) + 1] = { 0x0 };
3248static const u32 bnx2_TPAT_b09FwBss[(0x850/4) + 1] = { 0x0 };
3249static const u32 bnx2_TPAT_b09FwSbss[(0x2c/4) + 1] = { 0x0 };
3250 3236
3251static struct fw_info bnx2_tpat_fw_09 = { 3237static struct fw_info bnx2_tpat_fw_09 = {
3252 .ver_major = 0x3, 3238 .ver_major = 0x3,
@@ -3269,12 +3255,10 @@ static struct fw_info bnx2_tpat_fw_09 = {
3269 .sbss_addr = 0x08002088, 3255 .sbss_addr = 0x08002088,
3270 .sbss_len = 0x2c, 3256 .sbss_len = 0x2c,
3271 .sbss_index = 0x0, 3257 .sbss_index = 0x0,
3272 .sbss = bnx2_TPAT_b09FwSbss,
3273 3258
3274 .bss_addr = 0x080020c0, 3259 .bss_addr = 0x080020c0,
3275 .bss_len = 0x850, 3260 .bss_len = 0x850,
3276 .bss_index = 0x0, 3261 .bss_index = 0x0,
3277 .bss = bnx2_TPAT_b09FwBss,
3278 3262
3279 .rodata_addr = 0x00000000, 3263 .rodata_addr = 0x00000000,
3280 .rodata_len = 0x0, 3264 .rodata_len = 0x0,
@@ -4060,8 +4044,6 @@ static const u32 bnx2_TXP_b09FwRodata[(0x30/4) + 1] = {
4060 0x08004060, 0x0800408c, 0x080040d4, 0x080040d4, 0x08003f60, 0x08003f8c, 4044 0x08004060, 0x0800408c, 0x080040d4, 0x080040d4, 0x08003f60, 0x08003f8c,
4061 0x08003f8c, 0x080040d4, 0x080040d4, 0x080040d4, 0x08003ff4, 0x00000000, 4045 0x08003f8c, 0x080040d4, 0x080040d4, 0x080040d4, 0x08003ff4, 0x00000000,
4062 0x00000000 }; 4046 0x00000000 };
4063static const u32 bnx2_TXP_b09FwBss[(0xa20/4) + 1] = { 0x0 };
4064static const u32 bnx2_TXP_b09FwSbss[(0x8c/4) + 1] = { 0x0 };
4065 4047
4066static struct fw_info bnx2_txp_fw_09 = { 4048static struct fw_info bnx2_txp_fw_09 = {
4067 .ver_major = 0x3, 4049 .ver_major = 0x3,
@@ -4084,12 +4066,10 @@ static struct fw_info bnx2_txp_fw_09 = {
4084 .sbss_addr = 0x08004750, 4066 .sbss_addr = 0x08004750,
4085 .sbss_len = 0x8c, 4067 .sbss_len = 0x8c,
4086 .sbss_index = 0x0, 4068 .sbss_index = 0x0,
4087 .sbss = bnx2_TXP_b09FwSbss,
4088 4069
4089 .bss_addr = 0x080047e0, 4070 .bss_addr = 0x080047e0,
4090 .bss_len = 0xa20, 4071 .bss_len = 0xa20,
4091 .bss_index = 0x0, 4072 .bss_index = 0x0,
4092 .bss = bnx2_TXP_b09FwBss,
4093 4073
4094 .rodata_addr = 0x08004638, 4074 .rodata_addr = 0x08004638,
4095 .rodata_len = 0x30, 4075 .rodata_len = 0x30,