summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuinn Jensen <quinn.jensen@freescale.com>2007-10-24 21:26:54 -0600
committerQuinn Jensen <quinn.jensen@freescale.com>2007-10-24 21:26:54 -0600
commit4de82860cc284cec3afdbfb103a54f96133b0a2a (patch)
tree51b080681334d05bcfe46c0eb5cd771a447cceb9
parentad48d19287b55d81884f33b319707ced4906e9c7 (diff)
CR ENGR00053173 Fix SDMA Mask Value In Suspend Routine
Patch for CR ENGR00053173: Fix SDMA mask value in suspend routine. Use the correct mask value to get the current SDMA State. Applies to linux 2.6.22 kernel for MX3 platforms. http://www.bitshrine.org/gpp/linux-2.6.22-mx-CR-ENGR00053173-Fix-SDMA-Mask-Value-In-Sus.patch
-rw-r--r--arch/arm/plat-mxc/sdma/dma_sdma.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/plat-mxc/sdma/dma_sdma.c b/arch/arm/plat-mxc/sdma/dma_sdma.c
index 43c863c6504f..89fea1411f6d 100644
--- a/arch/arm/plat-mxc/sdma/dma_sdma.c
+++ b/arch/arm/plat-mxc/sdma/dma_sdma.c
@@ -43,7 +43,8 @@
static mxc_dma_channel_t mxc_sdma_channels[MAX_DMA_CHANNELS];
static mxc_dma_channel_private_t mxc_sdma_private[MAX_DMA_CHANNELS];
-#define DMA_SLEEP_STATE (0x6 << 12)
+#define SDMA_SLEEP_STATE (0x6 << 12)
+#define SDMA_STATE_MASK (0xF << 12)
/*!
* To indicate whether SDMA engine is suspending
@@ -569,7 +570,7 @@ int mxc_dma_enable(int channel_num)
*/
static int mxc_dma_suspend(struct platform_device *pdev, pm_message_t state)
{
- if ((SDMA_ONCE_STAT & DMA_SLEEP_STATE) == DMA_SLEEP_STATE) {
+ if ((SDMA_ONCE_STAT & SDMA_STATE_MASK) == SDMA_SLEEP_STATE) {
suspend_flag = 1;
clk_disable(mxc_sdma_ahb_clk);
clk_disable(mxc_sdma_ipg_clk);