Commit 027e508a authored by Vaibhav Gupta's avatar Vaibhav Gupta Committed by Martin K. Petersen
Browse files

scsi: hisi_sas_v3_hw: Don't use PCI helper functions

Drivers using new-framework/generic-framework should not handle standard
power management operations. These operations were performed by legacy
framework through PCI helper functions like pci_save/restore_state(),
pci_set_power_state(), etc.

Drivers should not use them now.

Link: https://lore.kernel.org/r/20201102164730.324035-14-vaibhavgupta40@gmail.com


Signed-off-by: default avatarVaibhav Gupta <vaibhavgupta40@gmail.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 17b5e4d1
Loading
Loading
Loading
Loading
+1 −16
Original line number Diff line number Diff line
@@ -3440,7 +3440,6 @@ static int _suspend_v3_hw(struct device *device)
	struct hisi_hba *hisi_hba = sha->lldd_ha;
	struct device *dev = hisi_hba->dev;
	struct Scsi_Host *shost = hisi_hba->shost;
	pci_power_t device_state;
	int rc;

	if (!pdev->pm_cap) {
@@ -3466,12 +3465,7 @@ static int _suspend_v3_hw(struct device *device)

	hisi_sas_init_mem(hisi_hba);

	device_state = pci_choose_state(pdev, PMSG_SUSPEND);
	dev_warn(dev, "entering operating state [D%d]\n",
			device_state);
	pci_save_state(pdev);
	pci_disable_device(pdev);
	pci_set_power_state(pdev, device_state);
	dev_warn(dev, "entering suspend state\n");

	hisi_sas_release_tasks(hisi_hba);

@@ -3491,15 +3485,7 @@ static int _resume_v3_hw(struct device *device)

	dev_warn(dev, "resuming from operating state [D%d]\n",
		 device_state);
	pci_set_power_state(pdev, PCI_D0);
	pci_restore_state(pdev);
	rc = pci_enable_device(pdev);
	if (rc) {
		dev_err(dev, "enable device failed during resume (%d)\n", rc);
		return rc;
	}

	pci_set_master(pdev);
	scsi_unblock_requests(shost);
	clear_bit(HISI_SAS_REJECT_CMD_BIT, &hisi_hba->flags);

@@ -3507,7 +3493,6 @@ static int _resume_v3_hw(struct device *device)
	rc = hw_init_v3_hw(hisi_hba);
	if (rc) {
		scsi_remove_host(shost);
		pci_disable_device(pdev);
		return rc;
	}
	hisi_hba->hw->phys_init(hisi_hba);