aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/emulex/benet/be_hw.h
diff options
context:
space:
mode:
authorPadmanabh Ratnakar <padmanabh.ratnakar@emulex.com>2012-04-24 21:47:15 -0400
committerDavid S. Miller <davem@davemloft.net>2012-04-26 05:03:31 -0400
commitc165541efc4d1024d7db22ecdf64359b1f6107fc (patch)
tree452445d747b5ef81d59f388e48036e5913b2091a /drivers/net/ethernet/emulex/benet/be_hw.h
parent652bf64622f32c938dd4a8738ba12d51dc9fbdd4 (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.h74
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
450struct image_hdr { 470struct 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; 509struct 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
496struct flash_section_entry { 518struct 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
508struct flash_section_info { 530struct 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
536struct 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;