From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
To: Loic Poulain <loic.poulain@linaro.org>
Cc: hemantk@codeaurora.org, linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH 5/6] mhi: pci_generic: Use generic PCI power management
Date: Thu, 4 Mar 2021 12:26:43 +0530 [thread overview]
Message-ID: <20210304065643.GE3363@thinkpad> (raw)
In-Reply-To: <1614615911-18794-5-git-send-email-loic.poulain@linaro.org>
On Mon, Mar 01, 2021 at 05:25:10PM +0100, Loic Poulain wrote:
> The PCI core can take care of proper PCI suspend/resume operations, but
> this is discarded when the driver saves PCI state by its own. This
> currently prevents the PCI core to enable PME (for modem initiated
> D3 exit) which is requested for proper runtime pm support.
>
> This change deletes explicit PCI state-saving and state-set from
> suspend callback, letting the PCI doing the appropriate work.
>
> Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
> ---
> drivers/bus/mhi/pci_generic.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/bus/mhi/pci_generic.c b/drivers/bus/mhi/pci_generic.c
> index 8423293..2a66f80 100644
> --- a/drivers/bus/mhi/pci_generic.c
> +++ b/drivers/bus/mhi/pci_generic.c
> @@ -544,9 +544,12 @@ static int mhi_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
>
> pci_set_drvdata(pdev, mhi_pdev);
>
> - /* Have stored pci confspace at hand for restore in sudden PCI error */
> + /* Have stored pci confspace at hand for restore in sudden PCI error.
> + * cache the state locally and discard the PCI core one.
> + */
> pci_save_state(pdev);
> mhi_pdev->pci_state = pci_store_saved_state(pdev);
> + pci_load_saved_state(pdev, NULL);
Why do you need to load the state here?
Thanks,
Mani
>
> pci_enable_pcie_error_reporting(pdev);
>
> @@ -717,10 +720,8 @@ static int __maybe_unused mhi_pci_suspend(struct device *dev)
> /* Transition to M3 state */
> mhi_pm_suspend(mhi_cntrl);
>
> - pci_save_state(pdev);
> pci_disable_device(pdev);
> pci_wake_from_d3(pdev, true);
> - pci_set_power_state(pdev, PCI_D3hot);
>
> return 0;
> }
> @@ -732,14 +733,13 @@ static int __maybe_unused mhi_pci_resume(struct device *dev)
> struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl;
> int err;
>
> - pci_set_power_state(pdev, PCI_D0);
> - pci_restore_state(pdev);
> - pci_set_master(pdev);
> -
> err = pci_enable_device(pdev);
> if (err)
> goto err_recovery;
>
> + pci_set_master(pdev);
> + pci_wake_from_d3(pdev, false);
> +
> /* Exit M3, transition to M0 state */
> err = mhi_pm_resume(mhi_cntrl);
> if (err) {
> --
> 2.7.4
>
next prev parent reply other threads:[~2021-03-04 6:58 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-01 16:25 [PATCH 1/6] mhi: pci_generic: Parametrable element count for events Loic Poulain
2021-03-01 16:25 ` [PATCH 2/6] mhi: pci_generic: Introduce quectel EM1XXGR-L support Loic Poulain
2021-03-04 6:32 ` Manivannan Sadhasivam
2021-03-01 16:25 ` [PATCH 3/6] mhi: pci_generic: Add SDX24 based modem support Loic Poulain
2021-03-04 6:32 ` Manivannan Sadhasivam
2021-03-01 16:25 ` [PATCH 4/6] mhi: pci_generic: No-Op for device_wake operations Loic Poulain
2021-03-04 6:47 ` Manivannan Sadhasivam
2021-03-04 8:34 ` Loic Poulain
2021-03-01 16:25 ` [PATCH 5/6] mhi: pci_generic: Use generic PCI power management Loic Poulain
2021-03-04 6:56 ` Manivannan Sadhasivam [this message]
2021-03-04 8:23 ` Loic Poulain
2021-03-01 16:25 ` [PATCH 6/6] mhi: pci_generic: Add support for runtime PM Loic Poulain
2021-03-04 6:31 ` [PATCH 1/6] mhi: pci_generic: Parametrable element count for events Manivannan Sadhasivam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210304065643.GE3363@thinkpad \
--to=manivannan.sadhasivam@linaro.org \
--cc=hemantk@codeaurora.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=loic.poulain@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.