diff options
Diffstat (limited to 'drivers/scsi/bfa/bfa_ioc.h')
-rw-r--r-- | drivers/scsi/bfa/bfa_ioc.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/drivers/scsi/bfa/bfa_ioc.h b/drivers/scsi/bfa/bfa_ioc.h index c717b2035573..337d0366845f 100644 --- a/drivers/scsi/bfa/bfa_ioc.h +++ b/drivers/scsi/bfa/bfa_ioc.h | |||
@@ -91,6 +91,7 @@ struct bfa_pcidev_s { | |||
91 | int pci_slot; | 91 | int pci_slot; |
92 | u8 pci_func; | 92 | u8 pci_func; |
93 | u16 device_id; | 93 | u16 device_id; |
94 | u16 ssid; | ||
94 | void __iomem *pci_bar_kva; | 95 | void __iomem *pci_bar_kva; |
95 | }; | 96 | }; |
96 | 97 | ||
@@ -261,6 +262,9 @@ struct bfa_ioc_s { | |||
261 | enum bfi_asic_mode asic_mode; | 262 | enum bfi_asic_mode asic_mode; |
262 | enum bfi_port_mode port0_mode; | 263 | enum bfi_port_mode port0_mode; |
263 | enum bfi_port_mode port1_mode; | 264 | enum bfi_port_mode port1_mode; |
265 | enum bfa_mode_s port_mode; | ||
266 | u8 ad_cap_bm; /* adapter cap bit mask */ | ||
267 | u8 port_mode_cfg; /* config port mode */ | ||
264 | }; | 268 | }; |
265 | 269 | ||
266 | struct bfa_ioc_hwif_s { | 270 | struct bfa_ioc_hwif_s { |
@@ -281,6 +285,24 @@ struct bfa_ioc_hwif_s { | |||
281 | bfa_boolean_t (*ioc_lpu_read_stat) (struct bfa_ioc_s *ioc); | 285 | bfa_boolean_t (*ioc_lpu_read_stat) (struct bfa_ioc_s *ioc); |
282 | }; | 286 | }; |
283 | 287 | ||
288 | /* | ||
289 | * ASIC block configurtion related | ||
290 | */ | ||
291 | |||
292 | typedef void (*bfa_ablk_cbfn_t)(void *, enum bfa_status); | ||
293 | |||
294 | struct bfa_ablk_s { | ||
295 | struct bfa_ioc_s *ioc; | ||
296 | struct bfa_ablk_cfg_s *cfg; | ||
297 | u16 *pcifn; | ||
298 | struct bfa_dma_s dma_addr; | ||
299 | bfa_boolean_t busy; | ||
300 | struct bfa_mbox_cmd_s mb; | ||
301 | bfa_ablk_cbfn_t cbfn; | ||
302 | void *cbarg; | ||
303 | struct bfa_ioc_notify_s ioc_notify; | ||
304 | }; | ||
305 | |||
284 | #define bfa_ioc_pcifn(__ioc) ((__ioc)->pcidev.pci_func) | 306 | #define bfa_ioc_pcifn(__ioc) ((__ioc)->pcidev.pci_func) |
285 | #define bfa_ioc_devid(__ioc) ((__ioc)->pcidev.device_id) | 307 | #define bfa_ioc_devid(__ioc) ((__ioc)->pcidev.device_id) |
286 | #define bfa_ioc_bar0(__ioc) ((__ioc)->pcidev.pci_bar_kva) | 308 | #define bfa_ioc_bar0(__ioc) ((__ioc)->pcidev.pci_bar_kva) |
@@ -402,6 +424,33 @@ bfa_status_t bfa_ioc_fw_stats_get(struct bfa_ioc_s *ioc, void *stats); | |||
402 | bfa_status_t bfa_ioc_fw_stats_clear(struct bfa_ioc_s *ioc); | 424 | bfa_status_t bfa_ioc_fw_stats_clear(struct bfa_ioc_s *ioc); |
403 | 425 | ||
404 | /* | 426 | /* |
427 | * asic block configuration related APIs | ||
428 | */ | ||
429 | u32 bfa_ablk_meminfo(void); | ||
430 | void bfa_ablk_memclaim(struct bfa_ablk_s *ablk, u8 *dma_kva, u64 dma_pa); | ||
431 | void bfa_ablk_attach(struct bfa_ablk_s *ablk, struct bfa_ioc_s *ioc); | ||
432 | bfa_status_t bfa_ablk_query(struct bfa_ablk_s *ablk, | ||
433 | struct bfa_ablk_cfg_s *ablk_cfg, | ||
434 | bfa_ablk_cbfn_t cbfn, void *cbarg); | ||
435 | bfa_status_t bfa_ablk_adapter_config(struct bfa_ablk_s *ablk, | ||
436 | enum bfa_mode_s mode, int max_pf, int max_vf, | ||
437 | bfa_ablk_cbfn_t cbfn, void *cbarg); | ||
438 | bfa_status_t bfa_ablk_port_config(struct bfa_ablk_s *ablk, int port, | ||
439 | enum bfa_mode_s mode, int max_pf, int max_vf, | ||
440 | bfa_ablk_cbfn_t cbfn, void *cbarg); | ||
441 | bfa_status_t bfa_ablk_pf_create(struct bfa_ablk_s *ablk, u16 *pcifn, | ||
442 | u8 port, enum bfi_pcifn_class personality, int bw, | ||
443 | bfa_ablk_cbfn_t cbfn, void *cbarg); | ||
444 | bfa_status_t bfa_ablk_pf_delete(struct bfa_ablk_s *ablk, int pcifn, | ||
445 | bfa_ablk_cbfn_t cbfn, void *cbarg); | ||
446 | bfa_status_t bfa_ablk_pf_update(struct bfa_ablk_s *ablk, int pcifn, int bw, | ||
447 | bfa_ablk_cbfn_t cbfn, void *cbarg); | ||
448 | bfa_status_t bfa_ablk_optrom_en(struct bfa_ablk_s *ablk, | ||
449 | bfa_ablk_cbfn_t cbfn, void *cbarg); | ||
450 | bfa_status_t bfa_ablk_optrom_dis(struct bfa_ablk_s *ablk, | ||
451 | bfa_ablk_cbfn_t cbfn, void *cbarg); | ||
452 | |||
453 | /* | ||
405 | * bfa mfg wwn API functions | 454 | * bfa mfg wwn API functions |
406 | */ | 455 | */ |
407 | mac_t bfa_ioc_get_mac(struct bfa_ioc_s *ioc); | 456 | mac_t bfa_ioc_get_mac(struct bfa_ioc_s *ioc); |