diff options
author | Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com> | 2012-04-24 21:47:15 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-26 05:03:31 -0400 |
commit | c165541efc4d1024d7db22ecdf64359b1f6107fc (patch) | |
tree | 452445d747b5ef81d59f388e48036e5913b2091a /drivers/net/ethernet/emulex/benet/be_hw.h | |
parent | 652bf64622f32c938dd4a8738ba12d51dc9fbdd4 (diff) |
be2net: Fix FW download for BE
Skip flashing a FW component if that component is not present in a
particular FW UFI image.
Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com>
Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/emulex/benet/be_hw.h')
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_hw.h | 74 |
1 files changed, 51 insertions, 23 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_hw.h b/drivers/net/ethernet/emulex/benet/be_hw.h index f2c89e3ccabd..0949aa609164 100644 --- a/drivers/net/ethernet/emulex/benet/be_hw.h +++ b/drivers/net/ethernet/emulex/benet/be_hw.h | |||
@@ -162,22 +162,23 @@ | |||
162 | #define QUERY_FAT 1 | 162 | #define QUERY_FAT 1 |
163 | 163 | ||
164 | /* Flashrom related descriptors */ | 164 | /* Flashrom related descriptors */ |
165 | #define MAX_FLASH_COMP 32 | ||
165 | #define IMAGE_TYPE_FIRMWARE 160 | 166 | #define IMAGE_TYPE_FIRMWARE 160 |
166 | #define IMAGE_TYPE_BOOTCODE 224 | 167 | #define IMAGE_TYPE_BOOTCODE 224 |
167 | #define IMAGE_TYPE_OPTIONROM 32 | 168 | #define IMAGE_TYPE_OPTIONROM 32 |
168 | 169 | ||
169 | #define NUM_FLASHDIR_ENTRIES 32 | 170 | #define NUM_FLASHDIR_ENTRIES 32 |
170 | 171 | ||
171 | #define IMG_TYPE_ISCSI_ACTIVE 0 | 172 | #define OPTYPE_ISCSI_ACTIVE 0 |
172 | #define IMG_TYPE_REDBOOT 1 | 173 | #define OPTYPE_REDBOOT 1 |
173 | #define IMG_TYPE_BIOS 2 | 174 | #define OPTYPE_BIOS 2 |
174 | #define IMG_TYPE_PXE_BIOS 3 | 175 | #define OPTYPE_PXE_BIOS 3 |
175 | #define IMG_TYPE_FCOE_BIOS 8 | 176 | #define OPTYPE_FCOE_BIOS 8 |
176 | #define IMG_TYPE_ISCSI_BACKUP 9 | 177 | #define OPTYPE_ISCSI_BACKUP 9 |
177 | #define IMG_TYPE_FCOE_FW_ACTIVE 10 | 178 | #define OPTYPE_FCOE_FW_ACTIVE 10 |
178 | #define IMG_TYPE_FCOE_FW_BACKUP 11 | 179 | #define OPTYPE_FCOE_FW_BACKUP 11 |
179 | #define IMG_TYPE_NCSI_FW 13 | 180 | #define OPTYPE_NCSI_FW 13 |
180 | #define IMG_TYPE_PHY_FW 99 | 181 | #define OPTYPE_PHY_FW 99 |
181 | #define TN_8022 13 | 182 | #define TN_8022 13 |
182 | 183 | ||
183 | #define ILLEGAL_IOCTL_REQ 2 | 184 | #define ILLEGAL_IOCTL_REQ 2 |
@@ -223,6 +224,24 @@ | |||
223 | #define FLASH_REDBOOT_START_g3 (262144) | 224 | #define FLASH_REDBOOT_START_g3 (262144) |
224 | #define FLASH_PHY_FW_START_g3 1310720 | 225 | #define FLASH_PHY_FW_START_g3 1310720 |
225 | 226 | ||
227 | #define IMAGE_NCSI 16 | ||
228 | #define IMAGE_OPTION_ROM_PXE 32 | ||
229 | #define IMAGE_OPTION_ROM_FCoE 33 | ||
230 | #define IMAGE_OPTION_ROM_ISCSI 34 | ||
231 | #define IMAGE_FLASHISM_JUMPVECTOR 48 | ||
232 | #define IMAGE_FLASH_ISM 49 | ||
233 | #define IMAGE_JUMP_VECTOR 50 | ||
234 | #define IMAGE_FIRMWARE_iSCSI 160 | ||
235 | #define IMAGE_FIRMWARE_COMP_iSCSI 161 | ||
236 | #define IMAGE_FIRMWARE_FCoE 162 | ||
237 | #define IMAGE_FIRMWARE_COMP_FCoE 163 | ||
238 | #define IMAGE_FIRMWARE_BACKUP_iSCSI 176 | ||
239 | #define IMAGE_FIRMWARE_BACKUP_COMP_iSCSI 177 | ||
240 | #define IMAGE_FIRMWARE_BACKUP_FCoE 178 | ||
241 | #define IMAGE_FIRMWARE_BACKUP_COMP_FCoE 179 | ||
242 | #define IMAGE_FIRMWARE_PHY 192 | ||
243 | #define IMAGE_BOOT_CODE 224 | ||
244 | |||
226 | /************* Rx Packet Type Encoding **************/ | 245 | /************* Rx Packet Type Encoding **************/ |
227 | #define BE_UNICAST_PACKET 0 | 246 | #define BE_UNICAST_PACKET 0 |
228 | #define BE_MULTICAST_PACKET 1 | 247 | #define BE_MULTICAST_PACKET 1 |
@@ -445,6 +464,7 @@ struct flash_comp { | |||
445 | unsigned long offset; | 464 | unsigned long offset; |
446 | int optype; | 465 | int optype; |
447 | int size; | 466 | int size; |
467 | int img_type; | ||
448 | }; | 468 | }; |
449 | 469 | ||
450 | struct image_hdr { | 470 | struct image_hdr { |
@@ -481,17 +501,19 @@ struct flash_section_hdr { | |||
481 | u32 format_rev; | 501 | u32 format_rev; |
482 | u32 cksum; | 502 | u32 cksum; |
483 | u32 antidote; | 503 | u32 antidote; |
484 | u32 build_no; | 504 | u32 num_images; |
485 | u8 id_string[64]; | 505 | u8 id_string[128]; |
486 | u32 active_entry_mask; | 506 | u32 rsvd[4]; |
487 | u32 valid_entry_mask; | 507 | } __packed; |
488 | u32 org_content_mask; | 508 | |
489 | u32 rsvd0; | 509 | struct flash_section_hdr_g2 { |
490 | u32 rsvd1; | 510 | u32 format_rev; |
491 | u32 rsvd2; | 511 | u32 cksum; |
492 | u32 rsvd3; | 512 | u32 antidote; |
493 | u32 rsvd4; | 513 | u32 build_num; |
494 | }; | 514 | u8 id_string[128]; |
515 | u32 rsvd[8]; | ||
516 | } __packed; | ||
495 | 517 | ||
496 | struct flash_section_entry { | 518 | struct flash_section_entry { |
497 | u32 type; | 519 | u32 type; |
@@ -503,10 +525,16 @@ struct flash_section_entry { | |||
503 | u32 rsvd0; | 525 | u32 rsvd0; |
504 | u32 rsvd1; | 526 | u32 rsvd1; |
505 | u8 ver_data[32]; | 527 | u8 ver_data[32]; |
506 | }; | 528 | } __packed; |
507 | 529 | ||
508 | struct flash_section_info { | 530 | struct flash_section_info { |
509 | u8 cookie[32]; | 531 | u8 cookie[32]; |
510 | struct flash_section_hdr fsec_hdr; | 532 | struct flash_section_hdr fsec_hdr; |
511 | struct flash_section_entry fsec_entry[32]; | 533 | struct flash_section_entry fsec_entry[32]; |
512 | }; | 534 | } __packed; |
535 | |||
536 | struct flash_section_info_g2 { | ||
537 | u8 cookie[32]; | ||
538 | struct flash_section_hdr_g2 fsec_hdr; | ||
539 | struct flash_section_entry fsec_entry[32]; | ||
540 | } __packed; | ||