[SCSI] lpfc 8.3.16: SLI Additions, updates, and code cleanup
- Remove unneeded Endian swap for Block Guard IOCB response - Add a check for mailbox active before issuing the heartbeat command - Correct heartbeat last_completion updates to avoid unneeded heartbeats - Add Security crypto support to CONFIG_PORT mailbox command - Add fips level and fips spec revision sysfs parameters - Remove duplicate setting of ext_byte_len fields in lpfc_bsg_issue_mbox - Switch call to memcpy_toio to __write32_copy to prevent unaligned 64 bit copy - Change log message 0318 from an error to a warning as it is not an error - Patch an incorrect call to lpfc_drain_txq on SLI-3 functions Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:

committed by
James Bottomley

parent
823d219f23
commit
bc73905abf
@@ -2806,11 +2806,15 @@ typedef struct {
|
||||
uint32_t rsvd6; /* Reserved */
|
||||
|
||||
#ifdef __BIG_ENDIAN_BITFIELD
|
||||
uint32_t rsvd7 : 16; /* Reserved */
|
||||
uint32_t fips_rev : 3; /* FIPS Spec Revision */
|
||||
uint32_t fips_level : 4; /* FIPS Level */
|
||||
uint32_t sec_err : 9; /* security crypto error */
|
||||
uint32_t max_vpi : 16; /* Max number of virt N-Ports */
|
||||
#else /* __LITTLE_ENDIAN */
|
||||
uint32_t max_vpi : 16; /* Max number of virt N-Ports */
|
||||
uint32_t rsvd7 : 16; /* Reserved */
|
||||
uint32_t sec_err : 9; /* security crypto error */
|
||||
uint32_t fips_level : 4; /* FIPS Level */
|
||||
uint32_t fips_rev : 3; /* FIPS Spec Revision */
|
||||
#endif
|
||||
|
||||
} CONFIG_PORT_VAR;
|
||||
@@ -3441,63 +3445,63 @@ struct sli3_bg_fields {
|
||||
static inline uint32_t
|
||||
lpfc_bgs_get_bidir_bg_prof(uint32_t bgstat)
|
||||
{
|
||||
return (le32_to_cpu(bgstat) & BGS_BIDIR_BG_PROF_MASK) >>
|
||||
return (bgstat & BGS_BIDIR_BG_PROF_MASK) >>
|
||||
BGS_BIDIR_BG_PROF_SHIFT;
|
||||
}
|
||||
|
||||
static inline uint32_t
|
||||
lpfc_bgs_get_bidir_err_cond(uint32_t bgstat)
|
||||
{
|
||||
return (le32_to_cpu(bgstat) & BGS_BIDIR_ERR_COND_FLAGS_MASK) >>
|
||||
return (bgstat & BGS_BIDIR_ERR_COND_FLAGS_MASK) >>
|
||||
BGS_BIDIR_ERR_COND_SHIFT;
|
||||
}
|
||||
|
||||
static inline uint32_t
|
||||
lpfc_bgs_get_bg_prof(uint32_t bgstat)
|
||||
{
|
||||
return (le32_to_cpu(bgstat) & BGS_BG_PROFILE_MASK) >>
|
||||
return (bgstat & BGS_BG_PROFILE_MASK) >>
|
||||
BGS_BG_PROFILE_SHIFT;
|
||||
}
|
||||
|
||||
static inline uint32_t
|
||||
lpfc_bgs_get_invalid_prof(uint32_t bgstat)
|
||||
{
|
||||
return (le32_to_cpu(bgstat) & BGS_INVALID_PROF_MASK) >>
|
||||
return (bgstat & BGS_INVALID_PROF_MASK) >>
|
||||
BGS_INVALID_PROF_SHIFT;
|
||||
}
|
||||
|
||||
static inline uint32_t
|
||||
lpfc_bgs_get_uninit_dif_block(uint32_t bgstat)
|
||||
{
|
||||
return (le32_to_cpu(bgstat) & BGS_UNINIT_DIF_BLOCK_MASK) >>
|
||||
return (bgstat & BGS_UNINIT_DIF_BLOCK_MASK) >>
|
||||
BGS_UNINIT_DIF_BLOCK_SHIFT;
|
||||
}
|
||||
|
||||
static inline uint32_t
|
||||
lpfc_bgs_get_hi_water_mark_present(uint32_t bgstat)
|
||||
{
|
||||
return (le32_to_cpu(bgstat) & BGS_HI_WATER_MARK_PRESENT_MASK) >>
|
||||
return (bgstat & BGS_HI_WATER_MARK_PRESENT_MASK) >>
|
||||
BGS_HI_WATER_MARK_PRESENT_SHIFT;
|
||||
}
|
||||
|
||||
static inline uint32_t
|
||||
lpfc_bgs_get_reftag_err(uint32_t bgstat)
|
||||
{
|
||||
return (le32_to_cpu(bgstat) & BGS_REFTAG_ERR_MASK) >>
|
||||
return (bgstat & BGS_REFTAG_ERR_MASK) >>
|
||||
BGS_REFTAG_ERR_SHIFT;
|
||||
}
|
||||
|
||||
static inline uint32_t
|
||||
lpfc_bgs_get_apptag_err(uint32_t bgstat)
|
||||
{
|
||||
return (le32_to_cpu(bgstat) & BGS_APPTAG_ERR_MASK) >>
|
||||
return (bgstat & BGS_APPTAG_ERR_MASK) >>
|
||||
BGS_APPTAG_ERR_SHIFT;
|
||||
}
|
||||
|
||||
static inline uint32_t
|
||||
lpfc_bgs_get_guard_err(uint32_t bgstat)
|
||||
{
|
||||
return (le32_to_cpu(bgstat) & BGS_GUARD_ERR_MASK) >>
|
||||
return (bgstat & BGS_GUARD_ERR_MASK) >>
|
||||
BGS_GUARD_ERR_SHIFT;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user