aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_def.h
diff options
context:
space:
mode:
authorAndrew Vasquez <andrew.vasquez@qlogic.com>2008-04-03 16:13:18 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-04-07 13:19:13 -0400
commit0971de7f56f809f40edae6fd372745e429e970e9 (patch)
tree8ae6829060081a81e62193db81278f6aa5365e08 /drivers/scsi/qla2xxx/qla_def.h
parentc6952483b070ec8a4f2450d1116be908fe59edcc (diff)
[SCSI] qla2xxx: Add FC-transport Asynchronous Event Notification support.
Supported events include LIP, LIP reset, RSCN, link up, and link down. To support AEN (and additional forthcoming features), we also introduce a simple deferred-work construct to manage events which require a non-atomic sleeping-capable context. This work-list is processed as part of the driver's standard DPC routine. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_def.h')
-rw-r--r--drivers/scsi/qla2xxx/qla_def.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
index f70c78b6f364..35c730a3f0da 100644
--- a/drivers/scsi/qla2xxx/qla_def.h
+++ b/drivers/scsi/qla2xxx/qla_def.h
@@ -2115,6 +2115,26 @@ struct qla_msix_entry {
2115 2115
2116#define WATCH_INTERVAL 1 /* number of seconds */ 2116#define WATCH_INTERVAL 1 /* number of seconds */
2117 2117
2118/* Work events. */
2119enum qla_work_type {
2120 QLA_EVT_AEN,
2121};
2122
2123
2124struct qla_work_evt {
2125 struct list_head list;
2126 enum qla_work_type type;
2127 u32 flags;
2128#define QLA_EVT_FLAG_FREE 0x1
2129
2130 union {
2131 struct {
2132 enum fc_host_event_code code;
2133 u32 data;
2134 } aen;
2135 } u;
2136};
2137
2118/* 2138/*
2119 * Linux Host Adapter structure 2139 * Linux Host Adapter structure
2120 */ 2140 */
@@ -2354,6 +2374,8 @@ typedef struct scsi_qla_host {
2354 uint32_t login_retry_count; 2374 uint32_t login_retry_count;
2355 int max_q_depth; 2375 int max_q_depth;
2356 2376
2377 struct list_head work_list;
2378
2357 /* Fibre Channel Device List. */ 2379 /* Fibre Channel Device List. */
2358 struct list_head fcports; 2380 struct list_head fcports;
2359 2381