aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bfa/bfa_ioc.h
diff options
context:
space:
mode:
authorKrishna Gudipati <kgudipat@brocade.com>2011-06-24 23:23:38 -0400
committerJames Bottomley <JBottomley@Parallels.com>2011-06-29 17:59:59 -0400
commit10a07379247078448c076690657a076076bf89aa (patch)
tree9d1a18ccf937203a0e9f0bb24ed601391c80b1e8 /drivers/scsi/bfa/bfa_ioc.h
parenta714134a857d3984250ee52fda7850b61bf8a94e (diff)
[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.h')
-rw-r--r--drivers/scsi/bfa/bfa_ioc.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/scsi/bfa/bfa_ioc.h b/drivers/scsi/bfa/bfa_ioc.h
index 78e9606217ea..1055ca9f6043 100644
--- a/drivers/scsi/bfa/bfa_ioc.h
+++ b/drivers/scsi/bfa/bfa_ioc.h
@@ -362,6 +362,7 @@ bfa_status_t bfa_ioc_ct2_pll_init(void __iomem *rb, enum bfi_asic_mode mode);
362} while (0) 362} while (0)
363#define bfa_ioc_ownership_reset(__ioc) \ 363#define bfa_ioc_ownership_reset(__ioc) \
364 ((__ioc)->ioc_hwif->ioc_ownership_reset(__ioc)) 364 ((__ioc)->ioc_hwif->ioc_ownership_reset(__ioc))
365#define bfa_ioc_get_fcmode(__ioc) ((__ioc)->fcmode)
365#define bfa_ioc_lpu_read_stat(__ioc) do { \ 366#define bfa_ioc_lpu_read_stat(__ioc) do { \
366 if ((__ioc)->ioc_hwif->ioc_lpu_read_stat) \ 367 if ((__ioc)->ioc_hwif->ioc_lpu_read_stat) \
367 ((__ioc)->ioc_hwif->ioc_lpu_read_stat(__ioc)); \ 368 ((__ioc)->ioc_hwif->ioc_lpu_read_stat(__ioc)); \
@@ -414,8 +415,6 @@ bfa_status_t bfa_ioc_debug_fwtrc(struct bfa_ioc_s *ioc, void *trcdata,
414 int *trclen); 415 int *trclen);
415bfa_status_t bfa_ioc_debug_fwcore(struct bfa_ioc_s *ioc, void *buf, 416bfa_status_t bfa_ioc_debug_fwcore(struct bfa_ioc_s *ioc, void *buf,
416 u32 *offset, int *buflen); 417 u32 *offset, int *buflen);
417void bfa_ioc_set_fcmode(struct bfa_ioc_s *ioc);
418bfa_boolean_t bfa_ioc_get_fcmode(struct bfa_ioc_s *ioc);
419bfa_boolean_t bfa_ioc_sem_get(void __iomem *sem_reg); 418bfa_boolean_t bfa_ioc_sem_get(void __iomem *sem_reg);
420void bfa_ioc_fwver_get(struct bfa_ioc_s *ioc, 419void bfa_ioc_fwver_get(struct bfa_ioc_s *ioc,
421 struct bfi_ioc_image_hdr_s *fwhdr); 420 struct bfi_ioc_image_hdr_s *fwhdr);