[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:
committed by
James Bottomley
parent
7c38c05b3e
commit
86a80846a6
@@ -805,6 +805,8 @@ struct lpfc_hba {
|
|||||||
struct dentry *idiag_root;
|
struct dentry *idiag_root;
|
||||||
struct dentry *idiag_pci_cfg;
|
struct dentry *idiag_pci_cfg;
|
||||||
struct dentry *idiag_que_info;
|
struct dentry *idiag_que_info;
|
||||||
|
struct dentry *idiag_que_acc;
|
||||||
|
struct dentry *idiag_drb_acc;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Used for deferred freeing of ELS data buffers */
|
/* 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 */
|
/* hbqinfo output buffer size */
|
||||||
#define LPFC_HBQINFO_SIZE 8192
|
#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_SIZE 4096
|
||||||
#define LPFC_PCI_CFG_RD_BUF_SIZE (LPFC_PCI_CFG_SIZE/2)
|
#define LPFC_PCI_CFG_RD_BUF_SIZE (LPFC_PCI_CFG_SIZE/2)
|
||||||
#define LPFC_PCI_CFG_RD_SIZE (LPFC_PCI_CFG_SIZE/4)
|
#define LPFC_PCI_CFG_RD_SIZE (LPFC_PCI_CFG_SIZE/4)
|
||||||
|
|
||||||
/* queue info output buffer size */
|
/* queue info */
|
||||||
#define LPFC_QUE_INFO_GET_BUF_SIZE 2048
|
#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_U8 sizeof(uint8_t)
|
||||||
#define SIZE_U16 sizeof(uint16_t)
|
#define SIZE_U16 sizeof(uint16_t)
|
||||||
@@ -73,13 +102,23 @@ struct lpfc_idiag_offset {
|
|||||||
uint32_t last_rd;
|
uint32_t last_rd;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define LPFC_IDIAG_CMD_DATA_SIZE 4
|
#define LPFC_IDIAG_CMD_DATA_SIZE 8
|
||||||
struct lpfc_idiag_cmd {
|
struct lpfc_idiag_cmd {
|
||||||
uint32_t opcode;
|
uint32_t opcode;
|
||||||
#define LPFC_IDIAG_CMD_PCICFG_RD 0x00000001
|
#define LPFC_IDIAG_CMD_PCICFG_RD 0x00000001
|
||||||
#define LPFC_IDIAG_CMD_PCICFG_WR 0x00000002
|
#define LPFC_IDIAG_CMD_PCICFG_WR 0x00000002
|
||||||
#define LPFC_IDIAG_CMD_PCICFG_ST 0x00000003
|
#define LPFC_IDIAG_CMD_PCICFG_ST 0x00000003
|
||||||
#define LPFC_IDIAG_CMD_PCICFG_CL 0x00000004
|
#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];
|
uint32_t data[LPFC_IDIAG_CMD_DATA_SIZE];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -87,6 +126,7 @@ struct lpfc_idiag {
|
|||||||
uint32_t active;
|
uint32_t active;
|
||||||
struct lpfc_idiag_cmd cmd;
|
struct lpfc_idiag_cmd cmd;
|
||||||
struct lpfc_idiag_offset offset;
|
struct lpfc_idiag_offset offset;
|
||||||
|
void *ptr_private;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user