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> |
| 16 | |
Sachin Kamat | 71e5222 | 2014-04-08 17:11:04 +0530 | [diff] [blame] | 17 | struct s3c_dma_client { |
| 18 | char *name; |
| 19 | }; |
| 20 | |
Jassi Brar | faa3177 | 2009-11-17 16:53:23 +0900 | [diff] [blame] | 21 | struct s3c_dma_params { |
Sachin Kamat | 71e5222 | 2014-04-08 17:11:04 +0530 | [diff] [blame] | 22 | struct s3c_dma_client *client; /* stream identifier */ |
Graeme Gregory | 7f1bc26 | 2007-04-17 12:35:18 +0200 | [diff] [blame] | 23 | int channel; /* Channel ID */ |
Ben Dooks | c0f41bb | 2007-02-14 13:20:03 +0100 | [diff] [blame] | 24 | dma_addr_t dma_addr; |
Graeme Gregory | 7f1bc26 | 2007-04-17 12:35:18 +0200 | [diff] [blame] | 25 | int dma_size; /* Size of the DMA transfer */ |
Boojin Kim | 344b4c4 | 2011-09-02 09:44:43 +0900 | [diff] [blame] | 26 | unsigned ch; |
| 27 | struct samsung_dma_ops *ops; |
Padmavathi Venna | 40476f6 | 2013-01-18 17:17:01 +0530 | [diff] [blame] | 28 | char *ch_name; |
Mark Brown | d37bdf7 | 2013-12-05 14:14:52 +0000 | [diff] [blame] | 29 | struct snd_dmaengine_dai_dma_data dma_data; |
Ben Dooks | c0f41bb | 2007-02-14 13:20:03 +0100 | [diff] [blame] | 30 | }; |
| 31 | |
Mark Brown | 3688569 | 2013-10-19 15:23:15 +0100 | [diff] [blame] | 32 | void samsung_asoc_init_dma_data(struct snd_soc_dai *dai, |
| 33 | struct s3c_dma_params *playback, |
| 34 | struct s3c_dma_params *capture); |
Mark Brown | 85ff3c2 | 2013-08-19 22:59:05 +0100 | [diff] [blame] | 35 | int samsung_asoc_dma_platform_register(struct device *dev); |
Padmavathi Venna | a08485d | 2012-12-07 13:59:21 +0530 | [diff] [blame] | 36 | |
Ben Dooks | c0f41bb | 2007-02-14 13:20:03 +0100 | [diff] [blame] | 37 | #endif |