Re: Sandisk MMC I/O errors

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

 



On 08/07/2014 04:18 PM, Jean-Michel Hautbois wrote:
> 2014-08-07 8:59 GMT+02:00 Jean-Michel Hautbois
> <jean-michel.hautbois@xxxxxxxxxxx>:
>> 2014-08-06 16:21 GMT+02:00 Jean-Michel Hautbois
>> <jean-michel.hautbois@xxxxxxxxxxx>:
>>> 2014-08-06 15:37 GMT+02:00 Fabio Estevam <festevam@xxxxxxxxx>:
>>>> On Wed, Aug 6, 2014 at 10:27 AM, Jean-Michel Hautbois
>>>> <jean-michel.hautbois@xxxxxxxxxxx> wrote:
>>>>> 2014-08-06 13:44 GMT+02:00 Jaehoon Chung <jh80.chung@xxxxxxxxxxx>:
>>>>>> Hi,
>>>>>
>>>>> Hi Jaehoon,
>>>>>
>>>>>> In my case, -84 error is related with timing.
>>>>>> I recommend to check your clock source or pin strength.
>>
>> I have dumped /sys/kernel/debug/mmc1/ios in both kernel releases.
>>
>> In the current kernel (3.16) :
>> $> cat /sys/kernel/debug/mmc1/ios
>> clock:          52000000 Hz
>> actual clock:   49500000 Hz
>> vdd:            21 (3.3 ~ 3.4 V)
>> bus mode:       2 (push-pull)
>> chip select:    0 (don't care)
>> power mode:     2 (on)
>> bus width:      3 (8 bits)
>> timing spec:    8 (mmc DDR52)
>> signal voltage: 0 (3.30 V)
>>
>> In the Freescale kernel (3.10.17) :
>> $> cat /sys/kernel/debug/mmc1/ios
>> clock:          52000000 Hz
>> actual clock:   49500000 Hz
>> vdd:            7 (1.65 - 1.95 V)
>> bus mode:       2 (push-pull)
>> chip select:    0 (don't care)
>> power mode:     2 (on)
>> bus width:      3 (8 bits)
>> timing spec:    7 (sd uhs DDR50)
>> signal voltage: 0 (3.30 V)
>>
>> As you can see, there is at least too differences : VDD is not the
>> same I don't know why yet, and neither is timing spec. This seems to
>> be the real cause...
>> Investigating now, but any advice is interesting ! :)
UHS mode is run the voltage-change sequence.
So printed that vdd is 1.8v at linux3.10.

>>
>> Thanks,
>> JM
> 
> OK, I juste tested to get back on part of the commit
> 79f7ae7c45a6ccf04e2908337461dee615f6afb0 :
> 
> diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
> index 1ab5f3a..e22d851 100644
> --- a/drivers/mmc/core/mmc.c
> +++ b/drivers/mmc/core/mmc.c
> @@ -1264,7 +1264,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
>                                         goto err;
>                         }
>                         mmc_card_set_ddr_mode(card);
> -                       mmc_set_timing(card->host, MMC_TIMING_UHS_DDR50);
> +                       mmc_set_timing(card->host, MMC_TIMING_MMC_DDR52);
>                         mmc_set_bus_width(card->host, bus_width);
>                 }
>         }
> 
> 
> I just did the inverse, that means using MMC_TIMING_UHS_DDR50 and not
> MMC_TIMING_MMC_DDR52 and I don't have any errors now.

Is your card eMMC or SD(T-flash)? Which card do you use?
Did you check dt-file?

Best Regards,
Jaehoon Chung

> 
> Reverting the commit is not the solution, I need to know why the
> timings are not the good ones now...
> JM
> 

--
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