aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_hw.h
diff options
context:
space:
mode:
authorJames Smart <James.Smart@Emulex.Com>2008-08-24 21:50:00 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-10-13 09:28:53 -0400
commitd7c255b26d8e3f12164d82093de3bf22efad2b4a (patch)
tree0b3467eda322ec2d90e5a7369891ab4ba12ff0a1 /drivers/scsi/lpfc/lpfc_hw.h
parent34b02dcdcf1865405f4762b991965c0c3b8a3ae0 (diff)
[SCSI] lpfc 8.2.8 : Miscellaneous Bug Fixes
Miscellaneous Fixes: - Fix the wrong variable name used for checking node active usage status - Fix numerous duplicate log message numbers - Fix change KERN_WARNING messages to KERN_INFO. - Stop sending erroneous LOGO to fabric after vport is already terminated - Fix HBQ allocates that were kalloc'ing w/ GFP_KERNEL while holding a lock. - Fix gcc 4.3.2 compiler warnings and a sparse warning - Fix bugs in handling unsolicited ct event queue - Reorder some of the initial link up checks, to remove odd VPI states. - Correct poor VPI handling - Add debug messages - Expand Update_CFG mailbox definition - Fix handling of VPD data offsets - Reorder loopback flags - convert to use offsetof() Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_hw.h')
-rw-r--r--drivers/scsi/lpfc/lpfc_hw.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hw.h b/drivers/scsi/lpfc/lpfc_hw.h
index a986332fecf6..9f94dab5ea73 100644
--- a/drivers/scsi/lpfc/lpfc_hw.h
+++ b/drivers/scsi/lpfc/lpfc_hw.h
@@ -2318,6 +2318,36 @@ typedef struct {
2318#define DMP_RSP_OFFSET 0x14 /* word 5 contains first word of rsp */ 2318#define DMP_RSP_OFFSET 0x14 /* word 5 contains first word of rsp */
2319#define DMP_RSP_SIZE 0x6C /* maximum of 27 words of rsp data */ 2319#define DMP_RSP_SIZE 0x6C /* maximum of 27 words of rsp data */
2320 2320
2321/* Structure for MB Command UPDATE_CFG (0x1B) */
2322
2323struct update_cfg_var {
2324#ifdef __BIG_ENDIAN_BITFIELD
2325 uint32_t rsvd2:16;
2326 uint32_t type:8;
2327 uint32_t rsvd:1;
2328 uint32_t ra:1;
2329 uint32_t co:1;
2330 uint32_t cv:1;
2331 uint32_t req:4;
2332 uint32_t entry_length:16;
2333 uint32_t region_id:16;
2334#else /* __LITTLE_ENDIAN_BITFIELD */
2335 uint32_t req:4;
2336 uint32_t cv:1;
2337 uint32_t co:1;
2338 uint32_t ra:1;
2339 uint32_t rsvd:1;
2340 uint32_t type:8;
2341 uint32_t rsvd2:16;
2342 uint32_t region_id:16;
2343 uint32_t entry_length:16;
2344#endif
2345
2346 uint32_t resp_info;
2347 uint32_t byte_cnt;
2348 uint32_t data_offset;
2349};
2350
2321struct hbq_mask { 2351struct hbq_mask {
2322#ifdef __BIG_ENDIAN_BITFIELD 2352#ifdef __BIG_ENDIAN_BITFIELD
2323 uint8_t tmatch; 2353 uint8_t tmatch;
@@ -2672,6 +2702,7 @@ typedef union {
2672 * NEW_FEATURE 2702 * NEW_FEATURE
2673 */ 2703 */
2674 struct config_hbq_var varCfgHbq;/* cmd = 0x7c (CONFIG_HBQ) */ 2704 struct config_hbq_var varCfgHbq;/* cmd = 0x7c (CONFIG_HBQ) */
2705 struct update_cfg_var varUpdateCfg; /* cmd = 0x1B (UPDATE_CFG)*/
2675 CONFIG_PORT_VAR varCfgPort; /* cmd = 0x88 (CONFIG_PORT) */ 2706 CONFIG_PORT_VAR varCfgPort; /* cmd = 0x88 (CONFIG_PORT) */
2676 REG_VPI_VAR varRegVpi; /* cmd = 0x96 (REG_VPI) */ 2707 REG_VPI_VAR varRegVpi; /* cmd = 0x96 (REG_VPI) */
2677 UNREG_VPI_VAR varUnregVpi; /* cmd = 0x97 (UNREG_VPI) */ 2708 UNREG_VPI_VAR varUnregVpi; /* cmd = 0x97 (UNREG_VPI) */