From: Viswas G <Viswas.G@microchip.com>
To: <linux-scsi@vger.kernel.org>
Cc: <Vasanthalakshmi.Tharmarajan@microchip.com>,
<Viswas.G@microchip.com>, <Ruksar.devadi@microchip.com>,
<vishakhavc@google.com>, <radha@google.com>,
<jinpu.wang@cloud.ionos.com>,
Ashokkumar N <Ashokkumar.N@microchip.com>,
"John Garry" <john.garry@huawei.com>
Subject: [PATCH v3 1/7] pm80xx: Add sysfs attribute to check mpi state
Date: Tue, 30 Mar 2021 12:10:02 +0530 [thread overview]
Message-ID: <20210330064008.9666-2-Viswas.G@microchip.com> (raw)
In-Reply-To: <20210330064008.9666-1-Viswas.G@microchip.com>
From: Vishakha Channapattan <vishakhavc@google.com>
A new sysfs variable 'ctl_mpi_state' is being introduced to
check the state of mpi.
Tested: Using 'ctl_mpi_state' sysfs variable we check the mpi state
mvae14:~# cat /sys/class/scsi_host/host*/ctl_mpi_state
MPI-S=MPI is successfully initialized HMI_ERR=0
MPI-S=MPI is successfully initialized HMI_ERR=0
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.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: kernel test robot <lkp@intel.com>
---
drivers/scsi/pm8001/pm8001_ctl.c | 35 ++++++++++++++++++++++++++++++++++-
1 file changed, 34 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/pm8001/pm8001_ctl.c b/drivers/scsi/pm8001/pm8001_ctl.c
index 12035baf0997..6b6b774c455e 100644
--- a/drivers/scsi/pm8001/pm8001_ctl.c
+++ b/drivers/scsi/pm8001/pm8001_ctl.c
@@ -41,6 +41,7 @@
#include <linux/slab.h>
#include "pm8001_sas.h"
#include "pm8001_ctl.h"
+#include "pm8001_chips.h"
/* scsi host attributes */
@@ -883,9 +884,40 @@ static ssize_t pm8001_show_update_fw(struct device *cdev,
flash_error_table[i].err_code,
flash_error_table[i].reason);
}
-
static DEVICE_ATTR(update_fw, S_IRUGO|S_IWUSR|S_IWGRP,
pm8001_show_update_fw, pm8001_store_update_fw);
+
+/**
+ * ctl_mpi_state_show - controller MPI state check
+ * @cdev: pointer to embedded class device
+ * @buf: the buffer returned
+ *
+ * A sysfs 'read-only' shost attribute.
+ */
+
+static char mpiStateText[][80] = {
+ "MPI is not initialized",
+ "MPI is successfully initialized",
+ "MPI termination is in progress",
+ "MPI initialization failed with error in [31:16]"
+};
+
+static ssize_t ctl_mpi_state_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 mpidw0;
+ int c;
+
+ mpidw0 = pm8001_mr32(pm8001_ha->general_stat_tbl_addr, 0);
+ c = sysfs_emit(buf, "MPI-S=%s\t HMI_ERR=%x\n", mpiStateText[mpidw0 & 0x0003],
+ (mpidw0 >> 16));
+ return c;
+}
+static DEVICE_ATTR_RO(ctl_mpi_state);
+
struct device_attribute *pm8001_host_attrs[] = {
&dev_attr_interface_rev,
&dev_attr_controller_fatal_error,
@@ -909,6 +941,7 @@ struct device_attribute *pm8001_host_attrs[] = {
&dev_attr_ob_log,
&dev_attr_ila_version,
&dev_attr_inc_fw_ver,
+ &dev_attr_ctl_mpi_state,
NULL,
};
--
2.16.3
next prev parent reply other threads:[~2021-03-30 6:31 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-30 6:40 [PATCH v3 0/7] pm80xx updates Viswas G
2021-03-30 6:40 ` Viswas G [this message]
2021-03-31 17:31 ` [PATCH v3 1/7] pm80xx: Add sysfs attribute to check mpi state Jinpu Wang
2021-04-02 3:20 ` Martin K. Petersen
2021-04-02 4:58 ` Viswas.G
2021-04-03 23:00 ` Bart Van Assche
2021-04-02 3:49 ` Bart Van Assche
2021-03-30 6:40 ` [PATCH v3 2/7] pm80xx: Add sysfs attribute to track RAAE count Viswas G
2021-04-02 3:50 ` Bart Van Assche
2021-03-30 6:40 ` [PATCH v3 3/7] pm80xx: Add sysfs attribute to track iop0 count Viswas G
2021-03-30 6:40 ` [PATCH v3 4/7] pm80xx: Add sysfs attribute to track iop1 count Viswas G
2021-03-30 6:40 ` [PATCH v3 5/7] pm80xx: Completing pending IO after fatal error Viswas G
2021-03-30 6:40 ` [PATCH v3 6/7] pm80xx: Reset PI and CI memory during re-initialize Viswas G
2021-03-30 6:40 ` [PATCH v3 7/7] pm80xx: remove global lock from outbound queue processing Viswas G
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210330064008.9666-2-Viswas.G@microchip.com \
--to=viswas.g@microchip.com \
--cc=Ashokkumar.N@microchip.com \
--cc=Ruksar.devadi@microchip.com \
--cc=Vasanthalakshmi.Tharmarajan@microchip.com \
--cc=jinpu.wang@cloud.ionos.com \
--cc=john.garry@huawei.com \
--cc=linux-scsi@vger.kernel.org \
--cc=radha@google.com \
--cc=vishakhavc@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.