Hi Rommel,

Looks good to me. Thank you.

Acked-by: Jaehoon Chung <jh80.ch...@samsung.com>

On 11/08/2012 06:46 AM, Rommel G Custodio wrote:
> modification for commit 804c7f422169212e92530e1ddaf74bf1ca9ebfa1
> 
> The original patch contained a bug.
> Using a char with sdhci_readl/sdhci_writel operation.
> The adjacent bytes to SDHCI_HOST_CONTROL (specially SDHCI_POWER_CONTROL)
> get mangled and can result in the controller entering an unstable state.
> 
> This patch also moves the process inside sdhci_init().
> 
> Signed-off-by: Rommel G Custodio <sessya...@gmail.com>
> ---
>  drivers/mmc/sdhci.c | 15 ++++++++-------
>  1 file changed, 8 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
> index 7845f87..fae2169 100644
> --- a/drivers/mmc/sdhci.c
> +++ b/drivers/mmc/sdhci.c
> @@ -82,13 +82,6 @@ static int sdhci_transfer_data(struct sdhci_host *host, 
> struct mmc_data *data,
>                               unsigned int start_addr)
>  {
>       unsigned int stat, rdy, mask, timeout, block = 0;
> -#ifdef CONFIG_MMC_SDMA
> -     unsigned char ctrl;
> -     ctrl = sdhci_readl(host, SDHCI_HOST_CONTROL);
> -     ctrl &= ~SDHCI_CTRL_DMA_MASK;
> -     ctrl |= SDHCI_CTRL_SDMA;
> -     sdhci_writel(host, ctrl, SDHCI_HOST_CONTROL);
> -#endif
>  
>       timeout = 1000000;
>       rdy = SDHCI_INT_SPACE_AVAIL | SDHCI_INT_DATA_AVAIL;
> @@ -386,6 +379,14 @@ int sdhci_init(struct mmc *mmc)
>  {
>       struct sdhci_host *host = (struct sdhci_host *)mmc->priv;
>  
> +#ifdef CONFIG_MMC_SDMA
> +     unsigned int ctrl;
> +     ctrl = sdhci_readl(host, SDHCI_HOST_CONTROL);
> +     ctrl &= ~SDHCI_CTRL_DMA_MASK;
> +     ctrl |= SDHCI_CTRL_SDMA;
> +     sdhci_writel(host, ctrl, SDHCI_HOST_CONTROL);
> +#endif
> +
>       if ((host->quirks & SDHCI_QUIRK_32BIT_DMA_ADDR) && !aligned_buffer) {
>               aligned_buffer = memalign(8, 512*1024);
>               if (!aligned_buffer) {
> 

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to