Russell King - ARM Linux wrote:
On Mon, Oct 24, 2011 at 11:54:00AM +0200, Linus Walleij wrote:
On Mon, Oct 24, 2011 at 11:36 AM, Russell King - ARM Linux
<linux@xxxxxxxxxxxxxxxx> wrote:
On Sun, Oct 23, 2011 at 02:31:39AM +0200, Sebastian Rasmussen wrote:
I guess the patch would appeal more to Russell if mmci_runtime_suspend()
only cleared MCIMask0/SDI_MASK0 and MCIClock/SDI_CLKCR and left
MCIPower/SDI_PWR unchanged. It may be the case that the signal direction
bits need to be cleared for the ST-Ericsson PL180, but I haven't yet verified
this on my Snowball dev board yet.
There's also the issue that the specs call for the clock to run after
a command has completed for a certain number of cycles, and that the
clock must continue to run until the card reports not-busy after a
programming or erase cycle has completed - that can be long after the
previous command has 'completed'.
It's 8 cycles on MCLK required.
_Plus_ keeping the clock running while the card is signalling busy.
If you don't clock the card while its signalling busy, it will never
go non-busy (the data line becomes frozen.)
Good point!
Is the aggressive clk gating feature in the mmc framework taking this
into account as well?
Potentially the framework could do a get_sync/put (in claim/release
host) to prevent hosts from being runtime disabled. Similar how the
enable/disable mechanism is working.
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html