mmc: dw_mmc: set fixed burst in BMOD register
authorJaehoon Chung <jh80.chung@samsung.com>
Fri, 25 Feb 2011 02:08:13 +0000 (11:08 +0900)
committerChris Ball <cjb@laptop.org>
Fri, 25 Mar 2011 14:30:49 +0000 (10:30 -0400)
This patch uses the fixed burst bit when using an internal DMA controller.
I found increased performance with IDMAC when this bit is set.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/dw_mmc.c

index 5a61406..87e1f57 100644 (file)
@@ -316,7 +316,7 @@ static void dw_mci_idmac_stop_dma(struct dw_mci *host)
 
        /* Stop the IDMAC running */
        temp = mci_readl(host, BMOD);
-       temp &= ~SDMMC_IDMAC_ENABLE;
+       temp &= ~(SDMMC_IDMAC_ENABLE | SDMMC_IDMAC_FB);
        mci_writel(host, BMOD, temp);
 }
 
@@ -385,7 +385,7 @@ static void dw_mci_idmac_start_dma(struct dw_mci *host, unsigned int sg_len)
 
        /* Enable the IDMAC */
        temp = mci_readl(host, BMOD);
-       temp |= SDMMC_IDMAC_ENABLE;
+       temp |= SDMMC_IDMAC_ENABLE | SDMMC_IDMAC_FB;
        mci_writel(host, BMOD, temp);
 
        /* Start it running */