On 8/6/21 9:42 AM, Damien Le Moal wrote: > Similarly to AHCI, introduce the device sysfs attribute > sas_ncq_prio_supported to advertize if a SATA device supports the NCQ > priority feature. Without this new attribute, the user can only > discover if a SATA device supports NCQ priority by trying to enable > the feature use with the sas_ncq_prio_enable sysfs device attribute, > which fails when the device does not support high priroity commands. > > Signed-off-by: Damien Le Moal <damien.lemoal@xxxxxxx> > --- > drivers/scsi/mpt3sas/mpt3sas_ctl.c | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/drivers/scsi/mpt3sas/mpt3sas_ctl.c b/drivers/scsi/mpt3sas/mpt3sas_ctl.c > index b66140e4c370..f83d4d32d459 100644 > --- a/drivers/scsi/mpt3sas/mpt3sas_ctl.c > +++ b/drivers/scsi/mpt3sas/mpt3sas_ctl.c > @@ -3918,6 +3918,24 @@ sas_device_handle_show(struct device *dev, struct device_attribute *attr, > } > static DEVICE_ATTR_RO(sas_device_handle); > > +/** > + * sas_ncq_prio_supported_show - Indicate if device supports NCQ priority > + * @dev: pointer to embedded device > + * @attr: sas_ncq_prio_supported attribute descriptor > + * @buf: the buffer returned > + * > + * A sysfs 'read-only' sdev attribute, only works with SATA > + */ > +static ssize_t > +sas_ncq_prio_supported_show(struct device *dev, > + struct device_attribute *attr, char *buf) > +{ > + struct scsi_device *sdev = to_scsi_device(dev); > + > + return sysfs_emit(buf, "%d\n", scsih_ncq_prio_supp(sdev)); > +} > +static DEVICE_ATTR_RO(sas_ncq_prio_supported); > + > /** > * sas_ncq_prio_enable_show - send prioritized io commands to device > * @dev: pointer to embedded device > @@ -3960,6 +3978,7 @@ static DEVICE_ATTR_RW(sas_ncq_prio_enable); > struct device_attribute *mpt3sas_dev_attrs[] = { > &dev_attr_sas_address, > &dev_attr_sas_device_handle, > + &dev_attr_sas_ncq_prio_supported, > &dev_attr_sas_ncq_prio_enable, > NULL, > }; > One wonders where the relationship to the previous patches are, but hey: Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Cheers, Hannes -- Dr. Hannes Reinecke Kernel Storage Architect hare@xxxxxxx +49 911 74053 688 SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg HRB 36809 (AG Nürnberg), GF: Felix Imendörffer