diff options
author | Ulf Hansson <ulf.hansson@stericsson.com> | 2011-09-30 16:19:52 +0200 |
---|---|---|
committer | Robert MARKLUND <robert.marklund@stericsson.com> | 2011-10-07 09:49:55 +0200 |
commit | 7615f8b8499dfa1610316a7af22d9311fea449d5 (patch) | |
tree | 7914eb8db827124a8bd381fceb3528fdc98e3b4d /arch/arm | |
parent | 271364eda73463db40900c4bdcee20564e506686 (diff) |
mach-ux500:u8500: Temporarily disable DMA for mmc and sd
Due to problem with suspend and resume for mmc/sd, directly
related to the DMA support in the MMCI driver, we temporarily
disable DMA.
Change-Id: I92d1090b7190503f4a136be2361495f11215a3ab
Signed-off-by: Ulf Hansson <ulf.hansson@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32763
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33233
Tested-by: John FREDRIKSSON <john.xj.fredriksson@stericsson.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-sdi.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-sdi.c b/arch/arm/mach-ux500/board-mop500-sdi.c index 48c4ad7ca53..ee49e5f7f33 100644 --- a/arch/arm/mach-ux500/board-mop500-sdi.c +++ b/arch/arm/mach-ux500/board-mop500-sdi.c @@ -56,6 +56,7 @@ static int mop500_sdi0_ios_handler(struct device *dev, struct mmc_ios *ios) return 0; } +#ifdef MMC_SUSPEND_WORKAROUND #ifdef CONFIG_STE_DMA40 struct stedma40_chan_cfg mop500_sdi0_dma_cfg_rx = { .mode = STEDMA40_MODE_LOGICAL, @@ -79,6 +80,7 @@ static struct stedma40_chan_cfg mop500_sdi0_dma_cfg_tx = { .phy_channel = 0, }; #endif +#endif static struct mmci_platform_data mop500_sdi0_data = { .ios_handler = mop500_sdi0_ios_handler, @@ -92,11 +94,13 @@ static struct mmci_platform_data mop500_sdi0_data = { MCI_ST_CMDDIREN | MCI_ST_DATA0DIREN | MCI_ST_DATA2DIREN, +#ifdef MMC_SUSPEND_WORKAROUND #ifdef CONFIG_STE_DMA40 .dma_filter = stedma40_filter, .dma_rx_param = &mop500_sdi0_dma_cfg_rx, .dma_tx_param = &mop500_sdi0_dma_cfg_tx, #endif +#endif }; /* @@ -178,6 +182,7 @@ void mop500_sdi_tc35892_init(void) /* * SDI 2 (POP eMMC, not on DB8500ed) */ +#ifdef MMC_SUSPEND_WORKAROUND #ifdef CONFIG_STE_DMA40 struct stedma40_chan_cfg mop500_sdi2_dma_cfg_rx = { .mode = STEDMA40_MODE_LOGICAL, @@ -197,6 +202,7 @@ static struct stedma40_chan_cfg mop500_sdi2_dma_cfg_tx = { .dst_info.data_width = STEDMA40_WORD_WIDTH, }; #endif +#endif static struct mmci_platform_data mop500_sdi2_data = { .ocr_mask = MMC_VDD_165_195, @@ -205,17 +211,20 @@ static struct mmci_platform_data mop500_sdi2_data = { MMC_CAP_8_BIT_DATA, .gpio_cd = -1, .gpio_wp = -1, +#ifdef MMC_SUSPEND_WORKAROUND #ifdef CONFIG_STE_DMA40 .dma_filter = stedma40_filter, .dma_rx_param = &mop500_sdi2_dma_cfg_rx, .dma_tx_param = &mop500_sdi2_dma_cfg_tx, #endif +#endif }; /* * SDI 4 (on-board eMMC) */ +#ifdef MMC_SUSPEND_WORKAROUND #ifdef CONFIG_STE_DMA40 struct stedma40_chan_cfg mop500_sdi4_dma_cfg_rx = { .mode = STEDMA40_MODE_LOGICAL, @@ -235,6 +244,7 @@ static struct stedma40_chan_cfg mop500_sdi4_dma_cfg_tx = { .dst_info.data_width = STEDMA40_WORD_WIDTH, }; #endif +#endif static struct mmci_platform_data mop500_sdi4_data = { .ocr_mask = MMC_VDD_29_30, @@ -244,11 +254,13 @@ static struct mmci_platform_data mop500_sdi4_data = { MMC_CAP_MMC_HIGHSPEED, .gpio_cd = -1, .gpio_wp = -1, +#ifdef MMC_SUSPEND_WORKAROUND #ifdef CONFIG_STE_DMA40 .dma_filter = stedma40_filter, .dma_rx_param = &mop500_sdi4_dma_cfg_rx, .dma_tx_param = &mop500_sdi4_dma_cfg_tx, #endif +#endif }; void __init mop500_sdi_init(void) |