Re: [PATCH v2] PCI: vmd: Update VMD PM to correctly use generic PCI PM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 06, 2020 at 05:00:17PM -0400, Jon Derrick wrote:
> The pci_save_state() call in vmd_suspend() can be performed by
> pci_pm_suspend_irq(). This also allows VMD to benefit from the call into
> pci_prepare_to_sleep().
> 
> The pci_restore_state() call in vmd_resume() was restoring state after
> pci_pm_resume()::pci_restore_standard_config() had already restored
> state. It's also been suspected that the config state should have been
> restored before re-requesting IRQs instead of afterwards.
> 
> This patch removes the pci_save_state()/pci_restore_state() calls in
> vmd_suspend()/vmd_resume() in order to allow proper flow through generic
> PCI core Power Management code.
> 
> Cc: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>
> Cc: You-Sheng Yang <vicamo.yang@xxxxxxxxxxxxx>
> Signed-off-by: Jon Derrick <jonathan.derrick@xxxxxxxxx>
> ---
> v1->v2: Commit message cleanup
> 
>  drivers/pci/controller/vmd.c | 2 --
>  1 file changed, 2 deletions(-)

Applied to pci/vmd, thanks.

Lorenzo

> diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c
> index 76d8acbee7d5..15c1d85d8780 100644
> --- a/drivers/pci/controller/vmd.c
> +++ b/drivers/pci/controller/vmd.c
> @@ -719,7 +719,6 @@ static int vmd_suspend(struct device *dev)
>  	for (i = 0; i < vmd->msix_count; i++)
>  		devm_free_irq(dev, pci_irq_vector(pdev, i), &vmd->irqs[i]);
>  
> -	pci_save_state(pdev);
>  	return 0;
>  }
>  
> @@ -737,7 +736,6 @@ static int vmd_resume(struct device *dev)
>  			return err;
>  	}
>  
> -	pci_restore_state(pdev);
>  	return 0;
>  }
>  #endif
> -- 
> 2.18.1
> 



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux