[U-Boot] [PATCH 05/51] mmc: dw_mmc: cleanups

Chin Liang See clsee at altera.com
Wed Oct 1 09:40:17 CEST 2014


On Sun, 2014-09-21 at 14:58 +0200, marex at denx.de wrote:
> From: Pavel Machek <pavel at denx.de>
> 
> The dw_mmc driver was responding to errors with debug(). Change that
> to prinf()/puts() respectively so that any errors are immediately
> obvious. Also adjust english in comments.
> 
> Signed-off-by: Pavel Machek <pavel at denx.de>
> Signed-off-by: Marek Vasut <marex at denx.de>
> Cc: Chin Liang See <clsee at altera.com>
> Cc: Dinh Nguyen <dinguyen at altera.com>
> Cc: Albert Aribaud <albert.u.boot at aribaud.net>
> Cc: Tom Rini <trini at ti.com>
> Cc: Wolfgang Denk <wd at denx.de>
> Cc: Pavel Machek <pavel at denx.de>
> Cc: Pantelis Antoniou <panto at antoniou-consulting.com>
> ---
>  drivers/mmc/dw_mmc.c | 34 ++++++++++++++++++++++------------
>  1 file changed, 22 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
> index 0df30bc..785eed5 100644
> --- a/drivers/mmc/dw_mmc.c
> +++ b/drivers/mmc/dw_mmc.c
> @@ -119,7 +119,7 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
>  
>  	while (dwmci_readl(host, DWMCI_STATUS) & DWMCI_BUSY) {
>  		if (get_timer(start) > timeout) {
> -			printf("Timeout on data busy\n");
> +			printf("%s: Timeout on data busy\n", __func__);
>  			return TIMEOUT;
>  		}
>  	}
> @@ -177,14 +177,24 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
>  		}
>  	}
>  
> -	if (i == retry)
> +	if (i == retry) {
> +		printf("%s: Timeout.\n", __func__);
>  		return TIMEOUT;
> +	}
>  
>  	if (mask & DWMCI_INTMSK_RTO) {
> -		debug("Response Timeout..\n");
> +		/*
> +		 * Timeout here is not necessarily fatal. (e)MMC cards
> +		 * will splat here when they receive CMD55 as they do
> +		 * not support this command and that is exactly the way
> +		 * to tell them apart from SD cards. Thus, this output
> +		 * below shall be debug(). eMMC cards also do not favor
> +		 * CMD8, please keep that in mind.
> +		 */
> +		debug("%s: Response Timeout.\n", __func__);
>  		return TIMEOUT;
>  	} else if (mask & DWMCI_INTMSK_RE) {
> -		debug("Response Error..\n");
> +		printf("%s: Response Error.\n", __func__);
>  		return -1;
>  	}
>  
> @@ -204,7 +214,7 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
>  		do {
>  			mask = dwmci_readl(host, DWMCI_RINTSTS);
>  			if (mask & (DWMCI_DATA_ERR | DWMCI_DATA_TOUT)) {
> -				debug("DATA ERROR!\n");
> +				printf("%s: DATA ERROR!\n", __func__);
>  				return -1;
>  			}
>  		} while (!(mask & DWMCI_INTMSK_DTO));
> @@ -232,16 +242,16 @@ static int dwmci_setup_bus(struct dwmci_host *host, u32 freq)
>  	if ((freq == host->clock) || (freq == 0))
>  		return 0;
>  	/*
> -	 * If host->get_mmc_clk didn't define,
> +	 * If host->get_mmc_clk isn't defined,
>  	 * then assume that host->bus_hz is source clock value.
> -	 * host->bus_hz should be set from user.
> +	 * host->bus_hz should be set by user.
>  	 */
>  	if (host->get_mmc_clk)
>  		sclk = host->get_mmc_clk(host);
>  	else if (host->bus_hz)
>  		sclk = host->bus_hz;
>  	else {
> -		printf("Didn't get source clock value..\n");
> +		printf("%s: Didn't get source clock value.\n", __func__);
>  		return -EINVAL;
>  	}
>  
> @@ -260,7 +270,7 @@ static int dwmci_setup_bus(struct dwmci_host *host, u32 freq)
>  	do {
>  		status = dwmci_readl(host, DWMCI_CMD);
>  		if (timeout-- < 0) {
> -			printf("TIMEOUT error!!\n");
> +			printf("%s: Timeout!\n", __func__);
>  			return -ETIMEDOUT;
>  		}
>  	} while (status & DWMCI_CMD_START);
> @@ -275,7 +285,7 @@ static int dwmci_setup_bus(struct dwmci_host *host, u32 freq)
>  	do {
>  		status = dwmci_readl(host, DWMCI_CMD);
>  		if (timeout-- < 0) {
> -			printf("TIMEOUT error!!\n");
> +			printf("%s: Timeout!\n", __func__);
>  			return -ETIMEDOUT;
>  		}
>  	} while (status & DWMCI_CMD_START);
> @@ -290,7 +300,7 @@ static void dwmci_set_ios(struct mmc *mmc)
>  	struct dwmci_host *host = (struct dwmci_host *)mmc->priv;
>  	u32 ctype, regs;
>  
> -	debug("Buswidth = %d, clock: %d\n",mmc->bus_width, mmc->clock);
> +	debug("Buswidth = %d, clock: %d\n", mmc->bus_width, mmc->clock);
>  
>  	dwmci_setup_bus(host, mmc->clock);
>  	switch (mmc->bus_width) {
> @@ -329,7 +339,7 @@ static int dwmci_init(struct mmc *mmc)
>  	dwmci_writel(host, DWMCI_PWREN, 1);
>  
>  	if (!dwmci_wait_reset(host, DWMCI_RESET_ALL)) {
> -		debug("%s[%d] Fail-reset!!\n",__func__,__LINE__);
> +		printf("%s[%d] Fail-reset!!\n", __func__, __LINE__);
>  		return -1;
>  	}
>  

Acked-by: Chin Liang See <clsee at altera.com>



More information about the U-Boot mailing list