1
0

scsi: qla2xxx: Cleanups for NVRAM/Flash read/write path

This patch does following:

 - Clean up NVRAM code.
 - Optimizes reading of primary/secondary flash image validation.
 - Remove 0xff mask and make correct width in FLT structure.
 - Use endian macros to assign static fields in fwdump header.
 - Correct fdwt checksum calculation.
 - Simplify ql_dump_buffer() interface usage.
 - Add endianizers to 27xx firmware image validator.
 - fixes compiler warnings for big endian architecture.

Signed-off-by: Joe Carnuccio <joe.carnuccio@cavium.com>
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Joe Carnuccio
2019-03-12 11:08:16 -07:00
committed by Martin K. Petersen
parent 72a92df210
commit f8f97b0c5b
15 changed files with 292 additions and 274 deletions

View File

@@ -11,12 +11,12 @@
#define IOBASE_ADDR offsetof(struct device_reg_24xx, iobase_addr)
struct __packed qla27xx_fwdt_template {
uint32_t template_type;
uint32_t entry_offset;
__le32 template_type;
__le32 entry_offset;
uint32_t template_size;
uint32_t reserved_1;
uint32_t entry_count;
__le32 entry_count;
uint32_t template_version;
uint32_t capture_timestamp;
uint32_t template_checksum;
@@ -65,8 +65,8 @@ struct __packed qla27xx_fwdt_template {
struct __packed qla27xx_fwdt_entry {
struct __packed {
uint32_t type;
uint32_t size;
__le32 type;
__le32 size;
uint32_t reserved_1;
uint8_t capture_flags;
@@ -81,36 +81,36 @@ struct __packed qla27xx_fwdt_entry {
} t255;
struct __packed {
uint32_t base_addr;
__le32 base_addr;
uint8_t reg_width;
uint16_t reg_count;
__le16 reg_count;
uint8_t pci_offset;
} t256;
struct __packed {
uint32_t base_addr;
uint32_t write_data;
__le32 base_addr;
__le32 write_data;
uint8_t pci_offset;
uint8_t reserved[3];
} t257;
struct __packed {
uint32_t base_addr;
__le32 base_addr;
uint8_t reg_width;
uint16_t reg_count;
__le16 reg_count;
uint8_t pci_offset;
uint8_t banksel_offset;
uint8_t reserved[3];
uint32_t bank;
__le32 bank;
} t258;
struct __packed {
uint32_t base_addr;
uint32_t write_data;
__le32 base_addr;
__le32 write_data;
uint8_t reserved[2];
uint8_t pci_offset;
uint8_t banksel_offset;
uint32_t bank;
__le32 bank;
} t259;
struct __packed {
@@ -121,14 +121,14 @@ struct __packed qla27xx_fwdt_entry {
struct __packed {
uint8_t pci_offset;
uint8_t reserved[3];
uint32_t write_data;
__le32 write_data;
} t261;
struct __packed {
uint8_t ram_area;
uint8_t reserved[3];
uint32_t start_addr;
uint32_t end_addr;
__le32 start_addr;
__le32 end_addr;
} t262;
struct __packed {
@@ -158,7 +158,7 @@ struct __packed qla27xx_fwdt_entry {
struct __packed {
uint8_t pci_offset;
uint8_t reserved[3];
uint32_t data;
__le32 data;
} t267;
struct __packed {
@@ -173,23 +173,23 @@ struct __packed qla27xx_fwdt_entry {
} t269;
struct __packed {
uint32_t addr;
uint32_t count;
__le32 addr;
__le32 count;
} t270;
struct __packed {
uint32_t addr;
uint32_t data;
__le32 addr;
__le32 data;
} t271;
struct __packed {
uint32_t addr;
uint32_t count;
__le32 addr;
__le32 count;
} t272;
struct __packed {
uint32_t addr;
uint32_t count;
__le32 addr;
__le32 count;
} t273;
struct __packed {
@@ -199,26 +199,26 @@ struct __packed qla27xx_fwdt_entry {
} t274;
struct __packed {
uint32_t length;
__le32 length;
uint8_t buffer[];
} t275;
struct __packed {
uint32_t cond1;
uint32_t cond2;
__le32 cond1;
__le32 cond2;
} t276;
struct __packed {
uint32_t cmd_addr;
uint32_t wr_cmd_data;
uint32_t data_addr;
__le32 cmd_addr;
__le32 wr_cmd_data;
__le32 data_addr;
} t277;
struct __packed {
uint32_t cmd_addr;
uint32_t wr_cmd_data;
uint32_t data_addr;
uint32_t wr_data;
__le32 cmd_addr;
__le32 wr_cmd_data;
__le32 data_addr;
__le32 wr_data;
} t278;
};
};