Re: [PATCH v4 2/4] mmc: dw_mmc: Add exynos resume_noirq callback toclear WAKEUP_INT

From: Doug Anderson
Date: Tue Aug 06 2013 - 18:09:54 EST


Tomasz,

On Tue, Aug 6, 2013 at 2:58 PM, Tomasz Figa <tomasz.figa@xxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/