> On Aug 5, 2021, at 5:19 AM, Nilesh Javali <njavali@xxxxxxxxxxx> wrote: > > From: Arun Easi <aeasi@xxxxxxxxxxx> > > Add a mechanism to trigger MPI pause for debugging purpose. > > Signed-off-by: Arun Easi <aeasi@xxxxxxxxxxx> > Signed-off-by: Nilesh Javali <njavali@xxxxxxxxxxx> > --- > drivers/scsi/qla2xxx/qla_attr.c | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c > index 22191e9a04a0..4a0a5b4e688d 100644 > --- a/drivers/scsi/qla2xxx/qla_attr.c > +++ b/drivers/scsi/qla2xxx/qla_attr.c > @@ -1887,6 +1887,30 @@ qla2x00_port_speed_show(struct device *dev, struct device_attribute *attr, > return scnprintf(buf, PAGE_SIZE, "%s\n", spd[ha->link_data_rate]); > } > > +static ssize_t > +qla2x00_mpi_pause_store(struct device *dev, > + struct device_attribute *attr, const char *buf, size_t count) > +{ > + scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); > + int rval = 0; > + > + if (sscanf(buf, "%d", &rval) != 1) > + return -EINVAL; > + > + ql_log(ql_log_warn, vha, 0x7089, "Pausing MPI...\n"); > + > + rval = qla83xx_wr_reg(vha, 0x002012d4, 0x30000001); > + > + if (rval != QLA_SUCCESS) { > + ql_log(ql_log_warn, vha, 0x708a, "Unable to pause MPI.\n"); > + count = 0; > + } > + > + return count; > +} > + > +static DEVICE_ATTR(mpi_pause, S_IWUSR, NULL, qla2x00_mpi_pause_store); > + > /* ----- */ > > static ssize_t > @@ -2482,6 +2506,7 @@ struct device_attribute *qla2x00_host_attrs[] = { > &dev_attr_fw_attr, > &dev_attr_dport_diagnostics, > &dev_attr_edif_doorbell, > + &dev_attr_mpi_pause, > NULL, /* reserve for qlini_mode */ > NULL, /* reserve for ql2xiniexchg */ > NULL, /* reserve for ql2xexchoffld */ > -- > 2.19.0.rc0 > Reviewed-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> -- Himanshu Madhani Oracle Linux Engineering