aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_crtn.h
diff options
context:
space:
mode:
authorJames Smart <James.Smart@Emulex.Com>2006-03-07 15:04:13 -0500
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2006-03-12 09:56:58 -0500
commit9290831f00879d4a66d3bffb609949d5ea5576fb (patch)
treef66748c875962518f9d4784fd684e189feb50d84 /drivers/scsi/lpfc/lpfc_crtn.h
parent1a169689c2152ea599c94d622204f7bf5b7dc09f (diff)
[SCSI] lpfc 8.1.4 : Introduce lpfc_reset_barrier() function for resets on dual channel adapters
Introduce lpfc_reset_barrier() function for resets on dual channel adapters Workaround for a hardware errata on dual channel asics. There is a potential for the chip to lock up on a reset if a shared dma engine is in use. The (ugly) work around requires a reset process which uses a mailbox command to synchronize the independent channels prior to the reset to avoid the issue. Unfortunately, the timing windows required to ensure this workaround succeeds are very specific, meaning we can't release the cpu during the barrier. 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_crtn.h')
-rw-r--r--drivers/scsi/lpfc/lpfc_crtn.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_crtn.h b/drivers/scsi/lpfc/lpfc_crtn.h
index f716c1d85f41..fad607b2e6f4 100644
--- a/drivers/scsi/lpfc/lpfc_crtn.h
+++ b/drivers/scsi/lpfc/lpfc_crtn.h
@@ -139,6 +139,7 @@ struct lpfc_iocbq * lpfc_sli_get_iocbq(struct lpfc_hba *);
139void lpfc_sli_release_iocbq(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); 139void lpfc_sli_release_iocbq(struct lpfc_hba * phba, struct lpfc_iocbq * iocb);
140uint16_t lpfc_sli_next_iotag(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); 140uint16_t lpfc_sli_next_iotag(struct lpfc_hba * phba, struct lpfc_iocbq * iocb);
141 141
142void lpfc_reset_barrier(struct lpfc_hba * phba);
142int lpfc_sli_brdready(struct lpfc_hba *, uint32_t); 143int lpfc_sli_brdready(struct lpfc_hba *, uint32_t);
143int lpfc_sli_brdkill(struct lpfc_hba *); 144int lpfc_sli_brdkill(struct lpfc_hba *);
144int lpfc_sli_brdreset(struct lpfc_hba *); 145int lpfc_sli_brdreset(struct lpfc_hba *);