Ben Dooks | c0f41bb | 2007-02-14 13:20:03 +0100 | [diff] [blame] | 1 | /* |
Jassi Brar | 4b640cf | 2010-11-22 15:35:57 +0900 | [diff] [blame] | 2 | * dma.h -- |
Ben Dooks | c0f41bb | 2007-02-14 13:20:03 +0100 | [diff] [blame] | 3 | * |
| 4 | * This program is free software; you can redistribute it and/or modify it |
| 5 | * under the terms of the GNU General Public License as published by the |
| 6 | * Free Software Foundation; either version 2 of the License, or (at your |
| 7 | * option) any later version. |
| 8 | * |
Boojin Kim | 344b4c4 | 2011-09-02 09:44:43 +0900 | [diff] [blame] | 9 | * ALSA PCM interface for the Samsung SoC |
Ben Dooks | c0f41bb | 2007-02-14 13:20:03 +0100 | [diff] [blame] | 10 | */ |
| 11 | |
Jassi Brar | faa3177 | 2009-11-17 16:53:23 +0900 | [diff] [blame] | 12 | #ifndef _S3C_AUDIO_H |
| 13 | #define _S3C_AUDIO_H |
Ben Dooks | c0f41bb | 2007-02-14 13:20:03 +0100 | [diff] [blame] | 14 | |
Mark Brown | d37bdf7 | 2013-12-05 14:14:52 +0000 | [diff] [blame] | 15 | #include <sound/dmaengine_pcm.h> |
Arnd Bergmann | 9bdca82 | 2015-11-18 22:31:11 +0100 | [diff] [blame] | 16 | #include <linux/dmaengine.h> |
Mark Brown | d37bdf7 | 2013-12-05 14:14:52 +0000 | [diff] [blame] | 17 | |
Jassi Brar | faa3177 | 2009-11-17 16:53:23 +0900 | [diff] [blame] | 18 | struct s3c_dma_params { |
Arnd Bergmann | b9a1a74 | 2015-11-18 15:25:23 +0100 | [diff] [blame] | 19 | void *slave; /* Channel ID */ |
Ben Dooks | c0f41bb | 2007-02-14 13:20:03 +0100 | [diff] [blame] | 20 | dma_addr_t dma_addr; |
Graeme Gregory | 7f1bc26 | 2007-04-17 12:35:18 +0200 | [diff] [blame] | 21 | int dma_size; /* Size of the DMA transfer */ |
Padmavathi Venna | 40476f6 | 2013-01-18 17:17:01 +0530 | [diff] [blame] | 22 | char *ch_name; |
Mark Brown | d37bdf7 | 2013-12-05 14:14:52 +0000 | [diff] [blame] | 23 | struct snd_dmaengine_dai_dma_data dma_data; |
Ben Dooks | c0f41bb | 2007-02-14 13:20:03 +0100 | [diff] [blame] | 24 | }; |
| 25 | |
Mark Brown | 3688569 | 2013-10-19 15:23:15 +0100 | [diff] [blame] | 26 | void samsung_asoc_init_dma_data(struct snd_soc_dai *dai, |
| 27 | struct s3c_dma_params *playback, |
| 28 | struct s3c_dma_params *capture); |
Arnd Bergmann | 9bdca82 | 2015-11-18 22:31:11 +0100 | [diff] [blame] | 29 | int samsung_asoc_dma_platform_register(struct device *dev, |
| 30 | dma_filter_fn fn); |
Padmavathi Venna | a08485d | 2012-12-07 13:59:21 +0530 | [diff] [blame] | 31 | |
Ben Dooks | c0f41bb | 2007-02-14 13:20:03 +0100 | [diff] [blame] | 32 | #endif |