2020-11-07 10:10:23

by Vaibhav Gupta

[permalink] [raw]
Subject: [PATCH v1] scsi: isci: Don't use PCI helper functions

PCI helper functions such as pci_enable/disable_device(),
pci_save/restore_state(), pci_set_power_state(), etc. were used by the
legacy framework to perform standard operations related to PCI PM.

This driver is using the generic framework and thus calls for those
functions should be dropped as those tasks are now performed by the PCI
core.

Signed-off-by: Vaibhav Gupta <[email protected]>
---
drivers/scsi/isci/init.c | 18 +-----------------
1 file changed, 1 insertion(+), 17 deletions(-)

diff --git a/drivers/scsi/isci/init.c b/drivers/scsi/isci/init.c
index 93bc9019667f..c452849e7bb4 100644
--- a/drivers/scsi/isci/init.c
+++ b/drivers/scsi/isci/init.c
@@ -715,10 +715,6 @@ static int isci_suspend(struct device *dev)
isci_host_deinit(ihost);
}

- pci_save_state(pdev);
- pci_disable_device(pdev);
- pci_set_power_state(pdev, PCI_D3hot);
-
return 0;
}

@@ -726,19 +722,7 @@ static int isci_resume(struct device *dev)
{
struct pci_dev *pdev = to_pci_dev(dev);
struct isci_host *ihost;
- int rc, i;
-
- pci_set_power_state(pdev, PCI_D0);
- pci_restore_state(pdev);
-
- rc = pcim_enable_device(pdev);
- if (rc) {
- dev_err(&pdev->dev,
- "enabling device failure after resume(%d)\n", rc);
- return rc;
- }
-
- pci_set_master(pdev);
+ int i;

for_each_isci_host(i, ihost, pdev) {
sas_prep_resume_ha(&ihost->sas_ha);
--
2.28.0


2020-11-07 10:12:44

by Vaibhav Gupta

[permalink] [raw]
Subject: Re: [PATCH v1] scsi: isci: Don't use PCI helper functions

On Sat, Nov 07, 2020 at 03:34:19PM +0530, Vaibhav Gupta wrote:
> PCI helper functions such as pci_enable/disable_device(),
> pci_save/restore_state(), pci_set_power_state(), etc. were used by the
> legacy framework to perform standard operations related to PCI PM.
>
> This driver is using the generic framework and thus calls for those
> functions should be dropped as those tasks are now performed by the PCI
> core.
>
> Signed-off-by: Vaibhav Gupta <[email protected]>
> ---
> drivers/scsi/isci/init.c | 18 +-----------------
> 1 file changed, 1 insertion(+), 17 deletions(-)
>
> diff --git a/drivers/scsi/isci/init.c b/drivers/scsi/isci/init.c
> index 93bc9019667f..c452849e7bb4 100644
> --- a/drivers/scsi/isci/init.c
> +++ b/drivers/scsi/isci/init.c
> @@ -715,10 +715,6 @@ static int isci_suspend(struct device *dev)
> isci_host_deinit(ihost);
> }
>
> - pci_save_state(pdev);
> - pci_disable_device(pdev);
> - pci_set_power_state(pdev, PCI_D3hot);
> -
> return 0;
> }
>
> @@ -726,19 +722,7 @@ static int isci_resume(struct device *dev)
> {
> struct pci_dev *pdev = to_pci_dev(dev);
> struct isci_host *ihost;
> - int rc, i;
> -
> - pci_set_power_state(pdev, PCI_D0);
> - pci_restore_state(pdev);
> -
> - rc = pcim_enable_device(pdev);
> - if (rc) {
> - dev_err(&pdev->dev,
> - "enabling device failure after resume(%d)\n", rc);
> - return rc;
> - }
> -
> - pci_set_master(pdev);
> + int i;
>
> for_each_isci_host(i, ihost, pdev) {
> sas_prep_resume_ha(&ihost->sas_ha);
> --
> 2.28.0
>
The patch is compile-tested only.

--Vaibhav

2020-11-09 13:41:06

by Artur Paszkiewicz

[permalink] [raw]
Subject: Re: [PATCH v1] scsi: isci: Don't use PCI helper functions

On 11/7/20 11:04 AM, Vaibhav Gupta wrote:
> PCI helper functions such as pci_enable/disable_device(),
> pci_save/restore_state(), pci_set_power_state(), etc. were used by the
> legacy framework to perform standard operations related to PCI PM.
>
> This driver is using the generic framework and thus calls for those
> functions should be dropped as those tasks are now performed by the PCI
> core.
>
> Signed-off-by: Vaibhav Gupta <[email protected]>
> ---

Acked-by: Artur Paszkiewicz <[email protected]>

2020-11-11 04:11:39

by Martin K. Petersen

[permalink] [raw]
Subject: Re: [PATCH v1] scsi: isci: Don't use PCI helper functions


Vaibhav,

> PCI helper functions such as pci_enable/disable_device(),
> pci_save/restore_state(), pci_set_power_state(), etc. were used by the
> legacy framework to perform standard operations related to PCI PM.
>
> This driver is using the generic framework and thus calls for those
> functions should be dropped as those tasks are now performed by the PCI
> core.

Applied to 5.11/scsi-staging, thanks!

--
Martin K. Petersen Oracle Linux Engineering