diff options
author | Krishna Gudipati <kgudipat@brocade.com> | 2010-03-03 20:43:19 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-03-04 05:43:40 -0500 |
commit | 5b098082e22c168b7df4c5c3cd924047cee7d995 (patch) | |
tree | f4d40a769b8793382f7e11c1439f1bccb29729d8 /drivers/scsi/bfa/fdmi.c | |
parent | ab5336189a12b6561a1b5708d782a4e27e2e3b79 (diff) |
[SCSI] bfa: Changes to support FDMI Driver Parameter
Added a FCS function to be called during driver init, to set the FDMI
Driver parameter.
fdmi.c: Created a disabled state when fdmi is disabled.
bfad.c:
* Added fdmi_enable driver parameter.
* Added support to call bfa_fcs_set_fdmi_param() to initialize fcs
fdmi setting.
Signed-off-by: Krishna Gudipati <kgudipat@brocade.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/bfa/fdmi.c')
-rw-r--r-- | drivers/scsi/bfa/fdmi.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/drivers/scsi/bfa/fdmi.c b/drivers/scsi/bfa/fdmi.c index df2a1e54e16b..d76d9220b6e6 100644 --- a/drivers/scsi/bfa/fdmi.c +++ b/drivers/scsi/bfa/fdmi.c | |||
@@ -116,6 +116,9 @@ static void bfa_fcs_port_fdmi_sm_rpa_retry(struct bfa_fcs_port_fdmi_s *fdmi, | |||
116 | enum port_fdmi_event event); | 116 | enum port_fdmi_event event); |
117 | static void bfa_fcs_port_fdmi_sm_online(struct bfa_fcs_port_fdmi_s *fdmi, | 117 | static void bfa_fcs_port_fdmi_sm_online(struct bfa_fcs_port_fdmi_s *fdmi, |
118 | enum port_fdmi_event event); | 118 | enum port_fdmi_event event); |
119 | static void bfa_fcs_port_fdmi_sm_disabled(struct bfa_fcs_port_fdmi_s *fdmi, | ||
120 | enum port_fdmi_event event); | ||
121 | |||
119 | /** | 122 | /** |
120 | * Start in offline state - awaiting MS to send start. | 123 | * Start in offline state - awaiting MS to send start. |
121 | */ | 124 | */ |
@@ -479,6 +482,20 @@ bfa_fcs_port_fdmi_sm_online(struct bfa_fcs_port_fdmi_s *fdmi, | |||
479 | } | 482 | } |
480 | } | 483 | } |
481 | 484 | ||
485 | /** | ||
486 | * FDMI is disabled state. | ||
487 | */ | ||
488 | static void | ||
489 | bfa_fcs_port_fdmi_sm_disabled(struct bfa_fcs_port_fdmi_s *fdmi, | ||
490 | enum port_fdmi_event event) | ||
491 | { | ||
492 | struct bfa_fcs_port_s *port = fdmi->ms->port; | ||
493 | |||
494 | bfa_trc(port->fcs, port->port_cfg.pwwn); | ||
495 | bfa_trc(port->fcs, event); | ||
496 | |||
497 | /* No op State. It can only be enabled at Driver Init. */ | ||
498 | } | ||
482 | 499 | ||
483 | /** | 500 | /** |
484 | * RHBA : Register HBA Attributes. | 501 | * RHBA : Register HBA Attributes. |
@@ -1201,7 +1218,10 @@ bfa_fcs_port_fdmi_init(struct bfa_fcs_port_ms_s *ms) | |||
1201 | struct bfa_fcs_port_fdmi_s *fdmi = &ms->fdmi; | 1218 | struct bfa_fcs_port_fdmi_s *fdmi = &ms->fdmi; |
1202 | 1219 | ||
1203 | fdmi->ms = ms; | 1220 | fdmi->ms = ms; |
1204 | bfa_sm_set_state(fdmi, bfa_fcs_port_fdmi_sm_offline); | 1221 | if (ms->port->fcs->fdmi_enabled) |
1222 | bfa_sm_set_state(fdmi, bfa_fcs_port_fdmi_sm_offline); | ||
1223 | else | ||
1224 | bfa_sm_set_state(fdmi, bfa_fcs_port_fdmi_sm_disabled); | ||
1205 | } | 1225 | } |
1206 | 1226 | ||
1207 | void | 1227 | void |