2015-08-12 11:56:09

by Olliver Schinagl

[permalink] [raw]
Subject: Re: [linux-sunxi] MMC clock gating broken on a20

Actually, I've reverted hans's

mmc: sunxi: Don't start commands while the card is busy

and that makes it disapear as well. So it looks like that patch triggers
the aggressiveness more?

I'll apply your patch and undo the revert to see if that fixes the root
issue.

Olliver

On 12-08-15 13:40, Olliver Schinagl wrote:
> Hey all,
>
> I'm noticing the exact same thing using hans's sunxi-wip from a few
> days ago.
>
> I did see a patch from you about this very issue I belive
> mmc: sunxi: fix timeout in sunxi_mmc_oclk_onoff
>
> but can't find it in any of the repo's. Has it been merged yet and did
> that actually solve the problem eventually?
>
>
> On 24-05-15 14:37, Michal Suchanek wrote:
>> Hello,
>>
>> I tried to update the kernel on my cubieboards to something recent and
>> while the a10 cubieboard works fine the a20 one won't boot.
>>
>> Looking at the console I found that the culprit is mmc clock so I
>> disabled mmc clock gating and the board works.
>>
>> I went as far back as 3.19 and the issue is pretty much the same. The
>> difference is that with linus master the clock gating seems more
>> aggressive so the board does not even boot whereas with 3.19 it
>> crashes shortly after booting fully.
>>
>> Anyone has some idea why the clock would fail re-enabling after gated?
>>
>> Supposedly the clock was already set up by the kernel when probing
>> the mmc.
>>
>> Thanks
>>
>> Michal
>>
>> root@sunxi-a20:~# sunxi-mmc 1c0f000.mmc: fatal err update clk timeout
>> mmcblk0: error -5 requesting status
>> blk_update_request: I/O error, dev mmcblk0, sector 2048
>> Buffer I/O error on dev mmcblk0p1, logical block 0, lost async page
>> write
>> blk_update_request: I/O error, dev mmcblk0, sector 2056
>> Buffer I/O error on dev mmcblk0p1, logical block 1, lost async page
>> write
>> mmcblk0: error -5 sending status command, retrying
>> mmcblk0: error -5 sending status command, retrying
>> mmcblk0: error -5 sending status command, aborting
>> blk_update_request: I/O error, dev mmcblk0, sector 6776
>> Buffer I/O error on dev mmcblk0p1, logical block 591, lost async page
>> write
>> mmcblk0: error -5 sending status command, retrying
>> mmcblk0: error -5 sending status command, retrying
>> mmcblk0: error -5 sending status command, aborting
>>
>


2015-08-12 12:31:34

by Michal Suchanek

[permalink] [raw]
Subject: Re: [linux-sunxi] MMC clock gating broken on a20

On 12 August 2015 at 13:55, Olliver Schinagl <[email protected]> wrote:
> Actually, I've reverted hans's
>
> mmc: sunxi: Don't start commands while the card is busy
>
> and that makes it disapear as well. So it looks like that patch triggers the
> aggressiveness more?

It probably inserts delays which trigger the mmc power saving.

Still the delay should not be needed on the mmc interface which is
connected to the card slot, should it?

Thanks

Michal