diff options
Diffstat (limited to 'drivers/scsi/be2iscsi/be_cmds.h')
-rw-r--r-- | drivers/scsi/be2iscsi/be_cmds.h | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/drivers/scsi/be2iscsi/be_cmds.h b/drivers/scsi/be2iscsi/be_cmds.h index c9823b00b254..47b7197f17a2 100644 --- a/drivers/scsi/be2iscsi/be_cmds.h +++ b/drivers/scsi/be2iscsi/be_cmds.h | |||
@@ -98,11 +98,23 @@ struct be_mcc_compl { | |||
98 | #define MPU_MAILBOX_DB_RDY_MASK 0x1 /* bit 0 */ | 98 | #define MPU_MAILBOX_DB_RDY_MASK 0x1 /* bit 0 */ |
99 | #define MPU_MAILBOX_DB_HI_MASK 0x2 /* bit 1 */ | 99 | #define MPU_MAILBOX_DB_HI_MASK 0x2 /* bit 1 */ |
100 | 100 | ||
101 | /********** MPU semphore ******************/ | 101 | /********** MPU semphore: used for SH & BE ******************/ |
102 | #define MPU_EP_SEMAPHORE_OFFSET 0xac | 102 | #define SLIPORT_SOFTRESET_OFFSET 0x5c /* CSR BAR offset */ |
103 | #define EP_SEMAPHORE_POST_STAGE_MASK 0x0000FFFF | 103 | #define SLIPORT_SEMAPHORE_OFFSET_BEx 0xac /* CSR BAR offset */ |
104 | #define EP_SEMAPHORE_POST_ERR_MASK 0x1 | 104 | #define SLIPORT_SEMAPHORE_OFFSET_SH 0x94 /* PCI-CFG offset */ |
105 | #define EP_SEMAPHORE_POST_ERR_SHIFT 31 | 105 | #define POST_STAGE_MASK 0x0000FFFF |
106 | #define POST_ERROR_BIT 0x80000000 | ||
107 | #define POST_ERR_RECOVERY_CODE_MASK 0xF000 | ||
108 | |||
109 | /* Soft Reset register masks */ | ||
110 | #define SLIPORT_SOFTRESET_SR_MASK 0x00000080 /* SR bit */ | ||
111 | |||
112 | /* MPU semphore POST stage values */ | ||
113 | #define POST_STAGE_AWAITING_HOST_RDY 0x1 /* FW awaiting goahead from host */ | ||
114 | #define POST_STAGE_HOST_RDY 0x2 /* Host has given go-ahed to FW */ | ||
115 | #define POST_STAGE_BE_RESET 0x3 /* Host wants to reset chip */ | ||
116 | #define POST_STAGE_ARMFW_RDY 0xC000 /* FW is done with POST */ | ||
117 | #define POST_STAGE_RECOVERABLE_ERR 0xE000 /* Recoverable err detected */ | ||
106 | 118 | ||
107 | /********** MCC door bell ************/ | 119 | /********** MCC door bell ************/ |
108 | #define DB_MCCQ_OFFSET 0x140 | 120 | #define DB_MCCQ_OFFSET 0x140 |
@@ -110,9 +122,6 @@ struct be_mcc_compl { | |||
110 | /* Number of entries posted */ | 122 | /* Number of entries posted */ |
111 | #define DB_MCCQ_NUM_POSTED_SHIFT 16 /* bits 16 - 29 */ | 123 | #define DB_MCCQ_NUM_POSTED_SHIFT 16 /* bits 16 - 29 */ |
112 | 124 | ||
113 | /* MPU semphore POST stage values */ | ||
114 | #define POST_STAGE_ARMFW_RDY 0xc000 /* FW is done with POST */ | ||
115 | |||
116 | /** | 125 | /** |
117 | * When the async bit of mcc_compl is set, the last 4 bytes of | 126 | * When the async bit of mcc_compl is set, the last 4 bytes of |
118 | * mcc_compl is interpreted as follows: | 127 | * mcc_compl is interpreted as follows: |
@@ -753,6 +762,12 @@ struct be_cmd_set_features { | |||
753 | } param; | 762 | } param; |
754 | } __packed; | 763 | } __packed; |
755 | 764 | ||
765 | int beiscsi_cmd_special_wrb(struct be_ctrl_info *ctrl, u32 load); | ||
766 | |||
767 | int beiscsi_check_fw_rdy(struct beiscsi_hba *phba); | ||
768 | |||
769 | int beiscsi_init_sliport(struct beiscsi_hba *phba); | ||
770 | |||
756 | int beiscsi_cmd_eq_create(struct be_ctrl_info *ctrl, | 771 | int beiscsi_cmd_eq_create(struct be_ctrl_info *ctrl, |
757 | struct be_queue_info *eq, int eq_delay); | 772 | struct be_queue_info *eq, int eq_delay); |
758 | 773 | ||
@@ -784,9 +799,6 @@ int __beiscsi_mcc_compl_status(struct beiscsi_hba *phba, | |||
784 | struct be_mcc_wrb **wrb, | 799 | struct be_mcc_wrb **wrb, |
785 | struct be_dma_mem *mbx_cmd_mem); | 800 | struct be_dma_mem *mbx_cmd_mem); |
786 | /*ISCSI Functuions */ | 801 | /*ISCSI Functuions */ |
787 | int be_cmd_fw_initialize(struct be_ctrl_info *ctrl); | ||
788 | int be_cmd_fw_uninit(struct be_ctrl_info *ctrl); | ||
789 | |||
790 | struct be_mcc_wrb *wrb_from_mbox(struct be_dma_mem *mbox_mem); | 802 | struct be_mcc_wrb *wrb_from_mbox(struct be_dma_mem *mbox_mem); |
791 | int be_mcc_compl_poll(struct beiscsi_hba *phba, unsigned int tag); | 803 | int be_mcc_compl_poll(struct beiscsi_hba *phba, unsigned int tag); |
792 | void be_mcc_notify(struct beiscsi_hba *phba, unsigned int tag); | 804 | void be_mcc_notify(struct beiscsi_hba *phba, unsigned int tag); |
@@ -812,8 +824,6 @@ int be_cmd_iscsi_post_sgl_pages(struct be_ctrl_info *ctrl, | |||
812 | struct be_dma_mem *q_mem, u32 page_offset, | 824 | struct be_dma_mem *q_mem, u32 page_offset, |
813 | u32 num_pages); | 825 | u32 num_pages); |
814 | 826 | ||
815 | int beiscsi_cmd_reset_function(struct beiscsi_hba *phba); | ||
816 | |||
817 | int be_cmd_wrbq_create(struct be_ctrl_info *ctrl, struct be_dma_mem *q_mem, | 827 | int be_cmd_wrbq_create(struct be_ctrl_info *ctrl, struct be_dma_mem *q_mem, |
818 | struct be_queue_info *wrbq, | 828 | struct be_queue_info *wrbq, |
819 | struct hwi_wrb_context *pwrb_context, | 829 | struct hwi_wrb_context *pwrb_context, |
@@ -1422,8 +1432,6 @@ struct be_cmd_get_port_name { | |||
1422 | * the cxn | 1432 | * the cxn |
1423 | */ | 1433 | */ |
1424 | 1434 | ||
1425 | int be_chk_reset_complete(struct beiscsi_hba *phba); | ||
1426 | |||
1427 | void be_wrb_hdr_prepare(struct be_mcc_wrb *wrb, int payload_len, | 1435 | void be_wrb_hdr_prepare(struct be_mcc_wrb *wrb, int payload_len, |
1428 | bool embedded, u8 sge_cnt); | 1436 | bool embedded, u8 sge_cnt); |
1429 | 1437 | ||