diff options
author | Krishna Gudipati <kgudipat@brocade.com> | 2011-06-24 23:28:37 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2011-06-29 18:27:20 -0400 |
commit | 3350d98d6d072fc4ac3622e61dc3dc351ef01dc5 (patch) | |
tree | 44aa4df294c2bea6ff7cf84b6bbe340737fe4331 /drivers/scsi/bfa/bfa_core.c | |
parent | 3d7fc66dcd8d510aaa46ab9b914b632bc149b05c (diff) |
[SCSI] bfa: Added support to query PHY.
- Added PHY sub-module.
- Implemented interface to obtain stats and to
read/update the fw from the PHY module.
Signed-off-by: Krishna Gudipati <kgudipat@brocade.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/bfa/bfa_core.c')
-rw-r--r-- | drivers/scsi/bfa/bfa_core.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/scsi/bfa/bfa_core.c b/drivers/scsi/bfa/bfa_core.c index e688ff72166d..c38e589105a5 100644 --- a/drivers/scsi/bfa/bfa_core.c +++ b/drivers/scsi/bfa/bfa_core.c | |||
@@ -154,6 +154,16 @@ bfa_com_diag_attach(struct bfa_s *bfa) | |||
154 | bfa_diag_memclaim(diag, diag_dma->kva_curp, diag_dma->dma_curp); | 154 | bfa_diag_memclaim(diag, diag_dma->kva_curp, diag_dma->dma_curp); |
155 | } | 155 | } |
156 | 156 | ||
157 | static void | ||
158 | bfa_com_phy_attach(struct bfa_s *bfa, bfa_boolean_t mincfg) | ||
159 | { | ||
160 | struct bfa_phy_s *phy = BFA_PHY(bfa); | ||
161 | struct bfa_mem_dma_s *phy_dma = BFA_MEM_PHY_DMA(bfa); | ||
162 | |||
163 | bfa_phy_attach(phy, &bfa->ioc, bfa, bfa->trcmod, mincfg); | ||
164 | bfa_phy_memclaim(phy, phy_dma->kva_curp, phy_dma->dma_curp, mincfg); | ||
165 | } | ||
166 | |||
157 | /* | 167 | /* |
158 | * BFA IOC FC related definitions | 168 | * BFA IOC FC related definitions |
159 | */ | 169 | */ |
@@ -1395,6 +1405,7 @@ bfa_cfg_get_meminfo(struct bfa_iocfc_cfg_s *cfg, struct bfa_meminfo_s *meminfo, | |||
1395 | struct bfa_mem_dma_s *sfp_dma = BFA_MEM_SFP_DMA(bfa); | 1405 | struct bfa_mem_dma_s *sfp_dma = BFA_MEM_SFP_DMA(bfa); |
1396 | struct bfa_mem_dma_s *flash_dma = BFA_MEM_FLASH_DMA(bfa); | 1406 | struct bfa_mem_dma_s *flash_dma = BFA_MEM_FLASH_DMA(bfa); |
1397 | struct bfa_mem_dma_s *diag_dma = BFA_MEM_DIAG_DMA(bfa); | 1407 | struct bfa_mem_dma_s *diag_dma = BFA_MEM_DIAG_DMA(bfa); |
1408 | struct bfa_mem_dma_s *phy_dma = BFA_MEM_PHY_DMA(bfa); | ||
1398 | 1409 | ||
1399 | WARN_ON((cfg == NULL) || (meminfo == NULL)); | 1410 | WARN_ON((cfg == NULL) || (meminfo == NULL)); |
1400 | 1411 | ||
@@ -1417,6 +1428,8 @@ bfa_cfg_get_meminfo(struct bfa_iocfc_cfg_s *cfg, struct bfa_meminfo_s *meminfo, | |||
1417 | bfa_mem_dma_setup(meminfo, flash_dma, | 1428 | bfa_mem_dma_setup(meminfo, flash_dma, |
1418 | bfa_flash_meminfo(cfg->drvcfg.min_cfg)); | 1429 | bfa_flash_meminfo(cfg->drvcfg.min_cfg)); |
1419 | bfa_mem_dma_setup(meminfo, diag_dma, bfa_diag_meminfo()); | 1430 | bfa_mem_dma_setup(meminfo, diag_dma, bfa_diag_meminfo()); |
1431 | bfa_mem_dma_setup(meminfo, phy_dma, | ||
1432 | bfa_phy_meminfo(cfg->drvcfg.min_cfg)); | ||
1420 | } | 1433 | } |
1421 | 1434 | ||
1422 | /* | 1435 | /* |
@@ -1488,6 +1501,7 @@ bfa_attach(struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg, | |||
1488 | bfa_com_sfp_attach(bfa); | 1501 | bfa_com_sfp_attach(bfa); |
1489 | bfa_com_flash_attach(bfa, cfg->drvcfg.min_cfg); | 1502 | bfa_com_flash_attach(bfa, cfg->drvcfg.min_cfg); |
1490 | bfa_com_diag_attach(bfa); | 1503 | bfa_com_diag_attach(bfa); |
1504 | bfa_com_phy_attach(bfa, cfg->drvcfg.min_cfg); | ||
1491 | } | 1505 | } |
1492 | 1506 | ||
1493 | /* | 1507 | /* |