aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bfa/bfa_port_priv.h
diff options
context:
space:
mode:
authorKrishna Gudipati <kgudipat@brocade.com>2010-03-05 19:36:30 -0800
committerJames Bottomley <James.Bottomley@suse.de>2010-03-07 12:59:36 +0530
commit9693e7dff5c2911b4e445f5f656ef57b3a5bffac (patch)
treeaff9c3bc987ab561f828ad286b3edc30547531bd /drivers/scsi/bfa/bfa_port_priv.h
parent[SCSI] bfa: Added firmware save clear feature for BFA driver. (diff)
downloadlinux-dev-9693e7dff5c2911b4e445f5f656ef57b3a5bffac.tar.xz
linux-dev-9693e7dff5c2911b4e445f5f656ef57b3a5bffac.zip
[SCSI] bfa: Introduce a link notification state machine.
Introduce a link notification state machine to handle next incoming link events while the current event is being delivered to the driver. When the event has been processed by the driver, the link notification state machine will queue the next event (if there is any) to the driver. Signed-off-by: Krishna Gudipati <kgudipat@brocade.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/bfa/bfa_port_priv.h')
-rw-r--r--drivers/scsi/bfa/bfa_port_priv.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/scsi/bfa/bfa_port_priv.h b/drivers/scsi/bfa/bfa_port_priv.h
index 51f698a06b6d..f29701bd2369 100644
--- a/drivers/scsi/bfa/bfa_port_priv.h
+++ b/drivers/scsi/bfa/bfa_port_priv.h
@@ -23,6 +23,16 @@
#include "bfa_intr_priv.h"
/**
+ * Link notification data structure
+ */
+struct bfa_pport_ln_s {
+ struct bfa_pport_s *pport;
+ bfa_sm_t sm;
+ struct bfa_cb_qe_s ln_qe; /* BFA callback queue elem for ln */
+ enum bfa_pport_linkstate ln_event; /* ln event for callback */
+};
+
+/**
* BFA physical port data structure
*/
struct bfa_pport_s {
@@ -52,9 +62,8 @@ struct bfa_pport_s {
union bfi_pport_i2h_msg_u i2hmsg;
} event_arg;
void *bfad; /* BFA driver handle */
+ struct bfa_pport_ln_s ln; /* Link Notification */
struct bfa_cb_qe_s hcb_qe; /* BFA callback queue elem */
- enum bfa_pport_linkstate hcb_event;
- /* link event for callback */
u32 msgtag; /* fimrware msg tag for reply */
u8 *stats_kva;
u64 stats_pa;