diff options
author | Hongbo Zhang <hongbo.zhang@freescale.com> | 2014-05-21 04:03:02 -0400 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2014-07-14 12:02:18 -0400 |
commit | 14c6a3333c8e885604fc98768d8b9a32e08110ac (patch) | |
tree | 5dae60ced4af6ade4439b656730d05e09c8ae393 /drivers/dma/fsldma.h | |
parent | 2baff5700b0832632f05c2ae93362fe3320cc735 (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.h | 15 |
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 | ||
138 | struct fsldma_chan_regs_save { | ||
139 | u32 mr; | ||
140 | }; | ||
141 | |||
142 | enum fsldma_pm_state { | ||
143 | RUNNING = 0, | ||
144 | SUSPENDED, | ||
145 | }; | ||
146 | #endif | ||
147 | |||
137 | struct fsldma_chan { | 148 | struct 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); |