diff options
author | Rabin Vincent <rabin.vincent@stericsson.com> | 2011-01-25 05:18:35 -0500 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2011-01-31 01:27:21 -0500 |
commit | 0c842b551063c5f7382ac9b457992f3b34972801 (patch) | |
tree | da606f382493e6cf3540b4245b86a784a78e46b4 /drivers/dma/ste_dma40_ll.h | |
parent | 86eb5fb61125e4646c9447a1f2ce130817dab34e (diff) |
dma40: cyclic xfer support
Support cyclic transfers, which are useful for ALSA drivers.
Acked-by: Per Forlin <per.forlin@stericsson.com>
Acked-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/dma/ste_dma40_ll.h')
-rw-r--r-- | drivers/dma/ste_dma40_ll.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/dma/ste_dma40_ll.h b/drivers/dma/ste_dma40_ll.h index 59e72f0cc901..195ee65ee7f3 100644 --- a/drivers/dma/ste_dma40_ll.h +++ b/drivers/dma/ste_dma40_ll.h | |||
@@ -296,6 +296,8 @@ struct d40_def_lcsp { | |||
296 | enum d40_lli_flags { | 296 | enum d40_lli_flags { |
297 | LLI_ADDR_INC = 1 << 0, | 297 | LLI_ADDR_INC = 1 << 0, |
298 | LLI_TERM_INT = 1 << 1, | 298 | LLI_TERM_INT = 1 << 1, |
299 | LLI_CYCLIC = 1 << 2, | ||
300 | LLI_LAST_LINK = 1 << 3, | ||
299 | }; | 301 | }; |
300 | 302 | ||
301 | void d40_phy_cfg(struct stedma40_chan_cfg *cfg, | 303 | void d40_phy_cfg(struct stedma40_chan_cfg *cfg, |
@@ -314,7 +316,8 @@ int d40_phy_sg_to_lli(struct scatterlist *sg, | |||
314 | dma_addr_t lli_phys, | 316 | dma_addr_t lli_phys, |
315 | u32 reg_cfg, | 317 | u32 reg_cfg, |
316 | struct stedma40_half_channel_info *info, | 318 | struct stedma40_half_channel_info *info, |
317 | struct stedma40_half_channel_info *otherinfo); | 319 | struct stedma40_half_channel_info *otherinfo, |
320 | unsigned long flags); | ||
318 | 321 | ||
319 | /* Logical channels */ | 322 | /* Logical channels */ |
320 | 323 | ||
@@ -328,11 +331,11 @@ int d40_log_sg_to_lli(struct scatterlist *sg, | |||
328 | void d40_log_lli_lcpa_write(struct d40_log_lli_full *lcpa, | 331 | void d40_log_lli_lcpa_write(struct d40_log_lli_full *lcpa, |
329 | struct d40_log_lli *lli_dst, | 332 | struct d40_log_lli *lli_dst, |
330 | struct d40_log_lli *lli_src, | 333 | struct d40_log_lli *lli_src, |
331 | int next); | 334 | int next, unsigned int flags); |
332 | 335 | ||
333 | void d40_log_lli_lcla_write(struct d40_log_lli *lcla, | 336 | void d40_log_lli_lcla_write(struct d40_log_lli *lcla, |
334 | struct d40_log_lli *lli_dst, | 337 | struct d40_log_lli *lli_dst, |
335 | struct d40_log_lli *lli_src, | 338 | struct d40_log_lli *lli_src, |
336 | int next); | 339 | int next, unsigned int flags); |
337 | 340 | ||
338 | #endif /* STE_DMA40_LLI_H */ | 341 | #endif /* STE_DMA40_LLI_H */ |