Lines Matching refs:fi

243 static void fix_bios(struct esas2r_adapter *a, struct esas2r_flash_img *fi)
245 struct esas2r_component_header *ch = &fi->cmp_hdr[CH_IT_BIOS];
249 pi = (struct esas2r_pc_image *)((u8 *)fi + ch->image_offset);
275 static void fix_efi(struct esas2r_adapter *a, struct esas2r_flash_img *fi)
277 struct esas2r_component_header *ch = &fi->cmp_hdr[CH_IT_EFI];
286 ei = (struct esas2r_efi_image *)((u8 *)fi + offset);
307 struct esas2r_flash_img *fi = fc->fi;
309 fi->status = fi_stat;
310 fi->driver_error = rq->req_stat;
328 struct esas2r_flash_img *fi = fc->fi;
344 ch = &fi->cmp_hdr[fc->comp_typ];
347 q = (u8 *)fi /* start of the whole gob */
369 ((u8 *)fc->scratch - (u8 *)fi);
379 ch = &fi->cmp_hdr[fc->comp_typ];
384 ch = &fi->cmp_hdr[CH_IT_BIOS];
409 (u8 *)fi);
421 ch = &fi->cmp_hdr[CH_IT_MAC];
429 + fi->cmp_hdr[CH_IT_BIOS].length;
444 (u8 *)fi);
456 ch = &fi->cmp_hdr[CH_IT_EFI];
464 + fi->cmp_hdr[CH_IT_BIOS].length
465 + fi->cmp_hdr[CH_IT_MAC].length;
480 (u8 *)fi);
492 ch = &fi->cmp_hdr[CH_IT_CFG];
514 (u8 *)fi);
532 a->flash_ver = fi->cmp_hdr[CH_IT_BIOS].version;
536 memcpy(a->image_type, fi->rel_version,
537 sizeof(fi->rel_version));
551 if (fc->comp_typ < fi->num_comps) {
552 ch = &fi->cmp_hdr[fc->comp_typ];
666 struct esas2r_flash_img *fi = fc->fi;
671 for (len = (fi->length - fc->fi_hdr_len) / 2,
672 pw = (u16 *)((u8 *)fi + fc->fi_hdr_len),
695 struct esas2r_flash_img *fi = fc->fi;
703 len = fi->length;
707 fi->status = FI_STAT_LENGTH;
713 if ((type == FI_AT_UNKNWN) || (fi->adap_typ != type)) {
714 fi->status = FI_STAT_ADAPTYP;
725 for (i = 0, len = 0, ch = fi->cmp_hdr;
726 i < fi->num_comps;
770 if (chk_boot((u8 *)fi + ch->image_offset, ch->length)
785 if (!chk_cfg((u8 *)fi + ch->image_offset + ch->length,
793 fi->status = FI_STAT_UNKNOWN;
807 fi->status = FI_STAT_MISSING;
811 /* Compare fi->length to the sum of ch->length fields */
812 if (len != fi->length - fc->fi_hdr_len) {
813 fi->status = FI_STAT_LENGTH;
818 if (fi->checksum != calc_fi_checksum(fc)) {
819 fi->status = FI_STAT_CHKSUM;
1389 bool esas2r_fm_api(struct esas2r_adapter *a, struct esas2r_flash_img *fi,
1398 fi->status = FI_STAT_BUSY;
1404 fc->fi = fi;
1409 switch (fi->fi_version) {
1411 fc->scratch = ((struct esas2r_flash_img *)fi)->scratch_buf;
1423 switch (fi->action) {
1427 return complete_fmapi_req(a, rq, fi->status);
1430 ch = &fi->cmp_hdr[CH_IT_BIOS];
1433 fix_bios(a, fi);
1436 ch = &fi->cmp_hdr[CH_IT_EFI];
1439 fix_efi(a, fi);
1446 fi->checksum = calc_fi_checksum(fc);
1464 fi->adap_typ = get_fi_adap_type(a);
1465 fi->flags = 0;
1466 fi->num_comps = fc->num_comps;
1467 fi->length = fc->fi_hdr_len;
1470 memcpy(fi->rel_version, a->image_type,
1471 sizeof(fi->rel_version));
1474 for (j = 0, ch = fi->cmp_hdr;
1475 j < fi->num_comps;
1487 fi->cmp_hdr[CH_IT_BIOS].version =
1488 fi->cmp_hdr[CH_IT_MAC].version =
1489 fi->cmp_hdr[CH_IT_EFI].version =
1490 fi->cmp_hdr[CH_IT_CFG].version
1493 fi->cmp_hdr[CH_IT_BIOS].status =
1494 fi->cmp_hdr[CH_IT_MAC].status =
1495 fi->cmp_hdr[CH_IT_EFI].status =
1496 fi->cmp_hdr[CH_IT_CFG].status =