Commit 5c8bfc94 authored by David C Somayajulu's avatar David C Somayajulu Committed by James Bottomley

[SCSI] qla4xxx: ql4_def.h log all AENs and cleanup

Add support for logging all AENs and clean up
Signed-off-by: default avatarDavid Somayajulu <david.somayajulu@qlogic.com>
Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 01871066
...@@ -122,8 +122,7 @@ ...@@ -122,8 +122,7 @@
#define ISCSI_IPADDR_SIZE 4 /* IP address size */ #define ISCSI_IPADDR_SIZE 4 /* IP address size */
#define ISCSI_ALIAS_SIZE 32 /* ISCSI Alais name size */ #define ISCSI_ALIAS_SIZE 32 /* ISCSI Alais name size */
#define ISCSI_NAME_SIZE 255 /* ISCSI Name size - #define ISCSI_NAME_SIZE 0xE0 /* ISCSI Name size */
* usually a string */
#define LSDW(x) ((u32)((u64)(x))) #define LSDW(x) ((u32)((u64)(x)))
#define MSDW(x) ((u32)((((u64)(x)) >> 16) >> 16)) #define MSDW(x) ((u32)((((u64)(x)) >> 16) >> 16))
...@@ -187,7 +186,19 @@ struct srb { ...@@ -187,7 +186,19 @@ struct srb {
u_long u_start; /* Time when we handed the cmd to F/W */ u_long u_start; /* Time when we handed the cmd to F/W */
}; };
/* /*
* Asynchronous Event Queue structure
*/
struct aen {
uint32_t mbox_sts[MBOX_AEN_REG_COUNT];
};
struct ql4_aen_log {
int count;
struct aen entry[MAX_AEN_ENTRIES];
};
/*
* Device Database (DDB) structure * Device Database (DDB) structure
*/ */
struct ddb_entry { struct ddb_entry {
...@@ -254,13 +265,6 @@ struct ddb_entry { ...@@ -254,13 +265,6 @@ struct ddb_entry {
#define DF_ISNS_DISCOVERED 2 /* Device was discovered via iSNS */ #define DF_ISNS_DISCOVERED 2 /* Device was discovered via iSNS */
#define DF_FO_MASKED 3 #define DF_FO_MASKED 3
/*
* Asynchronous Event Queue structure
*/
struct aen {
uint32_t mbox_sts[MBOX_AEN_REG_COUNT];
};
#include "ql4_fw.h" #include "ql4_fw.h"
#include "ql4_nvram.h" #include "ql4_nvram.h"
...@@ -270,20 +274,17 @@ struct aen { ...@@ -270,20 +274,17 @@ struct aen {
*/ */
struct scsi_qla_host { struct scsi_qla_host {
/* Linux adapter configuration data */ /* Linux adapter configuration data */
struct Scsi_Host *host; /* pointer to host data */
uint32_t tot_ddbs;
unsigned long flags; unsigned long flags;
#define AF_ONLINE 0 /* 0x00000001 */ #define AF_ONLINE 0 /* 0x00000001 */
#define AF_INIT_DONE 1 /* 0x00000002 */ #define AF_INIT_DONE 1 /* 0x00000002 */
#define AF_MBOX_COMMAND 2 /* 0x00000004 */ #define AF_MBOX_COMMAND 2 /* 0x00000004 */
#define AF_MBOX_COMMAND_DONE 3 /* 0x00000008 */ #define AF_MBOX_COMMAND_DONE 3 /* 0x00000008 */
#define AF_INTERRUPTS_ON 6 /* 0x00000040 Not Used */ #define AF_INTERRUPTS_ON 6 /* 0x00000040 */
#define AF_GET_CRASH_RECORD 7 /* 0x00000080 */ #define AF_GET_CRASH_RECORD 7 /* 0x00000080 */
#define AF_LINK_UP 8 /* 0x00000100 */ #define AF_LINK_UP 8 /* 0x00000100 */
#define AF_IRQ_ATTACHED 10 /* 0x00000400 */ #define AF_IRQ_ATTACHED 10 /* 0x00000400 */
#define AF_ISNS_CMD_IN_PROCESS 12 /* 0x00001000 */ #define AF_DISABLE_ACB_COMPLETE 11 /* 0x00000800 */
#define AF_ISNS_CMD_DONE 13 /* 0x00002000 */
unsigned long dpc_flags; unsigned long dpc_flags;
...@@ -296,6 +297,9 @@ struct scsi_qla_host { ...@@ -296,6 +297,9 @@ struct scsi_qla_host {
#define DPC_AEN 9 /* 0x00000200 */ #define DPC_AEN 9 /* 0x00000200 */
#define DPC_GET_DHCP_IP_ADDR 15 /* 0x00008000 */ #define DPC_GET_DHCP_IP_ADDR 15 /* 0x00008000 */
struct Scsi_Host *host; /* pointer to host data */
uint32_t tot_ddbs;
uint16_t iocb_cnt; uint16_t iocb_cnt;
uint16_t iocb_hiwat; uint16_t iocb_hiwat;
...@@ -344,6 +348,7 @@ struct scsi_qla_host { ...@@ -344,6 +348,7 @@ struct scsi_qla_host {
uint32_t firmware_version[2]; uint32_t firmware_version[2];
uint32_t patch_number; uint32_t patch_number;
uint32_t build_number; uint32_t build_number;
uint32_t board_id;
/* --- From Init_FW --- */ /* --- From Init_FW --- */
/* init_cb_t *init_cb; */ /* init_cb_t *init_cb; */
...@@ -363,7 +368,6 @@ struct scsi_qla_host { ...@@ -363,7 +368,6 @@ struct scsi_qla_host {
/* --- From GetFwState --- */ /* --- From GetFwState --- */
uint32_t firmware_state; uint32_t firmware_state;
uint32_t board_id;
uint32_t addl_fw_state; uint32_t addl_fw_state;
/* Linux kernel thread */ /* Linux kernel thread */
...@@ -414,6 +418,8 @@ struct scsi_qla_host { ...@@ -414,6 +418,8 @@ struct scsi_qla_host {
uint16_t aen_out; uint16_t aen_out;
struct aen aen_q[MAX_AEN_ENTRIES]; struct aen aen_q[MAX_AEN_ENTRIES];
struct ql4_aen_log aen_log;/* tracks all aens */
/* This mutex protects several threads to do mailbox commands /* This mutex protects several threads to do mailbox commands
* concurrently. * concurrently.
*/ */
...@@ -585,10 +591,4 @@ static inline void ql4xxx_unlock_drvr(struct scsi_qla_host *a) ...@@ -585,10 +591,4 @@ static inline void ql4xxx_unlock_drvr(struct scsi_qla_host *a)
#define FLUSH_DDB_CHANGED_AENS 1 #define FLUSH_DDB_CHANGED_AENS 1
#define RELOGIN_DDB_CHANGED_AENS 2 #define RELOGIN_DDB_CHANGED_AENS 2
#include "ql4_version.h"
#include "ql4_glbl.h"
#include "ql4_dbg.h"
#include "ql4_inline.h"
#endif /*_QLA4XXX_H */ #endif /*_QLA4XXX_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment