|
52 | 52 | #undef CONFIG_MMC_SDHCI_BCM2708_DMA
|
53 | 53 | #define CONFIG_MMC_SDHCI_BCM2708_DMA y
|
54 | 54 |
|
55 |
| -#define USE_SYNC_AFTER_DMA |
56 | 55 | #ifdef CONFIG_MMC_SDHCI_BCM2708_DMA
|
57 | 56 | /* #define CHECK_DMA_USE */
|
58 | 57 | #endif
|
@@ -832,34 +831,6 @@ static void sdhci_bcm2708_dma_complete_irq(struct sdhci_host *host,
|
832 | 831 | SDHCI_INT_SPACE_AVAIL);
|
833 | 832 | }
|
834 | 833 | } else {
|
835 |
| -#ifdef USE_SYNC_AFTER_DMA |
836 |
| - /* On the Arasan controller the stop command (which will be |
837 |
| - scheduled after this completes) does not seem to work |
838 |
| - properly if we allow it to be issued when we are |
839 |
| - transferring data to/from the SD card. |
840 |
| - We get CRC and DEND errors unless we wait for |
841 |
| - the SD controller to finish reading/writing to the card. */ |
842 |
| - u32 state_mask; |
843 |
| - int timeout=5000; |
844 |
| - |
845 |
| - DBG("PDMA over - sync card\n"); |
846 |
| - if (data->flags & MMC_DATA_READ) |
847 |
| - state_mask = SDHCI_DOING_READ; |
848 |
| - else |
849 |
| - state_mask = SDHCI_DOING_WRITE; |
850 |
| - |
851 |
| - while (0 != (sdhci_bcm2708_raw_readl(host, SDHCI_PRESENT_STATE) |
852 |
| - & state_mask) && --timeout > 0) |
853 |
| - { |
854 |
| - udelay(30); |
855 |
| - continue; |
856 |
| - } |
857 |
| - if (timeout <= 0) |
858 |
| - printk(KERN_ERR"%s: final %s to SD card still " |
859 |
| - "running\n", |
860 |
| - mmc_hostname(host->mmc), |
861 |
| - data->flags & MMC_DATA_READ? "read": "write"); |
862 |
| -#endif |
863 | 834 | if (host_priv->complete) {
|
864 | 835 | (*host_priv->complete)(host);
|
865 | 836 | DBG("PDMA %s complete\n",
|
@@ -1315,7 +1286,8 @@ static int __devinit sdhci_bcm2708_probe(struct platform_device *pdev)
|
1315 | 1286 | SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK |
|
1316 | 1287 | SDHCI_QUIRK_BROKEN_TIMEOUT_VAL |
|
1317 | 1288 | SDHCI_QUIRK_MISSING_CAPS |
|
1318 |
| - SDHCI_QUIRK_NO_HISPD_BIT; |
| 1289 | + SDHCI_QUIRK_NO_HISPD_BIT | |
| 1290 | + SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12; |
1319 | 1291 |
|
1320 | 1292 | #ifdef CONFIG_MMC_SDHCI_BCM2708_DMA
|
1321 | 1293 | host->flags = SDHCI_USE_PLATDMA;
|
|
0 commit comments