diff options
Diffstat (limited to 'drivers/scsi/bfa/bfa_ioc.h')
-rw-r--r-- | drivers/scsi/bfa/bfa_ioc.h | 48 |
1 files changed, 47 insertions, 1 deletions
diff --git a/drivers/scsi/bfa/bfa_ioc.h b/drivers/scsi/bfa/bfa_ioc.h index c5ecd2edc95..546d46b3710 100644 --- a/drivers/scsi/bfa/bfa_ioc.h +++ b/drivers/scsi/bfa/bfa_ioc.h | |||
@@ -327,6 +327,7 @@ struct bfa_ioc_s { | |||
327 | enum bfa_mode_s port_mode; | 327 | enum bfa_mode_s port_mode; |
328 | u8 ad_cap_bm; /* adapter cap bit mask */ | 328 | u8 ad_cap_bm; /* adapter cap bit mask */ |
329 | u8 port_mode_cfg; /* config port mode */ | 329 | u8 port_mode_cfg; /* config port mode */ |
330 | int ioc_aen_seq; | ||
330 | }; | 331 | }; |
331 | 332 | ||
332 | struct bfa_ioc_hwif_s { | 333 | struct bfa_ioc_hwif_s { |
@@ -366,6 +367,8 @@ struct bfa_cb_qe_s { | |||
366 | struct list_head qe; | 367 | struct list_head qe; |
367 | bfa_cb_cbfn_t cbfn; | 368 | bfa_cb_cbfn_t cbfn; |
368 | bfa_boolean_t once; | 369 | bfa_boolean_t once; |
370 | bfa_boolean_t pre_rmv; /* set for stack based qe(s) */ | ||
371 | bfa_status_t fw_status; /* to access fw status in comp proc */ | ||
369 | void *cbarg; | 372 | void *cbarg; |
370 | }; | 373 | }; |
371 | 374 | ||
@@ -658,7 +661,6 @@ struct bfa_phy_s { | |||
658 | struct bfa_ioc_notify_s ioc_notify; /* ioc event notify */ | 661 | struct bfa_ioc_notify_s ioc_notify; /* ioc event notify */ |
659 | struct bfa_mem_dma_s phy_dma; | 662 | struct bfa_mem_dma_s phy_dma; |
660 | }; | 663 | }; |
661 | |||
662 | #define BFA_PHY(__bfa) (&(__bfa)->modules.phy) | 664 | #define BFA_PHY(__bfa) (&(__bfa)->modules.phy) |
663 | #define BFA_MEM_PHY_DMA(__bfa) (&(BFA_PHY(__bfa)->phy_dma)) | 665 | #define BFA_MEM_PHY_DMA(__bfa) (&(BFA_PHY(__bfa)->phy_dma)) |
664 | 666 | ||
@@ -684,6 +686,49 @@ void bfa_phy_memclaim(struct bfa_phy_s *phy, | |||
684 | void bfa_phy_intr(void *phyarg, struct bfi_mbmsg_s *msg); | 686 | void bfa_phy_intr(void *phyarg, struct bfi_mbmsg_s *msg); |
685 | 687 | ||
686 | /* | 688 | /* |
689 | * Driver Config( dconf) specific | ||
690 | */ | ||
691 | #define BFI_DCONF_SIGNATURE 0xabcdabcd | ||
692 | #define BFI_DCONF_VERSION 1 | ||
693 | |||
694 | #pragma pack(1) | ||
695 | struct bfa_dconf_hdr_s { | ||
696 | u32 signature; | ||
697 | u32 version; | ||
698 | }; | ||
699 | |||
700 | struct bfa_dconf_s { | ||
701 | struct bfa_dconf_hdr_s hdr; | ||
702 | struct bfa_lunmask_cfg_s lun_mask; | ||
703 | }; | ||
704 | #pragma pack() | ||
705 | |||
706 | struct bfa_dconf_mod_s { | ||
707 | bfa_sm_t sm; | ||
708 | u8 instance; | ||
709 | bfa_boolean_t flashdone; | ||
710 | bfa_boolean_t read_data_valid; | ||
711 | bfa_boolean_t min_cfg; | ||
712 | struct bfa_timer_s timer; | ||
713 | struct bfa_s *bfa; | ||
714 | void *bfad; | ||
715 | void *trcmod; | ||
716 | struct bfa_dconf_s *dconf; | ||
717 | struct bfa_mem_kva_s kva_seg; | ||
718 | }; | ||
719 | |||
720 | #define BFA_DCONF_MOD(__bfa) \ | ||
721 | (&(__bfa)->modules.dconf_mod) | ||
722 | #define BFA_MEM_DCONF_KVA(__bfa) (&(BFA_DCONF_MOD(__bfa)->kva_seg)) | ||
723 | #define bfa_dconf_read_data_valid(__bfa) \ | ||
724 | (BFA_DCONF_MOD(__bfa)->read_data_valid) | ||
725 | #define BFA_DCONF_UPDATE_TOV 5000 /* memtest timeout in msec */ | ||
726 | |||
727 | void bfa_dconf_modinit(struct bfa_s *bfa); | ||
728 | void bfa_dconf_modexit(struct bfa_s *bfa); | ||
729 | bfa_status_t bfa_dconf_update(struct bfa_s *bfa); | ||
730 | |||
731 | /* | ||
687 | * IOC specfic macros | 732 | * IOC specfic macros |
688 | */ | 733 | */ |
689 | #define bfa_ioc_pcifn(__ioc) ((__ioc)->pcidev.pci_func) | 734 | #define bfa_ioc_pcifn(__ioc) ((__ioc)->pcidev.pci_func) |
@@ -803,6 +848,7 @@ void bfa_ioc_fwver_get(struct bfa_ioc_s *ioc, | |||
803 | struct bfi_ioc_image_hdr_s *fwhdr); | 848 | struct bfi_ioc_image_hdr_s *fwhdr); |
804 | bfa_boolean_t bfa_ioc_fwver_cmp(struct bfa_ioc_s *ioc, | 849 | bfa_boolean_t bfa_ioc_fwver_cmp(struct bfa_ioc_s *ioc, |
805 | struct bfi_ioc_image_hdr_s *fwhdr); | 850 | struct bfi_ioc_image_hdr_s *fwhdr); |
851 | void bfa_ioc_aen_post(struct bfa_ioc_s *ioc, enum bfa_ioc_aen_event event); | ||
806 | bfa_status_t bfa_ioc_fw_stats_get(struct bfa_ioc_s *ioc, void *stats); | 852 | bfa_status_t bfa_ioc_fw_stats_get(struct bfa_ioc_s *ioc, void *stats); |
807 | bfa_status_t bfa_ioc_fw_stats_clear(struct bfa_ioc_s *ioc); | 853 | bfa_status_t bfa_ioc_fw_stats_clear(struct bfa_ioc_s *ioc); |
808 | 854 | ||