aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_hw.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_hw.h')
-rw-r--r--drivers/scsi/lpfc/lpfc_hw.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hw.h b/drivers/scsi/lpfc/lpfc_hw.h
index 7fab93d34367..c2fb59f595f3 100644
--- a/drivers/scsi/lpfc/lpfc_hw.h
+++ b/drivers/scsi/lpfc/lpfc_hw.h
@@ -1278,6 +1278,7 @@ typedef struct { /* FireFly BIU registers */
1278#define MBX_KILL_BOARD 0x24 1278#define MBX_KILL_BOARD 0x24
1279#define MBX_CONFIG_FARP 0x25 1279#define MBX_CONFIG_FARP 0x25
1280#define MBX_BEACON 0x2A 1280#define MBX_BEACON 0x2A
1281#define MBX_HEARTBEAT 0x31
1281 1282
1282#define MBX_CONFIG_HBQ 0x7C 1283#define MBX_CONFIG_HBQ 0x7C
1283#define MBX_LOAD_AREA 0x81 1284#define MBX_LOAD_AREA 0x81
@@ -1777,8 +1778,6 @@ typedef struct {
1777#define LMT_4Gb 0x040 1778#define LMT_4Gb 0x040
1778#define LMT_8Gb 0x080 1779#define LMT_8Gb 0x080
1779#define LMT_10Gb 0x100 1780#define LMT_10Gb 0x100
1780
1781
1782 uint32_t rsvd2; 1781 uint32_t rsvd2;
1783 uint32_t rsvd3; 1782 uint32_t rsvd3;
1784 uint32_t max_xri; 1783 uint32_t max_xri;
@@ -1787,7 +1786,10 @@ typedef struct {
1787 uint32_t avail_xri; 1786 uint32_t avail_xri;
1788 uint32_t avail_iocb; 1787 uint32_t avail_iocb;
1789 uint32_t avail_rpi; 1788 uint32_t avail_rpi;
1790 uint32_t default_rpi; 1789 uint32_t max_vpi;
1790 uint32_t rsvd4;
1791 uint32_t rsvd5;
1792 uint32_t avail_vpi;
1791} READ_CONFIG_VAR; 1793} READ_CONFIG_VAR;
1792 1794
1793/* Structure for MB Command READ_RCONFIG (12) */ 1795/* Structure for MB Command READ_RCONFIG (12) */
@@ -3171,3 +3173,16 @@ lpfc_is_LC_HBA(unsigned short device)
3171 else 3173 else
3172 return 0; 3174 return 0;
3173} 3175}
3176
3177/*
3178 * Determine if an IOCB failed because of a link event or firmware reset.
3179 */
3180
3181static inline int
3182lpfc_error_lost_link(IOCB_t *iocbp)
3183{
3184 return (iocbp->ulpStatus == IOSTAT_LOCAL_REJECT &&
3185 (iocbp->un.ulpWord[4] == IOERR_SLI_ABORTED ||
3186 iocbp->un.ulpWord[4] == IOERR_LINK_DOWN ||
3187 iocbp->un.ulpWord[4] == IOERR_SLI_DOWN));
3188}