On Sun, Oct 31, 2010 at 6:24 PM, Daniel Drake <dsd@xxxxxxxxxx> wrote: > On 31 October 2010 16:16, Ohad Ben-Cohen <ohad@xxxxxxxxxx> wrote: >> Just to make sure - on an older kernel (that doesn't have SDIO runtime >> pm), the card is powered on at this stage (this info will help me rule >> out some corner cases) ? > > Looks that way. Same test, after reverting your patches: > > clock: 25000000 Hz > vdd: 20 (3.2 ~ 3.3 V) > bus mode: 2 (push-pull) > chip select: 0 (don't care) > power mode: 2 (on) > bus width: 2 (4 bits) > timing spec: 0 (legacy) OK, as expected. So to summarize: 1. Card is powered up at boot, and successfully initialized 2. After mmc + sdio devices are added to the device tree, power is (seemingly) taken down by runtime PM 3. When the driver is loaded, card is powered up again, but doesn't respond to CMD3 The only explanation I can think of why the card doesn't respond to CMD3, after its power is brought up again, is that we didn't have a full reset here (i.e. mmc_power_off() didn't completely power off everything). It's interesting to understand exactly what happens in the context of the XO-1.5 (there can be several possible culprits, including a controller quirk), but even if that's not exactly the case here, it is pretty clear that we need to support boards with controllers/cards which we can't power off in runtime. On such boards, the right thing to do would be to disable runtime PM altogether. Luckily I'll have the XO-1.5 later on this week to cook a fix and test it. Thanks, Ohad. -- 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