Re: [PATCH 03/17] mmc: mmci: Mask IRQs for all variants during runtime suspend

2014-02-24 Thread Linus Walleij
On Tue, Feb 18, 2014 at 5:36 PM, Ulf Hansson ulf.hans...@linaro.org wrote:
 On 18 February 2014 17:05, Russell King - ARM Linux
 li...@arm.linux.org.uk wrote:
 On Tue, Feb 04, 2014 at 04:58:44PM +0100, Ulf Hansson wrote:
 In runtime suspended state, we are not expecting IRQs and thus we can
 safely mask them, not only for pwrreg_nopower variants but for all.

 Obviously we then also need to make sure we restore the IRQ mask while
 becoming runtime resumed.

 So, what happens when this patch is applied, and a SDIO card is attached
 which expects to receive interrupts at any moment?

 Currently, no variant implements SDIO irq.

 The SDIO irq polling mode from the sdio core will still be functional,
 as of today. So, this patch will not break SDIO.


 Given that I've run into this during the last week with a SDHCI controller,
 I'm not that thrilled with other interfaces doing the same broken thing.

 If we add SDIO irq support to mmci in future; parts of that
 implementation includes a re-route of DAT1 to a GPIO irq when entering
 runtime suspend state. The mmci HW will in runtime suspend state, not
 be responsible for handling irqs, which is the same as of today.

[Just smalltalk]

Switching DAT1 to gpio mode (which is something of a fallacy, see
explanation in Documentation/pinctrl.txt) is not at all possible in all
implementations of the PL18x, as it depends on exploiting properties
on an assumed pin controller.

Systems that don't have such wakeup features on their pins are
unlikely to support deepsleep in any capacity, and if they do they are
ill-designed from the top level as this needs to be taken into account
when devising the hardware :-/

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line unsubscribe linux-i2c in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 03/17] mmc: mmci: Mask IRQs for all variants during runtime suspend

2014-02-18 Thread Ulf Hansson
On 18 February 2014 17:05, Russell King - ARM Linux
li...@arm.linux.org.uk wrote:
 On Tue, Feb 04, 2014 at 04:58:44PM +0100, Ulf Hansson wrote:
 In runtime suspended state, we are not expecting IRQs and thus we can
 safely mask them, not only for pwrreg_nopower variants but for all.

 Obviously we then also need to make sure we restore the IRQ mask while
 becoming runtime resumed.

 So, what happens when this patch is applied, and a SDIO card is attached
 which expects to receive interrupts at any moment?

Currently, no variant implements SDIO irq.

The SDIO irq polling mode from the sdio core will still be functional,
as of today. So, this patch will not break SDIO.


 Given that I've run into this during the last week with a SDHCI controller,
 I'm not that thrilled with other interfaces doing the same broken thing.

If we add SDIO irq support to mmci in future; parts of that
implementation includes a re-route of DAT1 to a GPIO irq when entering
runtime suspend state. The mmci HW will in runtime suspend state, not
be responsible for handling irqs, which is the same as of today.

Kind regards
Ulf Hansson


 --
 FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up.  Estimation
 in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
 Estimate before purchase was up to 13.2Mbit.
--
To unsubscribe from this list: send the line unsubscribe linux-i2c in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 03/17] mmc: mmci: Mask IRQs for all variants during runtime suspend

2014-02-18 Thread Russell King - ARM Linux
On Tue, Feb 18, 2014 at 05:36:52PM +0100, Ulf Hansson wrote:
 If we add SDIO irq support to mmci in future; parts of that
 implementation includes a re-route of DAT1 to a GPIO irq when entering
 runtime suspend state. The mmci HW will in runtime suspend state, not
 be responsible for handling irqs, which is the same as of today.

Note that the irq thread in sdio_irq is scheduled for destruction -
it's buggy when the system is under high load and a driver claims a
SDIO irq.  Sched people hate it too...

-- 
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up.  Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was up to 13.2Mbit.
--
To unsubscribe from this list: send the line unsubscribe linux-i2c in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html