All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Agner <stefan@agner.ch>
To: chris@printf.net, ulf.hansson@linaro.org, anton@enomsg.org
Cc: rmk+kernel@arm.linux.org.uk, b29396@freescale.com,
	shawn.guo@linaro.org, linux-mmc@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, stefan@agner.ch
Subject: [PATCH 2/2] mmc: sdhci-esdhc-imx: enable IPG clock for sdio interrupts
Date: Tue,  2 Dec 2014 17:47:25 +0100	[thread overview]
Message-ID: <1417538845-10867-2-git-send-email-stefan@agner.ch> (raw)
In-Reply-To: <1417538845-10867-1-git-send-email-stefan@agner.ch>

Enable IPG clock for sdio interrupts while runtime PM, since this
clock is needed for register access. The need of this clock has been
verified on Vybrid, but this is probably true for i.MX53 and maybe
others. The need for bus access during runtime suspend has been
introduced with be138554a792 ("mmc: sdhci: allow sdio interrupts
while sdhci runtime suspended").

Signed-off-by: Stefan Agner <stefan@agner.ch>
---
 drivers/mmc/host/sdhci-esdhc-imx.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
index 587ee0e..b7e9ad1 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -1193,10 +1193,10 @@ static int sdhci_esdhc_runtime_suspend(struct device *dev)
 
 	ret = sdhci_runtime_suspend_host(host);
 
-	if (!sdhci_sdio_irq_enabled(host)) {
+	if (!sdhci_sdio_irq_enabled(host))
 		clk_disable_unprepare(imx_data->clk_per);
-		clk_disable_unprepare(imx_data->clk_ipg);
-	}
+
+	clk_disable_unprepare(imx_data->clk_ipg);
 	clk_disable_unprepare(imx_data->clk_ahb);
 
 	return ret;
@@ -1208,10 +1208,10 @@ static int sdhci_esdhc_runtime_resume(struct device *dev)
 	struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
 	struct pltfm_imx_data *imx_data = pltfm_host->priv;
 
-	if (!sdhci_sdio_irq_enabled(host)) {
+	if (!sdhci_sdio_irq_enabled(host))
 		clk_prepare_enable(imx_data->clk_per);
-		clk_prepare_enable(imx_data->clk_ipg);
-	}
+
+	clk_prepare_enable(imx_data->clk_ipg);
 	clk_prepare_enable(imx_data->clk_ahb);
 
 	return sdhci_runtime_resume_host(host);
-- 
2.1.3


WARNING: multiple messages have this Message-ID (diff)
From: stefan@agner.ch (Stefan Agner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] mmc: sdhci-esdhc-imx: enable IPG clock for sdio interrupts
Date: Tue,  2 Dec 2014 17:47:25 +0100	[thread overview]
Message-ID: <1417538845-10867-2-git-send-email-stefan@agner.ch> (raw)
In-Reply-To: <1417538845-10867-1-git-send-email-stefan@agner.ch>

Enable IPG clock for sdio interrupts while runtime PM, since this
clock is needed for register access. The need of this clock has been
verified on Vybrid, but this is probably true for i.MX53 and maybe
others. The need for bus access during runtime suspend has been
introduced with be138554a792 ("mmc: sdhci: allow sdio interrupts
while sdhci runtime suspended").

Signed-off-by: Stefan Agner <stefan@agner.ch>
---
 drivers/mmc/host/sdhci-esdhc-imx.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
index 587ee0e..b7e9ad1 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -1193,10 +1193,10 @@ static int sdhci_esdhc_runtime_suspend(struct device *dev)
 
 	ret = sdhci_runtime_suspend_host(host);
 
-	if (!sdhci_sdio_irq_enabled(host)) {
+	if (!sdhci_sdio_irq_enabled(host))
 		clk_disable_unprepare(imx_data->clk_per);
-		clk_disable_unprepare(imx_data->clk_ipg);
-	}
+
+	clk_disable_unprepare(imx_data->clk_ipg);
 	clk_disable_unprepare(imx_data->clk_ahb);
 
 	return ret;
@@ -1208,10 +1208,10 @@ static int sdhci_esdhc_runtime_resume(struct device *dev)
 	struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
 	struct pltfm_imx_data *imx_data = pltfm_host->priv;
 
-	if (!sdhci_sdio_irq_enabled(host)) {
+	if (!sdhci_sdio_irq_enabled(host))
 		clk_prepare_enable(imx_data->clk_per);
-		clk_prepare_enable(imx_data->clk_ipg);
-	}
+
+	clk_prepare_enable(imx_data->clk_ipg);
 	clk_prepare_enable(imx_data->clk_ahb);
 
 	return sdhci_runtime_resume_host(host);
-- 
2.1.3

  reply	other threads:[~2014-12-02 16:47 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-02 16:47 [PATCH 1/2] mmc: sdhci-pltfm: fix abort due to missing runtime PM Stefan Agner
2014-12-02 16:47 ` Stefan Agner
2014-12-02 16:47 ` Stefan Agner [this message]
2014-12-02 16:47   ` [PATCH 2/2] mmc: sdhci-esdhc-imx: enable IPG clock for sdio interrupts Stefan Agner
2014-12-03  9:25   ` Lucas Stach
2014-12-03  9:25     ` Lucas Stach
2014-12-03  9:57     ` Stefan Agner
2014-12-03  9:57       ` Stefan Agner
2014-12-12 11:32 ` [PATCH 1/2] mmc: sdhci-pltfm: fix abort due to missing runtime PM Stefan Agner
2014-12-12 11:32   ` Stefan Agner

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=1417538845-10867-2-git-send-email-stefan@agner.ch \
    --to=stefan@agner.ch \
    --cc=anton@enomsg.org \
    --cc=b29396@freescale.com \
    --cc=chris@printf.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=rmk+kernel@arm.linux.org.uk \
    --cc=shawn.guo@linaro.org \
    --cc=ulf.hansson@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.