Boot hangs during sdhci_transfer_data_dma
Robin van der Gracht
robin at protonic.nl
Tue Jun 21 03:07:50 PDT 2022
On 2022-06-21 09:46, Sascha Hauer wrote:
> Hi Robin,
...
> We should only ever
> clear the bits we have handled, like sdhci_transfer_data_dma() does with
>
> sdhci_write32(sdhci, SDHCI_INT_STATUS, SDHCI_INT_DMA);
I just noticed that the tegra-sdmmc mci driver might have the same issue.
https://git.pengutronix.de/cgit/barebox/tree/drivers/mci/tegra-sdmmc.c#n149
It can prevent the following conditional from ever evaluating true trapping
the process in the while loop.
https://git.pengutronix.de/cgit/barebox/tree/drivers/mci/tegra-sdmmc.c#n203
This driver clears the status register on error (not on start/end of
function)
with an old value 'val' which can be lacking status bits that popped up
along the way...
I can't test code changes for this platform.
- Robin
More information about the barebox
mailing list