Lines Matching refs:fi

243 static void fix_bios(struct esas2r_adapter *a, struct esas2r_flash_img *fi)  in fix_bios()  argument
245 struct esas2r_component_header *ch = &fi->cmp_hdr[CH_IT_BIOS]; in fix_bios()
249 pi = (struct esas2r_pc_image *)((u8 *)fi + ch->image_offset); in fix_bios()
275 static void fix_efi(struct esas2r_adapter *a, struct esas2r_flash_img *fi) in fix_efi() argument
277 struct esas2r_component_header *ch = &fi->cmp_hdr[CH_IT_EFI]; in fix_efi()
286 ei = (struct esas2r_efi_image *)((u8 *)fi + offset); in fix_efi()
307 struct esas2r_flash_img *fi = fc->fi; in complete_fmapi_req() local
309 fi->status = fi_stat; in complete_fmapi_req()
310 fi->driver_error = rq->req_stat; in complete_fmapi_req()
328 struct esas2r_flash_img *fi = fc->fi; in fw_download_proc() local
344 ch = &fi->cmp_hdr[fc->comp_typ]; in fw_download_proc()
347 q = (u8 *)fi /* start of the whole gob */ in fw_download_proc()
369 ((u8 *)fc->scratch - (u8 *)fi); in fw_download_proc()
379 ch = &fi->cmp_hdr[fc->comp_typ]; in fw_download_proc()
384 ch = &fi->cmp_hdr[CH_IT_BIOS]; in fw_download_proc()
409 (u8 *)fi); in fw_download_proc()
421 ch = &fi->cmp_hdr[CH_IT_MAC]; in fw_download_proc()
429 + fi->cmp_hdr[CH_IT_BIOS].length; in fw_download_proc()
444 (u8 *)fi); in fw_download_proc()
456 ch = &fi->cmp_hdr[CH_IT_EFI]; in fw_download_proc()
464 + fi->cmp_hdr[CH_IT_BIOS].length in fw_download_proc()
465 + fi->cmp_hdr[CH_IT_MAC].length; in fw_download_proc()
480 (u8 *)fi); in fw_download_proc()
492 ch = &fi->cmp_hdr[CH_IT_CFG]; in fw_download_proc()
514 (u8 *)fi); in fw_download_proc()
532 a->flash_ver = fi->cmp_hdr[CH_IT_BIOS].version; in fw_download_proc()
536 memcpy(a->image_type, fi->rel_version, in fw_download_proc()
537 sizeof(fi->rel_version)); in fw_download_proc()
551 if (fc->comp_typ < fi->num_comps) { in fw_download_proc()
552 ch = &fi->cmp_hdr[fc->comp_typ]; in fw_download_proc()
666 struct esas2r_flash_img *fi = fc->fi; in calc_fi_checksum() local
671 for (len = (fi->length - fc->fi_hdr_len) / 2, in calc_fi_checksum()
672 pw = (u16 *)((u8 *)fi + fc->fi_hdr_len), in calc_fi_checksum()
695 struct esas2r_flash_img *fi = fc->fi; in verify_fi() local
703 len = fi->length; in verify_fi()
707 fi->status = FI_STAT_LENGTH; in verify_fi()
713 if ((type == FI_AT_UNKNWN) || (fi->adap_typ != type)) { in verify_fi()
714 fi->status = FI_STAT_ADAPTYP; in verify_fi()
725 for (i = 0, len = 0, ch = fi->cmp_hdr; in verify_fi()
726 i < fi->num_comps; in verify_fi()
770 if (chk_boot((u8 *)fi + ch->image_offset, ch->length) in verify_fi()
785 if (!chk_cfg((u8 *)fi + ch->image_offset + ch->length, in verify_fi()
793 fi->status = FI_STAT_UNKNOWN; in verify_fi()
807 fi->status = FI_STAT_MISSING; in verify_fi()
812 if (len != fi->length - fc->fi_hdr_len) { in verify_fi()
813 fi->status = FI_STAT_LENGTH; in verify_fi()
818 if (fi->checksum != calc_fi_checksum(fc)) { in verify_fi()
819 fi->status = FI_STAT_CHKSUM; in verify_fi()
1390 bool esas2r_fm_api(struct esas2r_adapter *a, struct esas2r_flash_img *fi, in esas2r_fm_api() argument
1399 fi->status = FI_STAT_BUSY; in esas2r_fm_api()
1405 fc->fi = fi; in esas2r_fm_api()
1410 switch (fi->fi_version) { in esas2r_fm_api()
1412 fc->scratch = ((struct esas2r_flash_img *)fi)->scratch_buf; in esas2r_fm_api()
1424 switch (fi->action) { in esas2r_fm_api()
1428 return complete_fmapi_req(a, rq, fi->status); in esas2r_fm_api()
1431 ch = &fi->cmp_hdr[CH_IT_BIOS]; in esas2r_fm_api()
1434 fix_bios(a, fi); in esas2r_fm_api()
1437 ch = &fi->cmp_hdr[CH_IT_EFI]; in esas2r_fm_api()
1440 fix_efi(a, fi); in esas2r_fm_api()
1447 fi->checksum = calc_fi_checksum(fc); in esas2r_fm_api()
1465 fi->adap_typ = get_fi_adap_type(a); in esas2r_fm_api()
1466 fi->flags = 0; in esas2r_fm_api()
1467 fi->num_comps = fc->num_comps; in esas2r_fm_api()
1468 fi->length = fc->fi_hdr_len; in esas2r_fm_api()
1471 memcpy(fi->rel_version, a->image_type, in esas2r_fm_api()
1472 sizeof(fi->rel_version)); in esas2r_fm_api()
1475 for (j = 0, ch = fi->cmp_hdr; in esas2r_fm_api()
1476 j < fi->num_comps; in esas2r_fm_api()
1488 fi->cmp_hdr[CH_IT_BIOS].version = in esas2r_fm_api()
1489 fi->cmp_hdr[CH_IT_MAC].version = in esas2r_fm_api()
1490 fi->cmp_hdr[CH_IT_EFI].version = in esas2r_fm_api()
1491 fi->cmp_hdr[CH_IT_CFG].version in esas2r_fm_api()
1494 fi->cmp_hdr[CH_IT_BIOS].status = in esas2r_fm_api()
1495 fi->cmp_hdr[CH_IT_MAC].status = in esas2r_fm_api()
1496 fi->cmp_hdr[CH_IT_EFI].status = in esas2r_fm_api()
1497 fi->cmp_hdr[CH_IT_CFG].status = in esas2r_fm_api()