Commit b0c306e6 authored by Vishakha Channapattan's avatar Vishakha Channapattan Committed by Martin K. Petersen

scsi: pm80xx: Add sysfs attribute to track iop1 count

A new sysfs variable 'ctl_iop1_count' is being introduced that tells if
the controller is alive by indicating controller ticks. If on subsequent
run we see the ticks changing that indicates that controller is not
dead.

Using the 'ctl_iop1_count' sysfs variable we can see ticks incrementing:

    linux-9saw:~# cat  /sys/class/scsi_host/host*/ctl_iop1_count
    0x00000069
    0x0000006b
    0x0000006d
    0x00000072

Link: https://lore.kernel.org/r/20210415103352.3580-6-Viswas.G@microchip.comAcked-by: default avatarJack Wang <jinpu.wang@ionos.com>
Signed-off-by: default avatarVishakha Channapattan <vishakhavc@google.com>
Signed-off-by: default avatarViswas G <Viswas.G@microchip.com>
Signed-off-by: default avatarRuksar Devadi <Ruksar.devadi@microchip.com>
Signed-off-by: default avatarAshokkumar N <Ashokkumar.N@microchip.com>
Signed-off-by: default avatarRadha Ramachandran <radha@google.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 0602624a
......@@ -974,6 +974,28 @@ static ssize_t ctl_iop0_count_show(struct device *cdev,
}
static DEVICE_ATTR_RO(ctl_iop0_count);
/**
* ctl_iop1_count_show - controller iop1 count check
* @cdev: pointer to embedded class device
* @buf: the buffer returned
*
* A sysfs 'read-only' shost attribute.
*/
static ssize_t ctl_iop1_count_show(struct device *cdev,
struct device_attribute *attr, char *buf)
{
struct Scsi_Host *shost = class_to_shost(cdev);
struct sas_ha_struct *sha = SHOST_TO_SAS_HA(shost);
struct pm8001_hba_info *pm8001_ha = sha->lldd_ha;
unsigned int iop1cnt;
iop1cnt = pm8001_mr32(pm8001_ha->general_stat_tbl_addr, 20);
return sysfs_emit(buf, "0x%08x\n", iop1cnt);
}
static DEVICE_ATTR_RO(ctl_iop1_count);
struct device_attribute *pm8001_host_attrs[] = {
&dev_attr_interface_rev,
&dev_attr_controller_fatal_error,
......@@ -1001,6 +1023,7 @@ struct device_attribute *pm8001_host_attrs[] = {
&dev_attr_ctl_hmi_error,
&dev_attr_ctl_raae_count,
&dev_attr_ctl_iop0_count,
&dev_attr_ctl_iop1_count,
NULL,
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment