[U-Boot] [BUG] 0001-mmc-fix-the-wrong-disabling-clock.patch

Heinrich Schuchardt xypron.glpk at gmx.de
Mon Jan 29 00:33:53 UTC 2018


On 01/26/2018 07:58 AM, Jaehoon Chung wrote:
> Hi Heinrich,
> 
> On 01/26/2018 12:28 PM, Jaehoon Chung wrote:
>> Hi,
>>
>> On 01/26/2018 04:37 AM, Heinrich Schuchardt wrote:
>>> With git master HEAD the Odroid C2 hangs after the command line countdown.
>>>
>>> Bisecting teaches that this is the patch causing the problem:
>>>
>>> 9546eb92cb648a8bba0aa9d5930ac751e6e5b9a4
>>> mmc: fix the wrong disabling clock
>>
>> When you search for commit with bisecting, this commit might be occurred a problem.
>> So i have sent the patches a below patches.
>>
>> I don't have odroid-c2 board. so it's difficult to find what happen to your board.
>> Could you share the log message?
>>
>> Almost all boards are working fine. and those patches make sense.
>>
>> If revert these patches, too many boards can't use MMC card.
>>
>>>
>>> Please, revert the patch.
>>
>> Well, my opinion is first step that we try to find what is main problem about odriod-c2 or others..
>> Not only revert the patch. Also i will try to solve your issue.
> 
> I didn't have Odroid-C2 board, i can't test anything. Could you test with below code?
> 
> diff --git a/drivers/mmc/meson_gx_mmc.c b/drivers/mmc/meson_gx_mmc.c
> index 3cd934634d..c17efd25c6 100644
> --- a/drivers/mmc/meson_gx_mmc.c
> +++ b/drivers/mmc/meson_gx_mmc.c
> @@ -35,6 +35,9 @@ static void meson_mmc_config_clock(struct mmc *mmc)
>         uint32_t meson_mmc_clk = 0;
>         unsigned int clk, clk_src, clk_div;
>  
> +       if (mmc->clock == 0)
> +               return 0;

You should not return 0 from a void function.

So, please, write

	if (!mmc->clock)
		return;

> +
>         /* 1GHz / CLK_MAX_DIV = 15,9 MHz */
>         if (mmc->clock > 16000000) {
>                 clk = SD_EMMC_CLKSRC_DIV2;
> 

Current git HEAD plus this change allows reading from MMC.

I added a print command and found that the functions is called twice
with a non-zero value:

MMC:
meson_mmc_config_clock: mmc->clock: 380953
meson_mmc_config_clock: mmc->clock: 380953
mmc at 72000: 0, mmc at 74000: 1

But quite a lot of changes have been merged since my first mail, so I am
not sure which change is relevant.

Best regards

Heinrich

> Best Regards,
> Jaehoon Chung
> 
>>
>> Best Regards,
>> Jaehoon Chung
>>
>>>
>>> I could not find the patch in
>>> https://lists.denx.de/pipermail/u-boot/2018-January/date.html
>>>
>>> http://patchwork.ozlabs.org/patch/864607/
>>> seems to be related but does not solve the issue.
>>>
>>> Best regards
>>>
>>> Heinrich
>>>
>>>
>>>
>>
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> https://lists.denx.de/listinfo/u-boot
>>
> 
> 



More information about the U-Boot mailing list