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

From: Olliver Schinagl
Date: Wed Aug 12 2015 - 07:56:13 EST


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



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