[SCSI] be2iscsi: Fix doorbell format for EQ/CQ/RQ s per SLI spec.
The doorbel format has been updated to support additonal functionalities of SKH-R adapter. These changes are made such that older FW also works fine. Signed-off-by: John Soni Jose <sony.john-n@emulex.com> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:

committed by
James Bottomley

parent
3e393172b8
commit
e08b3c8b11
@@ -135,11 +135,15 @@
|
||||
#define DB_RXULP0_OFFSET 0xA0
|
||||
/********* Event Q door bell *************/
|
||||
#define DB_EQ_OFFSET DB_CQ_OFFSET
|
||||
#define DB_EQ_RING_ID_MASK 0x1FF /* bits 0 - 8 */
|
||||
#define DB_EQ_RING_ID_LOW_MASK 0x1FF /* bits 0 - 8 */
|
||||
/* Clear the interrupt for this eq */
|
||||
#define DB_EQ_CLR_SHIFT (9) /* bit 9 */
|
||||
/* Must be 1 */
|
||||
#define DB_EQ_EVNT_SHIFT (10) /* bit 10 */
|
||||
/* Higher Order EQ_ID bit */
|
||||
#define DB_EQ_RING_ID_HIGH_MASK 0x1F /* bits 11 - 15 */
|
||||
#define DB_EQ_HIGH_SET_SHIFT 11
|
||||
#define DB_EQ_HIGH_FEILD_SHIFT 9
|
||||
/* Number of event entries processed */
|
||||
#define DB_EQ_NUM_POPPED_SHIFT (16) /* bits 16 - 28 */
|
||||
/* Rearm bit */
|
||||
@@ -147,7 +151,12 @@
|
||||
|
||||
/********* Compl Q door bell *************/
|
||||
#define DB_CQ_OFFSET 0x120
|
||||
#define DB_CQ_RING_ID_MASK 0x3FF /* bits 0 - 9 */
|
||||
#define DB_CQ_RING_ID_LOW_MASK 0x3FF /* bits 0 - 9 */
|
||||
/* Higher Order CQ_ID bit */
|
||||
#define DB_CQ_RING_ID_HIGH_MASK 0x1F /* bits 11 - 15 */
|
||||
#define DB_CQ_HIGH_SET_SHIFT 11
|
||||
#define DB_CQ_HIGH_FEILD_SHIFT 10
|
||||
|
||||
/* Number of event entries processed */
|
||||
#define DB_CQ_NUM_POPPED_SHIFT (16) /* bits 16 - 28 */
|
||||
/* Rearm bit */
|
||||
@@ -821,6 +830,9 @@ void beiscsi_process_all_cqs(struct work_struct *work);
|
||||
void beiscsi_free_mgmt_task_handles(struct beiscsi_conn *beiscsi_conn,
|
||||
struct iscsi_task *task);
|
||||
|
||||
void hwi_ring_cq_db(struct beiscsi_hba *phba,
|
||||
unsigned int id, unsigned int num_processed,
|
||||
unsigned char rearm, unsigned char event);
|
||||
static inline bool beiscsi_error(struct beiscsi_hba *phba)
|
||||
{
|
||||
return phba->ue_detected || phba->fw_timeout;
|
||||
|
Reference in New Issue
Block a user