forked from Minki/linux
scsi: pm80xx: Add sysfs attribute to track iop0 count
A new sysfs variable 'ctl_iop0_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_iop0_count' sysfs variable we can see ticks incrementing: linux-9saw:~# cat /sys/class/scsi_host/host*/ctl_iop0_count 0x000000a3 0x000001db 0x000001e4 0x000001e7 Link: https://lore.kernel.org/r/20210415103352.3580-5-Viswas.G@microchip.com Acked-by: Jack Wang <jinpu.wang@ionos.com> Signed-off-by: Vishakha Channapattan <vishakhavc@google.com> Signed-off-by: Viswas G <Viswas.G@microchip.com> Signed-off-by: Ruksar Devadi <Ruksar.devadi@microchip.com> Signed-off-by: Ashokkumar N <Ashokkumar.N@microchip.com> Signed-off-by: Radha Ramachandran <radha@google.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
dd49ded8aa
commit
0602624ace
@ -953,6 +953,27 @@ static ssize_t ctl_raae_count_show(struct device *cdev,
|
||||
}
|
||||
static DEVICE_ATTR_RO(ctl_raae_count);
|
||||
|
||||
/**
|
||||
* ctl_iop0_count_show - controller iop0 count check
|
||||
* @cdev: pointer to embedded class device
|
||||
* @buf: the buffer returned
|
||||
*
|
||||
* A sysfs 'read-only' shost attribute.
|
||||
*/
|
||||
|
||||
static ssize_t ctl_iop0_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 iop0cnt;
|
||||
|
||||
iop0cnt = pm8001_mr32(pm8001_ha->general_stat_tbl_addr, 16);
|
||||
return sysfs_emit(buf, "0x%08x\n", iop0cnt);
|
||||
}
|
||||
static DEVICE_ATTR_RO(ctl_iop0_count);
|
||||
|
||||
struct device_attribute *pm8001_host_attrs[] = {
|
||||
&dev_attr_interface_rev,
|
||||
&dev_attr_controller_fatal_error,
|
||||
@ -979,6 +1000,7 @@ struct device_attribute *pm8001_host_attrs[] = {
|
||||
&dev_attr_ctl_mpi_state,
|
||||
&dev_attr_ctl_hmi_error,
|
||||
&dev_attr_ctl_raae_count,
|
||||
&dev_attr_ctl_iop0_count,
|
||||
NULL,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user