On Thu, Aug 23, 2012 at 12:31 PM, Jaehoon Chung <[email protected]> wrote:
> To avoid glitches in the card clock output,
> need to check whether card is busy or not.
>
> Signed-off-by: Jaehoon Chung <[email protected]>
> Signed-off-by: Kyungmin Park <[email protected]>
> ---
> drivers/mmc/host/dw_mmc.c | 30 ++++++++++++++++++++++++------
> drivers/mmc/host/dw_mmc.h | 1 +
> 2 files changed, 25 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> index 36f98c0..8bef3c2 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -623,6 +623,27 @@ static void mci_send_cmd(struct dw_mci_slot *slot, u32
> cmd, u32 arg)
> cmd, arg, cmd_status);
> }
>
> +static void dw_mci_inform_ciu(struct dw_mci_slot *slot)
> +{
> + struct dw_mci *host = slot->host;
> + unsigned long timeout = jiffies + msecs_to_jiffies(500);
Is there a reason why this timeout value was chosen? It seems quite long.
> + u32 ctrl, status;
> +
> + do {
> + status = mci_readl(host, STATUS);
> + if (!(status & SDMMC_DATA_BUSY))
> + break;
> + ctrl = mci_readl(host, CTRL);
> + ctrl |= SDMMC_CTRL_RESET;
> + mci_writel(host, CTRL, ctrl);
> + } while (time_before(jiffies, timeout));
> +
> + if (status & SDMMC_DATA_BUSY)
> + dev_err(&slot->mmc->class_dev,"Card is busy..!\n");
The two periods in this message do not need to be there.
--
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