diff options
author | Krishna Gudipati <kgudipat@brocade.com> | 2011-06-25 03:23:38 (GMT) |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2011-06-29 21:59:59 (GMT) |
commit | 10a07379247078448c076690657a076076bf89aa (patch) | |
tree | 9d1a18ccf937203a0e9f0bb24ed601391c80b1e8 /drivers/scsi/bfa/bfa_ioc.c | |
parent | a714134a857d3984250ee52fda7850b61bf8a94e (diff) | |
download | linux-fsl-qoriq-10a07379247078448c076690657a076076bf89aa.tar.xz |
[SCSI] bfa: Brocade-1860 Fabric Adapter PLL init fixes.
- If flash controller is halted unconditionally, this results in
illegal write access to flash controller register domain. Since
flash controller registers are only accessible once s_clk is started
- added logic to check for WGN status and halt flash controller only
if it is already running.
- Added check to wait for flash controller halt to be completed before
proceeding with s_clk/l_clk initializations.
- Removed unnecessary reset logic for PMM 1T memory and moved memory
initialization after flash access enable.
- Disable Brocade-1860 asic MBOX interrupt before PLL initialization.
- Remove reset enable for S_CLK/L_CLK after both PLL initializations
are complete.
Signed-off-by: Krishna Gudipati <kgudipat@brocade.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/bfa/bfa_ioc.c')
-rw-r--r-- | drivers/scsi/bfa/bfa_ioc.c | 42 |
1 files changed, 1 insertions, 41 deletions
diff --git a/drivers/scsi/bfa/bfa_ioc.c b/drivers/scsi/bfa/bfa_ioc.c index 7b4a567..bfe3a87 100644 --- a/drivers/scsi/bfa/bfa_ioc.c +++ b/drivers/scsi/bfa/bfa_ioc.c @@ -2399,12 +2399,6 @@ bfa_ioc_error_isr(struct bfa_ioc_s *ioc) bfa_fsm_send_event(ioc, IOC_E_HWERROR); } -void -bfa_ioc_set_fcmode(struct bfa_ioc_s *ioc) -{ - ioc->fcmode = BFA_TRUE; -} - /* * return true if IOC is disabled */ @@ -2592,35 +2586,7 @@ bfa_ioc_get_adapter_model(struct bfa_ioc_s *ioc, char *model) ioc_attr = ioc->attr; - /* - * model name - */ - if (ioc->asic_gen == BFI_ASIC_GEN_CT2) { - int np = bfa_ioc_get_nports(ioc); - char c; - switch (ioc_attr->card_type) { - case BFA_MFG_TYPE_PROWLER_F: - case BFA_MFG_TYPE_PROWLER_N: - case BFA_MFG_TYPE_PROWLER_C: - snprintf(model, BFA_ADAPTER_MODEL_NAME_LEN, - "%s-%u-%u", - BFA_MFG_NAME, ioc_attr->card_type, np); - break; - case BFA_MFG_TYPE_PROWLER_D: - if (ioc_attr->ic == BFA_MFG_IC_FC) - c = 'F'; - else - c = 'P'; - - snprintf(model, BFA_ADAPTER_MODEL_NAME_LEN, - "%s-%u-%u%c", - BFA_MFG_NAME, ioc_attr->card_type, np, c); - break; - default: - break; - } - } else - snprintf(model, BFA_ADAPTER_MODEL_NAME_LEN, "%s-%u", + snprintf(model, BFA_ADAPTER_MODEL_NAME_LEN, "%s-%u", BFA_MFG_NAME, ioc_attr->card_type); } @@ -2711,12 +2677,6 @@ bfa_ioc_get_mfg_mac(struct bfa_ioc_s *ioc) return m; } -bfa_boolean_t -bfa_ioc_get_fcmode(struct bfa_ioc_s *ioc) -{ - return ioc->fcmode || bfa_asic_id_cb(ioc->pcidev.device_id); -} - /* * Retrieve saved firmware trace from a prior IOC failure. */ |