[SCSI] lpfc 8.3.23: Debugfs enhancements
Debugfs enhancements - Added iDiag support for new adapters. - Added queue entry access methods. - Fix host/port index in decimal - Added Doorbell register access methods. 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:
parent
7c38c05b3e
commit
86a80846a6
|
@ -805,6 +805,8 @@ struct lpfc_hba {
|
|||
struct dentry *idiag_root;
|
||||
struct dentry *idiag_pci_cfg;
|
||||
struct dentry *idiag_que_info;
|
||||
struct dentry *idiag_que_acc;
|
||||
struct dentry *idiag_drb_acc;
|
||||
#endif
|
||||
|
||||
/* Used for deferred freeing of ELS data buffers */
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -39,13 +39,42 @@
|
|||
/* hbqinfo output buffer size */
|
||||
#define LPFC_HBQINFO_SIZE 8192
|
||||
|
||||
/* rdPciConf output buffer size */
|
||||
/* pciConf */
|
||||
#define LPFC_PCI_CFG_BROWSE 0xffff
|
||||
#define LPFC_PCI_CFG_RD_CMD_ARG 2
|
||||
#define LPFC_PCI_CFG_WR_CMD_ARG 3
|
||||
#define LPFC_PCI_CFG_SIZE 4096
|
||||
#define LPFC_PCI_CFG_RD_BUF_SIZE (LPFC_PCI_CFG_SIZE/2)
|
||||
#define LPFC_PCI_CFG_RD_SIZE (LPFC_PCI_CFG_SIZE/4)
|
||||
|
||||
/* queue info output buffer size */
|
||||
#define LPFC_QUE_INFO_GET_BUF_SIZE 2048
|
||||
/* queue info */
|
||||
#define LPFC_QUE_INFO_GET_BUF_SIZE 4096
|
||||
|
||||
/* queue acc */
|
||||
#define LPFC_QUE_ACC_BROWSE 0xffff
|
||||
#define LPFC_QUE_ACC_RD_CMD_ARG 4
|
||||
#define LPFC_QUE_ACC_WR_CMD_ARG 6
|
||||
#define LPFC_QUE_ACC_BUF_SIZE 4096
|
||||
#define LPFC_QUE_ACC_SIZE (LPFC_QUE_ACC_BUF_SIZE/2)
|
||||
|
||||
#define LPFC_IDIAG_EQ 1
|
||||
#define LPFC_IDIAG_CQ 2
|
||||
#define LPFC_IDIAG_MQ 3
|
||||
#define LPFC_IDIAG_WQ 4
|
||||
#define LPFC_IDIAG_RQ 5
|
||||
|
||||
/* doorbell acc */
|
||||
#define LPFC_DRB_ACC_ALL 0xffff
|
||||
#define LPFC_DRB_ACC_RD_CMD_ARG 1
|
||||
#define LPFC_DRB_ACC_WR_CMD_ARG 2
|
||||
#define LPFC_DRB_ACC_BUF_SIZE 256
|
||||
|
||||
#define LPFC_DRB_EQCQ 1
|
||||
#define LPFC_DRB_MQ 2
|
||||
#define LPFC_DRB_WQ 3
|
||||
#define LPFC_DRB_RQ 4
|
||||
|
||||
#define LPFC_DRB_MAX 4
|
||||
|
||||
#define SIZE_U8 sizeof(uint8_t)
|
||||
#define SIZE_U16 sizeof(uint16_t)
|
||||
|
@ -73,13 +102,23 @@ struct lpfc_idiag_offset {
|
|||
uint32_t last_rd;
|
||||
};
|
||||
|
||||
#define LPFC_IDIAG_CMD_DATA_SIZE 4
|
||||
#define LPFC_IDIAG_CMD_DATA_SIZE 8
|
||||
struct lpfc_idiag_cmd {
|
||||
uint32_t opcode;
|
||||
#define LPFC_IDIAG_CMD_PCICFG_RD 0x00000001
|
||||
#define LPFC_IDIAG_CMD_PCICFG_WR 0x00000002
|
||||
#define LPFC_IDIAG_CMD_PCICFG_ST 0x00000003
|
||||
#define LPFC_IDIAG_CMD_PCICFG_CL 0x00000004
|
||||
|
||||
#define LPFC_IDIAG_CMD_QUEACC_RD 0x00000011
|
||||
#define LPFC_IDIAG_CMD_QUEACC_WR 0x00000012
|
||||
#define LPFC_IDIAG_CMD_QUEACC_ST 0x00000013
|
||||
#define LPFC_IDIAG_CMD_QUEACC_CL 0x00000014
|
||||
|
||||
#define LPFC_IDIAG_CMD_DRBACC_RD 0x00000021
|
||||
#define LPFC_IDIAG_CMD_DRBACC_WR 0x00000022
|
||||
#define LPFC_IDIAG_CMD_DRBACC_ST 0x00000023
|
||||
#define LPFC_IDIAG_CMD_DRBACC_CL 0x00000024
|
||||
uint32_t data[LPFC_IDIAG_CMD_DATA_SIZE];
|
||||
};
|
||||
|
||||
|
@ -87,6 +126,7 @@ struct lpfc_idiag {
|
|||
uint32_t active;
|
||||
struct lpfc_idiag_cmd cmd;
|
||||
struct lpfc_idiag_offset offset;
|
||||
void *ptr_private;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue