aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/fsldma.h
diff options
context:
space:
mode:
authorHongbo Zhang <hongbo.zhang@freescale.com>2014-05-21 04:03:02 -0400
committerVinod Koul <vinod.koul@intel.com>2014-07-14 12:02:18 -0400
commit14c6a3333c8e885604fc98768d8b9a32e08110ac (patch)
tree5dae60ced4af6ade4439b656730d05e09c8ae393 /drivers/dma/fsldma.h
parent2baff5700b0832632f05c2ae93362fe3320cc735 (diff)
dmaengine: Freescale: add suspend resume functions for DMA driver
This patch adds suspend and resume functions for Freescale DMA driver. Signed-off-by: Hongbo Zhang <hongbo.zhang@freescale.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma/fsldma.h')
-rw-r--r--drivers/dma/fsldma.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/dma/fsldma.h b/drivers/dma/fsldma.h
index d56e83599825..f2e0c4dcf901 100644
--- a/drivers/dma/fsldma.h
+++ b/drivers/dma/fsldma.h
@@ -134,6 +134,17 @@ struct fsldma_device {
134#define FSL_DMA_CHAN_PAUSE_EXT 0x00001000 134#define FSL_DMA_CHAN_PAUSE_EXT 0x00001000
135#define FSL_DMA_CHAN_START_EXT 0x00002000 135#define FSL_DMA_CHAN_START_EXT 0x00002000
136 136
137#ifdef CONFIG_PM
138struct fsldma_chan_regs_save {
139 u32 mr;
140};
141
142enum fsldma_pm_state {
143 RUNNING = 0,
144 SUSPENDED,
145};
146#endif
147
137struct fsldma_chan { 148struct fsldma_chan {
138 char name[8]; /* Channel name */ 149 char name[8]; /* Channel name */
139 struct fsldma_chan_regs __iomem *regs; 150 struct fsldma_chan_regs __iomem *regs;
@@ -148,6 +159,10 @@ struct fsldma_chan {
148 struct tasklet_struct tasklet; 159 struct tasklet_struct tasklet;
149 u32 feature; 160 u32 feature;
150 bool idle; /* DMA controller is idle */ 161 bool idle; /* DMA controller is idle */
162#ifdef CONFIG_PM
163 struct fsldma_chan_regs_save regs_save;
164 enum fsldma_pm_state pm_state;
165#endif
151 166
152 void (*toggle_ext_pause)(struct fsldma_chan *fsl_chan, int enable); 167 void (*toggle_ext_pause)(struct fsldma_chan *fsl_chan, int enable);
153 void (*toggle_ext_start)(struct fsldma_chan *fsl_chan, int enable); 168 void (*toggle_ext_start)(struct fsldma_chan *fsl_chan, int enable);