diff options
author | Krishna Gudipati <kgudipat@brocade.com> | 2011-06-24 23:22:28 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2011-06-29 17:56:05 -0400 |
commit | 1a4d8e1bd81c018f7b8c7622066d5cfead59b38a (patch) | |
tree | 52ec78c60131cf3d861929e1f90d84e8acd0a429 /drivers/scsi/bfa/bfi.h | |
parent | ea9582d721a0d711fb046a25f5e94dcbbc5be410 (diff) |
[SCSI] bfa: Enable ASIC block configuration and query.
- Added ASIC block configuration APIs:
- to create/delete/update the physical functions
- to do adapter/port mode configuration
- to query the current ASIC block configuration.
Signed-off-by: Krishna Gudipati <kgudipat@brocade.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/bfa/bfi.h')
-rw-r--r-- | drivers/scsi/bfa/bfi.h | 82 |
1 files changed, 79 insertions, 3 deletions
diff --git a/drivers/scsi/bfa/bfi.h b/drivers/scsi/bfa/bfi.h index 35af1d11ab2f..d28c7c55a60c 100644 --- a/drivers/scsi/bfa/bfi.h +++ b/drivers/scsi/bfa/bfi.h | |||
@@ -167,7 +167,7 @@ enum bfi_mclass { | |||
167 | BFI_MC_IOC = 1, /* IO Controller (IOC) */ | 167 | BFI_MC_IOC = 1, /* IO Controller (IOC) */ |
168 | BFI_MC_FCPORT = 5, /* FC port */ | 168 | BFI_MC_FCPORT = 5, /* FC port */ |
169 | BFI_MC_IOCFC = 6, /* FC - IO Controller (IOC) */ | 169 | BFI_MC_IOCFC = 6, /* FC - IO Controller (IOC) */ |
170 | BFI_MC_LL = 7, /* Link Layer */ | 170 | BFI_MC_ABLK = 7, /* ASIC block configuration */ |
171 | BFI_MC_UF = 8, /* Unsolicited frame receive */ | 171 | BFI_MC_UF = 8, /* Unsolicited frame receive */ |
172 | BFI_MC_FCXP = 9, /* FC Transport */ | 172 | BFI_MC_FCXP = 9, /* FC Transport */ |
173 | BFI_MC_LPS = 10, /* lport fc login services */ | 173 | BFI_MC_LPS = 10, /* lport fc login services */ |
@@ -386,7 +386,9 @@ struct bfi_ioc_ctrl_req_s { | |||
386 | struct bfi_ioc_ctrl_reply_s { | 386 | struct bfi_ioc_ctrl_reply_s { |
387 | struct bfi_mhdr_s mh; /* Common msg header */ | 387 | struct bfi_mhdr_s mh; /* Common msg header */ |
388 | u8 status; /* enable/disable status */ | 388 | u8 status; /* enable/disable status */ |
389 | u8 rsvd[3]; | 389 | u8 port_mode; /* bfa_mode_s */ |
390 | u8 cap_bm; /* capability bit mask */ | ||
391 | u8 rsvd; | ||
390 | }; | 392 | }; |
391 | #define bfi_ioc_enable_reply_t struct bfi_ioc_ctrl_reply_s; | 393 | #define bfi_ioc_enable_reply_t struct bfi_ioc_ctrl_reply_s; |
392 | #define bfi_ioc_disable_reply_t struct bfi_ioc_ctrl_reply_s; | 394 | #define bfi_ioc_disable_reply_t struct bfi_ioc_ctrl_reply_s; |
@@ -408,7 +410,7 @@ union bfi_ioc_h2i_msg_u { | |||
408 | */ | 410 | */ |
409 | union bfi_ioc_i2h_msg_u { | 411 | union bfi_ioc_i2h_msg_u { |
410 | struct bfi_mhdr_s mh; | 412 | struct bfi_mhdr_s mh; |
411 | struct bfi_ioc_ctrl_reply_s rdy_event; | 413 | struct bfi_ioc_ctrl_reply_s fw_event; |
412 | u32 mboxmsg[BFI_IOC_MSGSZ]; | 414 | u32 mboxmsg[BFI_IOC_MSGSZ]; |
413 | }; | 415 | }; |
414 | 416 | ||
@@ -603,6 +605,80 @@ union bfi_port_i2h_msg_u { | |||
603 | struct bfi_port_generic_rsp_s clearstats_rsp; | 605 | struct bfi_port_generic_rsp_s clearstats_rsp; |
604 | }; | 606 | }; |
605 | 607 | ||
608 | /* | ||
609 | *---------------------------------------------------------------------- | ||
610 | * ABLK | ||
611 | *---------------------------------------------------------------------- | ||
612 | */ | ||
613 | enum bfi_ablk_h2i_msgs_e { | ||
614 | BFI_ABLK_H2I_QUERY = 1, | ||
615 | BFI_ABLK_H2I_ADPT_CONFIG = 2, | ||
616 | BFI_ABLK_H2I_PORT_CONFIG = 3, | ||
617 | BFI_ABLK_H2I_PF_CREATE = 4, | ||
618 | BFI_ABLK_H2I_PF_DELETE = 5, | ||
619 | BFI_ABLK_H2I_PF_UPDATE = 6, | ||
620 | BFI_ABLK_H2I_OPTROM_ENABLE = 7, | ||
621 | BFI_ABLK_H2I_OPTROM_DISABLE = 8, | ||
622 | }; | ||
623 | |||
624 | enum bfi_ablk_i2h_msgs_e { | ||
625 | BFI_ABLK_I2H_QUERY = BFA_I2HM(BFI_ABLK_H2I_QUERY), | ||
626 | BFI_ABLK_I2H_ADPT_CONFIG = BFA_I2HM(BFI_ABLK_H2I_ADPT_CONFIG), | ||
627 | BFI_ABLK_I2H_PORT_CONFIG = BFA_I2HM(BFI_ABLK_H2I_PORT_CONFIG), | ||
628 | BFI_ABLK_I2H_PF_CREATE = BFA_I2HM(BFI_ABLK_H2I_PF_CREATE), | ||
629 | BFI_ABLK_I2H_PF_DELETE = BFA_I2HM(BFI_ABLK_H2I_PF_DELETE), | ||
630 | BFI_ABLK_I2H_PF_UPDATE = BFA_I2HM(BFI_ABLK_H2I_PF_UPDATE), | ||
631 | BFI_ABLK_I2H_OPTROM_ENABLE = BFA_I2HM(BFI_ABLK_H2I_OPTROM_ENABLE), | ||
632 | BFI_ABLK_I2H_OPTROM_DISABLE = BFA_I2HM(BFI_ABLK_H2I_OPTROM_DISABLE), | ||
633 | }; | ||
634 | |||
635 | /* BFI_ABLK_H2I_QUERY */ | ||
636 | struct bfi_ablk_h2i_query_s { | ||
637 | struct bfi_mhdr_s mh; | ||
638 | union bfi_addr_u addr; | ||
639 | }; | ||
640 | |||
641 | /* BFI_ABL_H2I_ADPT_CONFIG, BFI_ABLK_H2I_PORT_CONFIG */ | ||
642 | struct bfi_ablk_h2i_cfg_req_s { | ||
643 | struct bfi_mhdr_s mh; | ||
644 | u8 mode; | ||
645 | u8 port; | ||
646 | u8 max_pf; | ||
647 | u8 max_vf; | ||
648 | }; | ||
649 | |||
650 | /* | ||
651 | * BFI_ABLK_H2I_PF_CREATE, BFI_ABLK_H2I_PF_DELETE, | ||
652 | */ | ||
653 | struct bfi_ablk_h2i_pf_req_s { | ||
654 | struct bfi_mhdr_s mh; | ||
655 | u8 pcifn; | ||
656 | u8 port; | ||
657 | u16 pers; | ||
658 | u32 bw; | ||
659 | }; | ||
660 | |||
661 | /* BFI_ABLK_H2I_OPTROM_ENABLE, BFI_ABLK_H2I_OPTROM_DISABLE */ | ||
662 | struct bfi_ablk_h2i_optrom_s { | ||
663 | struct bfi_mhdr_s mh; | ||
664 | }; | ||
665 | |||
666 | /* | ||
667 | * BFI_ABLK_I2H_QUERY | ||
668 | * BFI_ABLK_I2H_PORT_CONFIG | ||
669 | * BFI_ABLK_I2H_PF_CREATE | ||
670 | * BFI_ABLK_I2H_PF_DELETE | ||
671 | * BFI_ABLK_I2H_PF_UPDATE | ||
672 | * BFI_ABLK_I2H_OPTROM_ENABLE | ||
673 | * BFI_ABLK_I2H_OPTROM_DISABLE | ||
674 | */ | ||
675 | struct bfi_ablk_i2h_rsp_s { | ||
676 | struct bfi_mhdr_s mh; | ||
677 | u8 status; | ||
678 | u8 pcifn; | ||
679 | u8 port_mode; | ||
680 | }; | ||
681 | |||
606 | #pragma pack() | 682 | #pragma pack() |
607 | 683 | ||
608 | #endif /* __BFI_H__ */ | 684 | #endif /* __BFI_H__ */ |