aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bfa/bfa_ioc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/bfa/bfa_ioc.c')
-rw-r--r--drivers/scsi/bfa/bfa_ioc.c38
1 files changed, 7 insertions, 31 deletions
diff --git a/drivers/scsi/bfa/bfa_ioc.c b/drivers/scsi/bfa/bfa_ioc.c
index 431cf72f7426..c1f72c49196f 100644
--- a/drivers/scsi/bfa/bfa_ioc.c
+++ b/drivers/scsi/bfa/bfa_ioc.c
@@ -957,7 +957,7 @@ bfa_iocpf_sm_disabling_sync_entry(struct bfa_iocpf_s *iocpf)
957 bfa_ioc_hw_sem_get(iocpf->ioc); 957 bfa_ioc_hw_sem_get(iocpf->ioc);
958} 958}
959 959
960/** 960/*
961 * IOC hb ack request is being removed. 961 * IOC hb ack request is being removed.
962 */ 962 */
963static void 963static void
@@ -1020,8 +1020,7 @@ bfa_iocpf_sm_initfail_sync_entry(struct bfa_iocpf_s *iocpf)
1020 bfa_ioc_hw_sem_get(iocpf->ioc); 1020 bfa_ioc_hw_sem_get(iocpf->ioc);
1021} 1021}
1022 1022
1023/** 1023/*
1024 * @brief
1025 * Hardware initialization failed. 1024 * Hardware initialization failed.
1026 */ 1025 */
1027static void 1026static void
@@ -1103,12 +1102,12 @@ bfa_iocpf_sm_initfail(struct bfa_iocpf_s *iocpf, enum iocpf_event event)
1103static void 1102static void
1104bfa_iocpf_sm_fail_sync_entry(struct bfa_iocpf_s *iocpf) 1103bfa_iocpf_sm_fail_sync_entry(struct bfa_iocpf_s *iocpf)
1105{ 1104{
1106 /** 1105 /*
1107 * Mark IOC as failed in hardware and stop firmware. 1106 * Mark IOC as failed in hardware and stop firmware.
1108 */ 1107 */
1109 bfa_ioc_lpu_stop(iocpf->ioc); 1108 bfa_ioc_lpu_stop(iocpf->ioc);
1110 1109
1111 /** 1110 /*
1112 * Flush any queued up mailbox requests. 1111 * Flush any queued up mailbox requests.
1113 */ 1112 */
1114 bfa_ioc_mbox_hbfail(iocpf->ioc); 1113 bfa_ioc_mbox_hbfail(iocpf->ioc);
@@ -1366,12 +1365,6 @@ bfa_ioc_fwver_valid(struct bfa_ioc_s *ioc, u32 boot_env)
1366{ 1365{
1367 struct bfi_ioc_image_hdr_s fwhdr, *drv_fwhdr; 1366 struct bfi_ioc_image_hdr_s fwhdr, *drv_fwhdr;
1368 1367
1369 /*
1370 * If bios/efi boot (flash based) -- return true
1371 */
1372 if (bfa_ioc_is_bios_optrom(ioc))
1373 return BFA_TRUE;
1374
1375 bfa_ioc_fwver_get(ioc, &fwhdr); 1368 bfa_ioc_fwver_get(ioc, &fwhdr);
1376 drv_fwhdr = (struct bfi_ioc_image_hdr_s *) 1369 drv_fwhdr = (struct bfi_ioc_image_hdr_s *)
1377 bfa_cb_image_get_chunk(BFA_IOC_FWIMG_TYPE(ioc), 0); 1370 bfa_cb_image_get_chunk(BFA_IOC_FWIMG_TYPE(ioc), 0);
@@ -1423,22 +1416,6 @@ bfa_ioc_hwinit(struct bfa_ioc_s *ioc, bfa_boolean_t force)
1423 boot_env = BFI_BOOT_LOADER_OS; 1416 boot_env = BFI_BOOT_LOADER_OS;
1424 1417
1425 /* 1418 /*
1426 * Flash based firmware boot BIOS env.
1427 */
1428 if (bfa_ioc_is_bios_optrom(ioc)) {
1429 boot_type = BFI_BOOT_TYPE_FLASH;
1430 boot_env = BFI_BOOT_LOADER_BIOS;
1431 }
1432
1433 /*
1434 * Flash based firmware boot UEFI env.
1435 */
1436 if (bfa_ioc_is_uefi(ioc)) {
1437 boot_type = BFI_BOOT_TYPE_FLASH;
1438 boot_env = BFI_BOOT_LOADER_UEFI;
1439 }
1440
1441 /*
1442 * check if firmware is valid 1419 * check if firmware is valid
1443 */ 1420 */
1444 fwvalid = (ioc_fwstate == BFI_IOC_UNINIT) ? 1421 fwvalid = (ioc_fwstate == BFI_IOC_UNINIT) ?
@@ -1466,8 +1443,7 @@ bfa_ioc_hwinit(struct bfa_ioc_s *ioc, bfa_boolean_t force)
1466 * convergence, IOC will be in operational state when 2nd driver 1443 * convergence, IOC will be in operational state when 2nd driver
1467 * is loaded. 1444 * is loaded.
1468 */ 1445 */
1469 if (ioc_fwstate == BFI_IOC_DISABLED || 1446 if (ioc_fwstate == BFI_IOC_DISABLED || ioc_fwstate == BFI_IOC_OP) {
1470 (!bfa_ioc_is_bios_optrom(ioc) && ioc_fwstate == BFI_IOC_OP)) {
1471 1447
1472 /* 1448 /*
1473 * When using MSI-X any pending firmware ready event should 1449 * When using MSI-X any pending firmware ready event should
@@ -1842,7 +1818,7 @@ bfa_ioc_fail_notify(struct bfa_ioc_s *ioc)
1842 struct bfa_ioc_hbfail_notify_s *notify; 1818 struct bfa_ioc_hbfail_notify_s *notify;
1843 struct bfad_s *bfad = (struct bfad_s *)ioc->bfa->bfad; 1819 struct bfad_s *bfad = (struct bfad_s *)ioc->bfa->bfad;
1844 1820
1845 /** 1821 /*
1846 * Notify driver and common modules registered for notification. 1822 * Notify driver and common modules registered for notification.
1847 */ 1823 */
1848 ioc->cbfn->hbfail_cbfn(ioc->bfa); 1824 ioc->cbfn->hbfail_cbfn(ioc->bfa);
@@ -2279,7 +2255,7 @@ bfa_ioc_adapter_is_disabled(struct bfa_ioc_s *ioc)
2279 return BFA_TRUE; 2255 return BFA_TRUE;
2280} 2256}
2281 2257
2282/** 2258/*
2283 * Reset IOC fwstate registers. 2259 * Reset IOC fwstate registers.
2284 */ 2260 */
2285void 2261void