diff options
author | James Smart <James.Smart@Emulex.Com> | 2006-04-15 11:53:00 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-04-19 20:48:41 -0400 |
commit | 4b0b91d4611aba058c16440f9841906853741330 (patch) | |
tree | 95e98122db452fad9981801a7f826a9a5464257e /drivers/scsi/lpfc/lpfc_mbox.c | |
parent | a0f9b48dc0954c48a6b0342d9697886be6b0e4d3 (diff) |
[SCSI] lpfc 8.1.5 : Use asynchronous ABTS completion to speed up abort completions
Use asynchronous ABTS completion to speed up abort completions
Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_mbox.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_mbox.c | 33 |
1 files changed, 3 insertions, 30 deletions
diff --git a/drivers/scsi/lpfc/lpfc_mbox.c b/drivers/scsi/lpfc/lpfc_mbox.c index c585e2b2e589..e42f22aaf71b 100644 --- a/drivers/scsi/lpfc/lpfc_mbox.c +++ b/drivers/scsi/lpfc/lpfc_mbox.c | |||
@@ -200,6 +200,9 @@ lpfc_init_link(struct lpfc_hba * phba, | |||
200 | break; | 200 | break; |
201 | } | 201 | } |
202 | 202 | ||
203 | /* Enable asynchronous ABTS responses from firmware */ | ||
204 | mb->un.varInitLnk.link_flags |= FLAGS_IMED_ABORT; | ||
205 | |||
203 | /* NEW_FEATURE | 206 | /* NEW_FEATURE |
204 | * Setting up the link speed | 207 | * Setting up the link speed |
205 | */ | 208 | */ |
@@ -292,36 +295,6 @@ lpfc_unreg_did(struct lpfc_hba * phba, uint32_t did, LPFC_MBOXQ_t * pmb) | |||
292 | return; | 295 | return; |
293 | } | 296 | } |
294 | 297 | ||
295 | /***********************************************/ | ||
296 | |||
297 | /* command to write slim */ | ||
298 | /***********************************************/ | ||
299 | void | ||
300 | lpfc_set_slim(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb, uint32_t addr, | ||
301 | uint32_t value) | ||
302 | { | ||
303 | MAILBOX_t *mb; | ||
304 | |||
305 | mb = &pmb->mb; | ||
306 | memset(pmb, 0, sizeof (LPFC_MBOXQ_t)); | ||
307 | |||
308 | /* addr = 0x090597 is AUTO ABTS disable for ELS commands */ | ||
309 | /* addr = 0x052198 is DELAYED ABTS enable for ELS commands */ | ||
310 | |||
311 | /* | ||
312 | * Always turn on DELAYED ABTS for ELS timeouts | ||
313 | */ | ||
314 | if ((addr == 0x052198) && (value == 0)) | ||
315 | value = 1; | ||
316 | |||
317 | mb->un.varWords[0] = addr; | ||
318 | mb->un.varWords[1] = value; | ||
319 | |||
320 | mb->mbxCommand = MBX_SET_SLIM; | ||
321 | mb->mbxOwner = OWN_HOST; | ||
322 | return; | ||
323 | } | ||
324 | |||
325 | /**********************************************/ | 298 | /**********************************************/ |
326 | /* lpfc_read_nv Issue a READ CONFIG */ | 299 | /* lpfc_read_nv Issue a READ CONFIG */ |
327 | /* mailbox command */ | 300 | /* mailbox command */ |