From: Doug Anderson <dianders@chromium.org>
To: Tomasz Figa <tomasz.figa@gmail.com>
Cc: Chris Ball <cjb@laptop.org>, Olof Johansson <olof@lixom.net>,
Jaehoon Chung <jh80.chung@samsung.com>,
Seungwon Jeon <tgih.jun@samsung.com>,
James Hogan <james.hogan@imgtec.com>,
Grant Grundler <grundler@chromium.org>,
Alim Akhtar <alim.akhtar@samsung.com>,
Abhilash Kesavan <a.kesavan@samsung.com>,
Kukjin Kim <kgene.kim@samsung.com>,
"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 2/4] mmc: dw_mmc: Add exynos resume_noirq callback to clear WAKEUP_INT
Date: Tue, 6 Aug 2013 15:09:46 -0700 [thread overview]
Message-ID: <CAD=FV=W3kxkwHGoWE5YsztW7NNOYQCy6yFwNJQDaTFx=58cgbA@mail.gmail.com> (raw)
In-Reply-To: <19655139.gpQFe0oLNI@flatron>
Tomasz,
On Tue, Aug 6, 2013 at 2:58 PM, Tomasz Figa <tomasz.figa@gmail.com> wrote:
>> +static int dw_mci_exynos_resume_noirq(struct device *dev)
>> +{
>> + struct dw_mci *host = dev_get_drvdata(dev);
>> + u32 clksel;
>> +
>> + clksel = mci_readl(host, CLKSEL);
>> + if (clksel & SDMMC_CLKSEL_WAKEUP_INT)
>> + mci_writel(host, CLKSEL, clksel);
>
> What about clock gating? Will the clock used for clocking this register be
> always enabled when this gets called?
Since this is just accessing and writing a register in the "Mobile
Storage Host" block, I'd imagine that this should be the "biu" (bus
interface unit) clock, right? The dw_mmc code grabs the biu clock at
probe time and never lets it go. That means that we're OK as long as
common clock framework has already restored clocks to normal operation
by this time.
Do you think that common clock framework might not have put the clocks
back into order by the time "noirq" callbacks are executed?
-Doug
WARNING: multiple messages have this Message-ID (diff)
From: dianders@chromium.org (Doug Anderson)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 2/4] mmc: dw_mmc: Add exynos resume_noirq callback to clear WAKEUP_INT
Date: Tue, 6 Aug 2013 15:09:46 -0700 [thread overview]
Message-ID: <CAD=FV=W3kxkwHGoWE5YsztW7NNOYQCy6yFwNJQDaTFx=58cgbA@mail.gmail.com> (raw)
In-Reply-To: <19655139.gpQFe0oLNI@flatron>
Tomasz,
On Tue, Aug 6, 2013 at 2:58 PM, Tomasz Figa <tomasz.figa@gmail.com> wrote:
>> +static int dw_mci_exynos_resume_noirq(struct device *dev)
>> +{
>> + struct dw_mci *host = dev_get_drvdata(dev);
>> + u32 clksel;
>> +
>> + clksel = mci_readl(host, CLKSEL);
>> + if (clksel & SDMMC_CLKSEL_WAKEUP_INT)
>> + mci_writel(host, CLKSEL, clksel);
>
> What about clock gating? Will the clock used for clocking this register be
> always enabled when this gets called?
Since this is just accessing and writing a register in the "Mobile
Storage Host" block, I'd imagine that this should be the "biu" (bus
interface unit) clock, right? The dw_mmc code grabs the biu clock at
probe time and never lets it go. That means that we're OK as long as
common clock framework has already restored clocks to normal operation
by this time.
Do you think that common clock framework might not have put the clocks
back into order by the time "noirq" callbacks are executed?
-Doug
next prev parent reply other threads:[~2013-08-06 22:09 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-09 17:31 [PATCH 0/5] mmc: dw_mmc: fixes for suspend/resume on exynos Doug Anderson
2013-07-09 17:31 ` Doug Anderson
2013-07-09 17:31 ` [PATCH 1/5] mmc: dw_mmc: Invalidate cache of current_speed after suspend/resume Doug Anderson
2013-07-09 17:31 ` [PATCH 2/5] mmc: dw_mmc: Add suspend/resume callbacks; disable irq during suspend Doug Anderson
2013-07-09 21:17 ` James Hogan
2013-07-09 21:31 ` Doug Anderson
2013-07-09 17:31 ` [PATCH 3/5] mmc: dw_mmc: Add exynos resume callback to clear WAKEUP_INT Doug Anderson
2013-07-09 17:31 ` Doug Anderson
2013-07-09 17:31 ` Doug Anderson
2013-07-09 19:09 ` Doug Anderson
2013-07-09 19:09 ` Doug Anderson
2013-07-09 19:09 ` Doug Anderson
2013-07-11 0:43 ` Grant Grundler
2013-07-11 0:43 ` Grant Grundler
2013-07-11 0:43 ` Grant Grundler
2013-07-09 17:31 ` [PATCH 4/5] mmc: dw_mmc: Always setup the bus after suspend/resume Doug Anderson
2013-07-09 17:31 ` [PATCH 5/5] mmc: dw_mmc: Set timeout to max upon resume Doug Anderson
2013-07-09 23:19 ` [PATCH v2 0/5] mmc: dw_mmc: fixes for suspend/resume on exynos Doug Anderson
2013-07-09 23:19 ` Doug Anderson
2013-07-09 23:19 ` [PATCH v2 1/5] mmc: dw_mmc: Invalidate cache of current_speed after suspend/resume Doug Anderson
2013-07-09 23:19 ` [PATCH v2 2/5] mmc: dw_mmc: Add suspend_noirq/resume_noirq callbacks for dw_mmc-pltfm Doug Anderson
2013-07-10 8:37 ` James Hogan
2013-07-10 8:37 ` James Hogan
2013-07-10 15:08 ` Doug Anderson
2013-07-09 23:19 ` [PATCH v2 3/5] mmc: dw_mmc: Add exynos resume_noirq callback to clear WAKEUP_INT Doug Anderson
2013-07-09 23:19 ` Doug Anderson
2013-07-10 14:54 ` Seungwon Jeon
2013-07-10 14:54 ` Seungwon Jeon
2013-07-10 15:05 ` Doug Anderson
2013-07-10 15:05 ` Doug Anderson
2013-07-10 15:05 ` Doug Anderson
2013-07-15 12:09 ` Seungwon Jeon
2013-07-15 12:09 ` Seungwon Jeon
2013-07-31 16:18 ` Doug Anderson
2013-07-31 16:18 ` Doug Anderson
2013-07-31 16:18 ` Doug Anderson
2013-08-06 21:36 ` Doug Anderson
2013-08-06 21:36 ` Doug Anderson
2013-08-06 21:36 ` Doug Anderson
2013-07-09 23:19 ` [PATCH v2 4/5] mmc: dw_mmc: Always setup the bus after suspend/resume Doug Anderson
2013-07-09 23:19 ` [PATCH v2 5/5] mmc: dw_mmc: Set timeout to max upon resume Doug Anderson
2013-07-10 14:54 ` Seungwon Jeon
2013-07-10 15:42 ` [PATCH v3 0/5] mmc: dw_mmc: fixes for suspend/resume on exynos Doug Anderson
2013-07-10 15:42 ` Doug Anderson
2013-07-10 15:42 ` [PATCH v3 1/5] mmc: dw_mmc: Invalidate cache of current_speed after suspend/resume Doug Anderson
2013-07-10 15:42 ` [PATCH v3 2/5] mmc: dw_mmc: Add suspend_noirq/resume_noirq callbacks for dw_mmc-pltfm Doug Anderson
2013-07-15 12:09 ` Seungwon Jeon
2013-08-06 21:32 ` Doug Anderson
2013-07-10 15:42 ` [PATCH v3 3/5] mmc: dw_mmc: Add exynos resume_noirq callback to clear WAKEUP_INT Doug Anderson
2013-07-10 15:42 ` Doug Anderson
2013-07-16 1:36 ` Jaehoon Chung
2013-07-16 1:36 ` Jaehoon Chung
2013-07-10 15:42 ` [PATCH v3 4/5] mmc: dw_mmc: Always setup the bus after suspend/resume Doug Anderson
2013-07-10 15:42 ` [PATCH v3 5/5] mmc: dw_mmc: Set timeout to max upon resume Doug Anderson
2013-08-06 21:37 ` [PATCH v4 0/4] mmc: dw_mmc: fixes for suspend/resume on exynos Doug Anderson
2013-08-06 21:37 ` Doug Anderson
2013-08-06 21:37 ` [PATCH v4 1/4] mmc: dw_mmc: Invalidate cache of current_speed after suspend/resume Doug Anderson
2013-08-06 21:58 ` Tomasz Figa
2013-08-08 5:14 ` Jaehoon Chung
2013-08-09 13:32 ` Seungwon Jeon
2013-08-09 15:22 ` Doug Anderson
2013-08-12 7:14 ` Seungwon Jeon
2013-08-22 0:54 ` Doug Anderson
2013-08-22 16:25 ` Doug Anderson
2013-08-06 21:37 ` [PATCH v4 2/4] mmc: dw_mmc: Add exynos resume_noirq callback to clear WAKEUP_INT Doug Anderson
2013-08-06 21:37 ` Doug Anderson
2013-08-06 21:58 ` Tomasz Figa
2013-08-06 21:58 ` Tomasz Figa
2013-08-06 22:09 ` Doug Anderson [this message]
2013-08-06 22:09 ` Doug Anderson
2013-08-06 22:09 ` Doug Anderson
2013-08-06 22:20 ` Tomasz Figa
2013-08-06 22:20 ` Tomasz Figa
2013-08-06 22:20 ` Tomasz Figa
2013-08-09 13:33 ` Seungwon Jeon
2013-08-09 13:33 ` Seungwon Jeon
2013-08-09 15:05 ` Doug Anderson
2013-08-09 15:05 ` Doug Anderson
2013-08-09 15:05 ` Doug Anderson
2013-08-06 21:37 ` [PATCH v4 3/4] mmc: dw_mmc: Always setup the bus after suspend/resume Doug Anderson
2013-08-06 22:01 ` Tomasz Figa
2013-08-09 13:35 ` Seungwon Jeon
2013-08-09 15:43 ` Doug Anderson
2013-08-12 7:20 ` Seungwon Jeon
2013-08-06 21:37 ` [PATCH v4 4/4] mmc: dw_mmc: Set timeout to max upon resume Doug Anderson
2013-08-06 22:02 ` Tomasz Figa
2013-08-09 16:33 ` [PATCH v5 0/4] mmc: dw_mmc: fixes for suspend/resume on exynos Doug Anderson
2013-08-09 16:33 ` Doug Anderson
2013-08-09 16:33 ` [PATCH v5 1/4] mmc: dw_mmc: Invalidate cache of current_speed after suspend/resume Doug Anderson
2013-08-09 16:33 ` [PATCH v5 2/4] mmc: dw_mmc: Add exynos resume_noirq callback to clear WAKEUP_INT Doug Anderson
2013-08-09 16:33 ` Doug Anderson
2013-08-09 16:41 ` Fabio Estevam
2013-08-09 16:41 ` Fabio Estevam
2013-08-09 16:48 ` Doug Anderson
2013-08-09 16:48 ` Doug Anderson
2013-08-09 16:48 ` Doug Anderson
2013-08-12 7:21 ` Seungwon Jeon
2013-08-12 7:21 ` Seungwon Jeon
2013-08-09 16:33 ` [PATCH v5 3/4] mmc: dw_mmc: Always setup the bus after suspend/resume Doug Anderson
2013-08-09 16:33 ` [PATCH v5 4/4] mmc: dw_mmc: Set timeout to max upon resume Doug Anderson
2013-08-21 11:48 ` [PATCH v5 0/4] mmc: dw_mmc: fixes for suspend/resume on exynos Seungwon Jeon
2013-08-21 11:48 ` Seungwon Jeon
2013-08-21 15:13 ` Doug Anderson
2013-08-21 15:13 ` Doug Anderson
2013-08-21 15:13 ` Doug Anderson
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='CAD=FV=W3kxkwHGoWE5YsztW7NNOYQCy6yFwNJQDaTFx=58cgbA@mail.gmail.com' \
--to=dianders@chromium.org \
--cc=a.kesavan@samsung.com \
--cc=alim.akhtar@samsung.com \
--cc=cjb@laptop.org \
--cc=grundler@chromium.org \
--cc=james.hogan@imgtec.com \
--cc=jh80.chung@samsung.com \
--cc=kgene.kim@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=olof@lixom.net \
--cc=tgih.jun@samsung.com \
--cc=tomasz.figa@gmail.com \
/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.