Re: [PATCH] mmc: dw_mmc: fixed a wrong UHS_REG 16 bit clear

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/22/2013 10:27 AM, Hyeonsu Kim wrote:
> In the legacy code, driver clear not only UHS_REG 16 bit also 0-15bit.
> If we use UHS-1 mode spec card like SDR50, SDR104. UHS_REG 0-15 should be set by
> 1 according to slot id. In this case, legacy code can make problem.
UHS_REG register is consist of DDR_REG[31:16] and VOLT_REG[15:0].
Before adjusting this patch, bit[15:0] is always cleared.
So this patch looks good to me.

Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
> 
> Signed-off-by: Hyeonsu Kim <hyeonsu.kim@xxxxxxxxxxx>
> ---
>  drivers/mmc/host/dw_mmc.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> index 323c502..390c15c 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -789,9 +789,9 @@ static void dw_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
>  
>  	/* DDR mode set */
>  	if (ios->timing == MMC_TIMING_UHS_DDR50)
> -		regs |= (0x1 << slot->id) << 16;
> +		regs |= ((0x1 << slot->id) << 16);
>  	else
> -		regs &= ~(0x1 << slot->id) << 16;
> +		regs &= ~((0x1 << slot->id) << 16);
>  
>  	mci_writel(slot->host, UHS_REG, regs);
>  
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux