[v3,5/7] scsi: hisi_sas: Add libsas SATA sysfs attributes group
Commit Message
The added sysfs attributes group enables the configuration of NCQ Priority
feature for HBAs that rely on libsas to manage SATA devices.
Signed-off-by: Igor Pylypiv <ipylypiv@google.com>
---
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 6 ++++++
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 6 ++++++
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 6 ++++++
3 files changed, 18 insertions(+)
Comments
On 02/03/2024 20:16, Igor Pylypiv wrote:
> The added sysfs attributes group enables the configuration of NCQ Priority
> feature for HBAs that rely on libsas to manage SATA devices.
>
> Signed-off-by: Igor Pylypiv<ipylypiv@google.com>
Apart from comment on v1 HW:
Reviewed-by: John Garry <john.g.garry@oracle.com>
> ---
> drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 6 ++++++
> drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 6 ++++++
> drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 6 ++++++
> 3 files changed, 18 insertions(+)
>
> diff --git a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
> index 3c555579f9a1..97864b56a71f 100644
> --- a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
> +++ b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
> @@ -1734,6 +1734,11 @@ static struct attribute *host_v1_hw_attrs[] = {
>
> ATTRIBUTE_GROUPS(host_v1_hw);
>
> +static const struct attribute_group *sdev_groups_v1_hw[] = {
> + &sas_ata_sdev_attr_group,
IIRC, this driver never supported SATA
> + NULL
> +};
> +
> static const struct scsi_host_template sht_v1_hw = {
> .name = DRV_NAME,
> .proc_name = DRV_NAME,
> @@ -1758,6 +1763,7 @@ static const struct scsi_host_template sht_v1_hw = {
> .compat_ioctl = sas_ioctl,
> #endif
> .shost_groups = host_v1_hw_groups,
> + .sdev_groups = sdev_groups_v1_hw,
> .host_reset = hisi_sas_host_reset,
> };
@@ -1734,6 +1734,11 @@ static struct attribute *host_v1_hw_attrs[] = {
ATTRIBUTE_GROUPS(host_v1_hw);
+static const struct attribute_group *sdev_groups_v1_hw[] = {
+ &sas_ata_sdev_attr_group,
+ NULL
+};
+
static const struct scsi_host_template sht_v1_hw = {
.name = DRV_NAME,
.proc_name = DRV_NAME,
@@ -1758,6 +1763,7 @@ static const struct scsi_host_template sht_v1_hw = {
.compat_ioctl = sas_ioctl,
#endif
.shost_groups = host_v1_hw_groups,
+ .sdev_groups = sdev_groups_v1_hw,
.host_reset = hisi_sas_host_reset,
};
@@ -3544,6 +3544,11 @@ static struct attribute *host_v2_hw_attrs[] = {
ATTRIBUTE_GROUPS(host_v2_hw);
+static const struct attribute_group *sdev_groups_v2_hw[] = {
+ &sas_ata_sdev_attr_group,
+ NULL
+};
+
static void map_queues_v2_hw(struct Scsi_Host *shost)
{
struct hisi_hba *hisi_hba = shost_priv(shost);
@@ -3585,6 +3590,7 @@ static const struct scsi_host_template sht_v2_hw = {
.compat_ioctl = sas_ioctl,
#endif
.shost_groups = host_v2_hw_groups,
+ .sdev_groups = sdev_groups_v2_hw,
.host_reset = hisi_sas_host_reset,
.map_queues = map_queues_v2_hw,
.host_tagset = 1,
@@ -2929,6 +2929,11 @@ static struct attribute *host_v3_hw_attrs[] = {
ATTRIBUTE_GROUPS(host_v3_hw);
+static const struct attribute_group *sdev_groups_v3_hw[] = {
+ &sas_ata_sdev_attr_group,
+ NULL
+};
+
#define HISI_SAS_DEBUGFS_REG(x) {#x, x}
struct hisi_sas_debugfs_reg_lu {
@@ -3340,6 +3345,7 @@ static const struct scsi_host_template sht_v3_hw = {
.compat_ioctl = sas_ioctl,
#endif
.shost_groups = host_v3_hw_groups,
+ .sdev_groups = sdev_groups_v3_hw,
.tag_alloc_policy = BLK_TAG_ALLOC_RR,
.host_reset = hisi_sas_host_reset,
.host_tagset = 1,