Message ID | 160763252438.26927.15696823365021360866.stgit@brunhilda (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | smartpqi updates | expand |
On Thu, 2020-12-10 at 14:35 -0600, Don Brace wrote: > * Allow R5/R6 stream detection to be disabled/enabled. > using sysfs entry enable_stream_detection. > > Example usage: > > lsscsi > [2:2:0:0] storage Adaptec 3258P-32i /e 0010 > ^ > | > +---- NOTE: here host is host2 > > find /sys -name \*enable_stream\* > /sys/devices/pci0000:36/0000:36:00.0/0000:37:00.0/0000:38:00.0/0000:3 > 9:00.0/host2/scsi_host/host2/enable_stream_detection > /sys/devices/pci0000:5b/0000:5b:00.0/0000:5c:00.0/host3/scsi_host/hos > t3/enable_stream_detection > > Current stream detection: > cat > /sys/devices/pci0000:36/0000:36:00.0/0000:37:00.0/0000:38:00.0/0000:3 > 9:00.0/host2/scsi_host/host2/enable_stream_detection > 1 > > Turn off stream detection: > echo 0 > > /sys/devices/pci0000:36/0000:36:00.0/0000:37:00.0/0000:38:00.0/0000:3 > 9:00.0/host2/scsi_host/host2/enable_stream_detection > > Turn on stream detection: > echo 1 > > /sys/devices/pci0000:36/0000:36:00.0/0000:37:00.0/0000:38:00.0/0000:3 > 9:00.0/host2/scsi_host/host2/enable_stream_detection > > Reviewed-by: Scott Benesh <scott.benesh@microchip.com> > Reviewed-by: Scott Teel <scott.teel@microchip.com> > Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com> > Signed-off-by: Don Brace <don.brace@microchip.com> Nitpick below, but Reviewed-by: Martin Wilck <mwilck@suse.com> > --- > drivers/scsi/smartpqi/smartpqi_init.c | 32 > ++++++++++++++++++++++++++++++++ > 1 file changed, 32 insertions(+) > > diff --git a/drivers/scsi/smartpqi/smartpqi_init.c > b/drivers/scsi/smartpqi/smartpqi_init.c > index 96383d047a88..9a449bbc1898 100644 > --- a/drivers/scsi/smartpqi/smartpqi_init.c > +++ b/drivers/scsi/smartpqi/smartpqi_init.c > @@ -6724,6 +6724,34 @@ static ssize_t pqi_lockup_action_store(struct > device *dev, > return -EINVAL; > } > > +static ssize_t pqi_host_enable_stream_detection_show(struct device > *dev, > + struct device_attribute *attr, char *buffer) > +{ > + struct Scsi_Host *shost = class_to_shost(dev); > + struct pqi_ctrl_info *ctrl_info = shost_to_hba(shost); > + > + return scnprintf(buffer, 10, "%hhx\n", > + ctrl_info->enable_stream_detection); Nitpick: As noted before, %hhx is discouraged. Regards, Martin
From: Martin Wilck [mailto:mwilck@suse.com]
Subject: Re: [PATCH V3 11/25] smartpqi: add host level stream detection enable
Nitpick: As noted before, %hhx is discouraged.
Regards,
Martin
Don: Changed to %x
Thanks for your hard work.
Don
diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c index 96383d047a88..9a449bbc1898 100644 --- a/drivers/scsi/smartpqi/smartpqi_init.c +++ b/drivers/scsi/smartpqi/smartpqi_init.c @@ -6724,6 +6724,34 @@ static ssize_t pqi_lockup_action_store(struct device *dev, return -EINVAL; } +static ssize_t pqi_host_enable_stream_detection_show(struct device *dev, + struct device_attribute *attr, char *buffer) +{ + struct Scsi_Host *shost = class_to_shost(dev); + struct pqi_ctrl_info *ctrl_info = shost_to_hba(shost); + + return scnprintf(buffer, 10, "%hhx\n", + ctrl_info->enable_stream_detection); +} + +static ssize_t pqi_host_enable_stream_detection_store(struct device *dev, + struct device_attribute *attr, const char *buffer, size_t count) +{ + struct Scsi_Host *shost = class_to_shost(dev); + struct pqi_ctrl_info *ctrl_info = shost_to_hba(shost); + u8 set_stream_detection = 0; + + if (kstrtou8(buffer, 0, &set_stream_detection)) + return -EINVAL; + + if (set_stream_detection > 0) + set_stream_detection = 1; + + ctrl_info->enable_stream_detection = set_stream_detection; + + return count; +} + static ssize_t pqi_host_enable_r5_writes_show(struct device *dev, struct device_attribute *attr, char *buffer) { @@ -6786,6 +6814,9 @@ static DEVICE_ATTR(vendor, 0444, pqi_vendor_show, NULL); static DEVICE_ATTR(rescan, 0200, NULL, pqi_host_rescan_store); static DEVICE_ATTR(lockup_action, 0644, pqi_lockup_action_show, pqi_lockup_action_store); +static DEVICE_ATTR(enable_stream_detection, 0644, + pqi_host_enable_stream_detection_show, + pqi_host_enable_stream_detection_store); static DEVICE_ATTR(enable_r5_writes, 0644, pqi_host_enable_r5_writes_show, pqi_host_enable_r5_writes_store); static DEVICE_ATTR(enable_r6_writes, 0644, @@ -6799,6 +6830,7 @@ static struct device_attribute *pqi_shost_attrs[] = { &dev_attr_vendor, &dev_attr_rescan, &dev_attr_lockup_action, + &dev_attr_enable_stream_detection, &dev_attr_enable_r5_writes, &dev_attr_enable_r6_writes, NULL