On 19 November 2015 at 22:57, Renju Liu <[email protected]> wrote:
> Hi All,
>
> I'm currently studying the suspension behavior of MMC. However, I
> don't quite understand the rationale why the kernel needs to wait
> until timeout in the following code:
That's because the eMMC spec states that it's required.
>
> /*
> * If the host does not wait while the card signals busy, then we will
> * will have to wait the sleep/awake timeout. Note, we cannot use the
> * SEND_STATUS command to poll the status because that command (and most
> * others) is invalid while the card sleeps.
> */
>
> if (!(host->caps & MMC_CAP_WAIT_WHILE_BUSY)){
> mmc_delay(DIV_ROUND_UP(card->ext_csd.sa_timeout, 10000));
> }
>
If the host controller HW supports busy detection, we allow that to be
used instead of waiting a pre-defined timeout time.
Kind regards
Uffe
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html