scsi: hisi_sas: Add libsas SATA sysfs attributes group
authorIgor Pylypiv <ipylypiv@google.com>
Thu, 7 Mar 2024 21:44:16 +0000 (13:44 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 25 Mar 2024 20:00:07 +0000 (16:00 -0400)
The added sysfs attributes group enables the configuration of NCQ Priority
feature for HBAs that rely on libsas to manage SATA devices.

Omitted hisi_sas_v1_hw.c because v1 HW doesn't support SATA.

Reviewed-by: John Garry <john.g.garry@oracle.com>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Jason Yan <yanaijie@huawei.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Igor Pylypiv <ipylypiv@google.com>
Link: https://lore.kernel.org/r/20240307214418.3812290-6-ipylypiv@google.com
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c

index 73b378837da7bd210a741ec9e28c72cb31ad885f..b5d379ebe05d64d69c4c75271f662d61ee6e4211 100644 (file)
@@ -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,
index 7d2a33514538c2cd8083733d8303f4dc5934de7d..ebdfb7e7c88d502a4f279d57902d287177103f68 100644 (file)
@@ -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,