[PATCH 1/2] mmc: core: use card pointer as the first parameter of execute_tuning()

Doug Anderson dianders at chromium.org
Mon Jan 26 09:45:07 PST 2015


On Mon, Jan 26, 2015 at 7:15 AM, Ulf Hansson <ulf.hansson at linaro.org> wrote:
> On 26 January 2015 at 12:19, Addy Ke <addy.ke at rock-chips.com> wrote:
>> We need to take the card pointer in execute_tuning() for mmc_send_status(),
> mmc_send_status() is an mmc core function, not intended for host's to call.
>> but mmc->card is NULL in tuning state. So we need change the first parameter
>> of execute_tuning() to card pointer(struct mmc_card * card).
> So, why do we need this?

I asked Addy to post upstream against mmc_send_tuning(), but I guess
he didn't (he posted against Alex's NAKed patch instead).

...when I talked to him about it, Addy was asserting that when tuning
fails it is important (at least on dw_mmc on rk3288) that we wait for
the card to stop being busy and that the way to detect was using

That would mean that against upstream you'd need to change
mmc_send_tuning() to take in the card as well (or move the "host->card
= card" assignment to before UHS init, which seems less desirable?)

What do you think about that?  Is there a better solution?


More information about the Linux-rockchip mailing list