From: Adrian Hunter <adrian.hunter@intel.com>
To: "Kornel Dulęba" <korneld@chromium.org>,
"Ulf Hansson" <ulf.hansson@linaro.org>,
"Sven van Ashbrook" <svenva@google.com>,
"Jason Lai" <jasonlai.genesyslogic@gmail.com>
Cc: "Victor Shih" <victor.shih@genesyslogic.com.tw>,
"Ben Chuang" <ben.chuang@genesyslogic.com.tw>,
"Stanisław Kardach" <skardach@google.com>,
linux-kernel@vger.kernel.org, linux-mmc@vger.kernel.org,
stable@vger.kernel.org
Subject: Re: [PATCH] mmc: sdhci-pci-gli: Disable LPM during initialization
Date: Tue, 14 Nov 2023 12:46:57 +0200 [thread overview]
Message-ID: <fc758174-e286-48f7-bec9-64e4f22bce2f@intel.com> (raw)
In-Reply-To: <20231109111934.4172565-1-korneld@chromium.org>
On 9/11/23 13:19, Kornel Dulęba wrote:
> To address IO performance commit f9e5b33934ce
> ("mmc: host: Improve I/O read/write performance for GL9763E")
> limited LPM negotiation to runtime suspend state.
> The problem is that it only flips the switch in the runtime PM
> resume/suspend logic.
>
> Disable LPM negotiation in gl9763e_add_host.
> This helps in two ways:
> 1. It was found that the LPM switch stays in the same position after
> warm reboot. Having it set in init helps with consistency.
> 2. Disabling LPM during the first runtime resume leaves us susceptible
> to the performance issue in the time window between boot and the
> first runtime suspend.
>
> Fixes: f9e5b33934ce ("mmc: host: Improve I/O read/write performance for GL9763E")
> Cc: stable@vger.kernel.org
> Signed-off-by: Kornel Dulęba <korneld@chromium.org>
> ---
> drivers/mmc/host/sdhci-pci-gli.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/sdhci-pci-gli.c b/drivers/mmc/host/sdhci-pci-gli.c
> index d83261e857a5..ce91d1e63a8e 100644
> --- a/drivers/mmc/host/sdhci-pci-gli.c
> +++ b/drivers/mmc/host/sdhci-pci-gli.c
> @@ -220,6 +220,9 @@
>
> #define GLI_MAX_TUNING_LOOP 40
>
> +static void gl9763e_set_low_power_negotiation(struct sdhci_pci_slot *slot,
> + bool enable);
Kernel-style is to move the whole function to prevent the need
for forward declaration.
> +
> /* Genesys Logic chipset */
> static inline void gl9750_wt_on(struct sdhci_host *host)
> {
> @@ -1281,6 +1284,9 @@ static int gl9763e_add_host(struct sdhci_pci_slot *slot)
> if (ret)
> goto cleanup;
>
> + /* Disable LPM negotiation to avoid entering L1 state. */
> + gl9763e_set_low_power_negotiation(slot, false);
> +
> return 0;
>
> cleanup:
> @@ -1323,7 +1329,6 @@ static void gli_set_gl9763e(struct sdhci_pci_slot *slot)
> pci_write_config_dword(pdev, PCIE_GLI_9763E_VHS, value);
> }
>
> -#ifdef CONFIG_PM
> static void gl9763e_set_low_power_negotiation(struct sdhci_pci_slot *slot, bool enable)
> {
> struct pci_dev *pdev = slot->chip->pdev;
> @@ -1349,6 +1354,7 @@ static void gl9763e_set_low_power_negotiation(struct sdhci_pci_slot *slot, bool
> pci_write_config_dword(pdev, PCIE_GLI_9763E_VHS, value);
> }
>
> +#ifdef CONFIG_PM
> static int gl9763e_runtime_suspend(struct sdhci_pci_chip *chip)
> {
> struct sdhci_pci_slot *slot = chip->slots[0];
prev parent reply other threads:[~2023-11-14 10:47 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-09 11:19 [PATCH] mmc: sdhci-pci-gli: Disable LPM during initialization Kornel Dulęba
2023-11-09 19:19 ` Sven van Ashbrook
2023-11-10 8:26 ` Kornel Dulęba
2023-11-10 16:58 ` Sven van Ashbrook
2023-11-14 10:26 ` Adrian Hunter
2023-11-09 19:23 ` Sven van Ashbrook
2023-11-14 10:46 ` Adrian Hunter [this message]
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=fc758174-e286-48f7-bec9-64e4f22bce2f@intel.com \
--to=adrian.hunter@intel.com \
--cc=ben.chuang@genesyslogic.com.tw \
--cc=jasonlai.genesyslogic@gmail.com \
--cc=korneld@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=skardach@google.com \
--cc=stable@vger.kernel.org \
--cc=svenva@google.com \
--cc=ulf.hansson@linaro.org \
--cc=victor.shih@genesyslogic.com.tw \
/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.