|
|
@@ -468,6 +468,13 @@ static void sdhci_adma_write_desc(u8 *desc, u32 addr, int len, unsigned cmd)
|
|
|
dataddr[0] = cpu_to_le32(addr);
|
|
|
}
|
|
|
|
|
|
+static void sdhci_adma_mark_end(void *desc)
|
|
|
+{
|
|
|
+ u8 *dma_desc = desc;
|
|
|
+
|
|
|
+ dma_desc[0] |= 0x2; /* end */
|
|
|
+}
|
|
|
+
|
|
|
static int sdhci_adma_table_pre(struct sdhci_host *host,
|
|
|
struct mmc_data *data)
|
|
|
{
|
|
|
@@ -564,7 +571,7 @@ static int sdhci_adma_table_pre(struct sdhci_host *host,
|
|
|
*/
|
|
|
if (desc != host->adma_table) {
|
|
|
desc -= 8;
|
|
|
- desc[0] |= 0x2; /* end */
|
|
|
+ sdhci_adma_mark_end(desc);
|
|
|
}
|
|
|
} else {
|
|
|
/*
|