scsi: hisi_sas: Use autosuspend for the host controller
authorXiang Chen <chenxiang66@hisilicon.com>
Mon, 20 Dec 2021 11:21:38 +0000 (19:21 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 23 Dec 2021 04:38:31 +0000 (23:38 -0500)
The controller may frequently enter and exit suspend for each I/O which we
need to deal with. This is inefficient and may cause too much suspend and
resume activity for the controller.  To avoid this, use a default 5s
autosuspend for the controller to stop frequently suspending and
resuming. This value may still be modified via sysfs interfaces.

Link: https://lore.kernel.org/r/1639999298-244569-16-git-send-email-chenxiang66@hisilicon.com
Acked-by: John Garry <john.garry@huawei.com>
Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c

index 94eb48c..a45ef9a 100644 (file)
@@ -4783,6 +4783,8 @@ hisi_sas_v3_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 
        scsi_scan_host(shost);
 
+       pm_runtime_set_autosuspend_delay(dev, 5000);
+       pm_runtime_use_autosuspend(dev);
        /*
         * For the situation that there are ATA disks connected with SAS
         * controller, it additionally creates ata_port which will affect the