mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-25 12:04:46 +08:00
cxgb4: Add support in debugfs to display sensor information
Dump out various chip sensor information. Currently Chip Temperature and Core Voltage. Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
bdb2748202
commit
70a5f3bb5f
@ -813,6 +813,41 @@ static const struct file_operations mps_tcam_debugfs_fops = {
|
||||
.release = seq_release,
|
||||
};
|
||||
|
||||
/* Display various sensor information.
|
||||
*/
|
||||
static int sensors_show(struct seq_file *seq, void *v)
|
||||
{
|
||||
struct adapter *adap = seq->private;
|
||||
u32 param[7], val[7];
|
||||
int ret;
|
||||
|
||||
/* Note that if the sensors haven't been initialized and turned on
|
||||
* we'll get values of 0, so treat those as "<unknown>" ...
|
||||
*/
|
||||
param[0] = (FW_PARAMS_MNEM_V(FW_PARAMS_MNEM_DEV) |
|
||||
FW_PARAMS_PARAM_X_V(FW_PARAMS_PARAM_DEV_DIAG) |
|
||||
FW_PARAMS_PARAM_Y_V(FW_PARAM_DEV_DIAG_TMP));
|
||||
param[1] = (FW_PARAMS_MNEM_V(FW_PARAMS_MNEM_DEV) |
|
||||
FW_PARAMS_PARAM_X_V(FW_PARAMS_PARAM_DEV_DIAG) |
|
||||
FW_PARAMS_PARAM_Y_V(FW_PARAM_DEV_DIAG_VDD));
|
||||
ret = t4_query_params(adap, adap->mbox, adap->fn, 0, 2,
|
||||
param, val);
|
||||
|
||||
if (ret < 0 || val[0] == 0)
|
||||
seq_puts(seq, "Temperature: <unknown>\n");
|
||||
else
|
||||
seq_printf(seq, "Temperature: %dC\n", val[0]);
|
||||
|
||||
if (ret < 0 || val[1] == 0)
|
||||
seq_puts(seq, "Core VDD: <unknown>\n");
|
||||
else
|
||||
seq_printf(seq, "Core VDD: %dmV\n", val[1]);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
DEFINE_SIMPLE_DEBUGFS_FILE(sensors);
|
||||
|
||||
#if IS_ENABLED(CONFIG_IPV6)
|
||||
static int clip_tbl_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
@ -1584,6 +1619,7 @@ int t4_setup_debugfs(struct adapter *adap)
|
||||
{ "obq_ulp3", &cim_obq_fops, S_IRUSR, 3 },
|
||||
{ "obq_sge", &cim_obq_fops, S_IRUSR, 4 },
|
||||
{ "obq_ncsi", &cim_obq_fops, S_IRUSR, 5 },
|
||||
{ "sensors", &sensors_debugfs_fops, S_IRUSR, 0 },
|
||||
{ "pm_stats", &pm_stats_debugfs_fops, S_IRUSR, 0 },
|
||||
#if IS_ENABLED(CONFIG_IPV6)
|
||||
{ "clip_tbl", &clip_tbl_debugfs_fops, S_IRUSR, 0 },
|
||||
|
@ -1059,6 +1059,7 @@ enum fw_params_param_dev {
|
||||
FW_PARAMS_PARAM_DEV_FWREV = 0x0B,
|
||||
FW_PARAMS_PARAM_DEV_TPREV = 0x0C,
|
||||
FW_PARAMS_PARAM_DEV_CF = 0x0D,
|
||||
FW_PARAMS_PARAM_DEV_DIAG = 0x11,
|
||||
FW_PARAMS_PARAM_DEV_MAXORDIRD_QP = 0x13, /* max supported QP IRD/ORD */
|
||||
FW_PARAMS_PARAM_DEV_MAXIRD_ADAPTER = 0x14, /* max supported adap IRD */
|
||||
FW_PARAMS_PARAM_DEV_ULPTX_MEMWRITE_DSGL = 0x17,
|
||||
@ -1122,6 +1123,11 @@ enum fw_params_param_dmaq {
|
||||
FW_PARAMS_PARAM_DMAQ_EQ_DCBPRIO_ETH = 0x13,
|
||||
};
|
||||
|
||||
enum fw_params_param_dev_diag {
|
||||
FW_PARAM_DEV_DIAG_TMP = 0x00,
|
||||
FW_PARAM_DEV_DIAG_VDD = 0x01,
|
||||
};
|
||||
|
||||
enum fw_params_param_dev_fwcache {
|
||||
FW_PARAM_DEV_FWCACHE_FLUSH = 0x00,
|
||||
FW_PARAM_DEV_FWCACHE_FLUSHINV = 0x01,
|
||||
|
Loading…
Reference in New Issue
Block a user