diff options
Diffstat (limited to 'drivers/scsi/bfa/bfa_fcpim.c')
-rw-r--r-- | drivers/scsi/bfa/bfa_fcpim.c | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/drivers/scsi/bfa/bfa_fcpim.c b/drivers/scsi/bfa/bfa_fcpim.c index 790c945aeae6..8c703d8dc94b 100644 --- a/drivers/scsi/bfa/bfa_fcpim.c +++ b/drivers/scsi/bfa/bfa_fcpim.c | |||
@@ -80,11 +80,6 @@ bfa_fcpim_attach(struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg, | |||
80 | } | 80 | } |
81 | 81 | ||
82 | static void | 82 | static void |
83 | bfa_fcpim_initdone(struct bfa_s *bfa) | ||
84 | { | ||
85 | } | ||
86 | |||
87 | static void | ||
88 | bfa_fcpim_detach(struct bfa_s *bfa) | 83 | bfa_fcpim_detach(struct bfa_s *bfa) |
89 | { | 84 | { |
90 | struct bfa_fcpim_mod_s *fcpim = BFA_FCPIM_MOD(bfa); | 85 | struct bfa_fcpim_mod_s *fcpim = BFA_FCPIM_MOD(bfa); |
@@ -172,4 +167,28 @@ bfa_fcpim_qdepth_get(struct bfa_s *bfa) | |||
172 | return fcpim->q_depth; | 167 | return fcpim->q_depth; |
173 | } | 168 | } |
174 | 169 | ||
170 | void | ||
171 | bfa_fcpim_update_ioredirect(struct bfa_s *bfa) | ||
172 | { | ||
173 | bfa_boolean_t ioredirect; | ||
174 | |||
175 | /* | ||
176 | * IO redirection is turned off when QoS is enabled and vice versa | ||
177 | */ | ||
178 | ioredirect = bfa_fcport_is_qos_enabled(bfa) ? BFA_FALSE : BFA_TRUE; | ||
175 | 179 | ||
180 | /* | ||
181 | * Notify the bfad module of a possible state change in | ||
182 | * IO redirection capability, due to a QoS state change. bfad will | ||
183 | * check on the support for io redirection and update the | ||
184 | * fcpim's ioredirect state accordingly. | ||
185 | */ | ||
186 | bfa_cb_ioredirect_state_change((void *)(bfa->bfad), ioredirect); | ||
187 | } | ||
188 | |||
189 | void | ||
190 | bfa_fcpim_set_ioredirect(struct bfa_s *bfa, bfa_boolean_t state) | ||
191 | { | ||
192 | struct bfa_fcpim_mod_s *fcpim = BFA_FCPIM_MOD(bfa); | ||
193 | fcpim->ioredirect = state; | ||
194 | } | ||