mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-19 11:41:26 +00:00
qla2x00t-32gbit: Add rport fields in debugfs
This patch adds rport fields in debugfs. Link: https://lore.kernel.org/r/20200904045128.23631-11-njavali@marvell.com Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by: Arun Easi <aeasi@marvell.com> Signed-off-by: Nilesh Javali <njavali@marvell.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> See also upstream commit 6152d20fa6703cf364253efc4eab31151558cb01. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9265 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -64,13 +64,53 @@ DEFINE_DEBUGFS_ATTRIBUTE(qla_dfs_rport_##_attr##_fops, \
|
||||
qla_dfs_rport_##_attr##_get, \
|
||||
qla_dfs_rport_##_attr##_set, "%llu\n")
|
||||
|
||||
/*
|
||||
* Wrapper for getting fc_port fields.
|
||||
*
|
||||
* _attr : Attribute name.
|
||||
* _get_val : Accessor macro to retrieve the value.
|
||||
*/
|
||||
#define DEFINE_QLA_DFS_RPORT_FIELD_GET(_attr, _get_val) \
|
||||
static int qla_dfs_rport_field_##_attr##_get(void *data, u64 *val) \
|
||||
{ \
|
||||
struct fc_port *fp = data; \
|
||||
*val = _get_val; \
|
||||
return 0; \
|
||||
} \
|
||||
DEFINE_DEBUGFS_ATTRIBUTE(qla_dfs_rport_field_##_attr##_fops, \
|
||||
qla_dfs_rport_field_##_attr##_get, \
|
||||
NULL, "%llu\n")
|
||||
|
||||
#define DEFINE_QLA_DFS_RPORT_ACCESS(_attr, _get_val) \
|
||||
DEFINE_QLA_DFS_RPORT_FIELD_GET(_attr, _get_val)
|
||||
|
||||
#define DEFINE_QLA_DFS_RPORT_FIELD(_attr) \
|
||||
DEFINE_QLA_DFS_RPORT_FIELD_GET(_attr, fp->_attr)
|
||||
|
||||
DEFINE_QLA_DFS_RPORT_RW_ATTR(QLA_DFS_RPORT_DEVLOSS_TMO, dev_loss_tmo);
|
||||
|
||||
DEFINE_QLA_DFS_RPORT_FIELD(disc_state);
|
||||
DEFINE_QLA_DFS_RPORT_FIELD(scan_state);
|
||||
DEFINE_QLA_DFS_RPORT_FIELD(fw_login_state);
|
||||
DEFINE_QLA_DFS_RPORT_FIELD(login_pause);
|
||||
DEFINE_QLA_DFS_RPORT_FIELD(flags);
|
||||
DEFINE_QLA_DFS_RPORT_FIELD(nvme_flag);
|
||||
DEFINE_QLA_DFS_RPORT_FIELD(last_rscn_gen);
|
||||
DEFINE_QLA_DFS_RPORT_FIELD(rscn_gen);
|
||||
DEFINE_QLA_DFS_RPORT_FIELD(login_gen);
|
||||
DEFINE_QLA_DFS_RPORT_FIELD(loop_id);
|
||||
DEFINE_QLA_DFS_RPORT_FIELD_GET(port_id, fp->d_id.b24);
|
||||
DEFINE_QLA_DFS_RPORT_FIELD_GET(sess_kref, kref_read(&fp->sess_kref));
|
||||
|
||||
void
|
||||
qla2x00_dfs_create_rport(scsi_qla_host_t *vha, struct fc_port *fp)
|
||||
{
|
||||
char wwn[32];
|
||||
|
||||
#define QLA_CREATE_RPORT_FIELD_ATTR(_attr) \
|
||||
debugfs_create_file(#_attr, 0400, fp->dfs_rport_dir, \
|
||||
fp, &qla_dfs_rport_field_##_attr##_fops)
|
||||
|
||||
if (!vha->dfs_rport_root || fp->dfs_rport_dir)
|
||||
return;
|
||||
|
||||
@@ -81,6 +121,19 @@ qla2x00_dfs_create_rport(scsi_qla_host_t *vha, struct fc_port *fp)
|
||||
if (NVME_TARGET(vha->hw, fp))
|
||||
debugfs_create_file("dev_loss_tmo", 0600, fp->dfs_rport_dir,
|
||||
fp, &qla_dfs_rport_dev_loss_tmo_fops);
|
||||
|
||||
QLA_CREATE_RPORT_FIELD_ATTR(disc_state);
|
||||
QLA_CREATE_RPORT_FIELD_ATTR(scan_state);
|
||||
QLA_CREATE_RPORT_FIELD_ATTR(fw_login_state);
|
||||
QLA_CREATE_RPORT_FIELD_ATTR(login_pause);
|
||||
QLA_CREATE_RPORT_FIELD_ATTR(flags);
|
||||
QLA_CREATE_RPORT_FIELD_ATTR(nvme_flag);
|
||||
QLA_CREATE_RPORT_FIELD_ATTR(last_rscn_gen);
|
||||
QLA_CREATE_RPORT_FIELD_ATTR(rscn_gen);
|
||||
QLA_CREATE_RPORT_FIELD_ATTR(login_gen);
|
||||
QLA_CREATE_RPORT_FIELD_ATTR(loop_id);
|
||||
QLA_CREATE_RPORT_FIELD_ATTR(port_id);
|
||||
QLA_CREATE_RPORT_FIELD_ATTR(sess_kref);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user