scsi: hisi_sas: Add device attribute experimental_iopoll_q_cnt for v3 hw
authorXiang Chen <chenxiang66@hisilicon.com>
Tue, 7 Mar 2023 06:09:15 +0000 (14:09 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 10 Mar 2023 02:50:02 +0000 (21:50 -0500)
Add device attribute experimental_iopoll_q_cnt to indicate how many iopoll
queues are used for v3 hw.

Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
Link: https://lore.kernel.org/r/1678169355-76215-5-git-send-email-chenxiang66@hisilicon.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c

index 1f6c02632c6a6354a04340cadfda188ea885ede5..8d0e2dd6207aa2807a443897df8ff09f5de6d58d 100644 (file)
@@ -2855,6 +2855,18 @@ static ssize_t intr_coal_count_v3_hw_store(struct device *dev,
 }
 static DEVICE_ATTR_RW(intr_coal_count_v3_hw);
 
+static ssize_t iopoll_q_cnt_v3_hw_show(struct device *dev,
+                                         struct device_attribute
+                                         *attr, char *buf)
+{
+       struct Scsi_Host *shost = class_to_shost(dev);
+       struct hisi_hba *hisi_hba = shost_priv(shost);
+
+       return scnprintf(buf, PAGE_SIZE, "%u\n",
+                        hisi_hba->iopoll_q_cnt);
+}
+static DEVICE_ATTR_RO(iopoll_q_cnt_v3_hw);
+
 static int slave_configure_v3_hw(struct scsi_device *sdev)
 {
        struct Scsi_Host *shost = dev_to_shost(&sdev->sdev_gendev);
@@ -2884,6 +2896,7 @@ static struct attribute *host_v3_hw_attrs[] = {
        &dev_attr_intr_conv_v3_hw.attr,
        &dev_attr_intr_coal_ticks_v3_hw.attr,
        &dev_attr_intr_coal_count_v3_hw.attr,
+       &dev_attr_iopoll_q_cnt_v3_hw.attr,
        NULL
 };