2007-02-14 15:20:03 +03:00
|
|
|
/*
|
2010-11-22 09:35:57 +03:00
|
|
|
* dma.h --
|
2007-02-14 15:20:03 +03:00
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
|
|
* under the terms of the GNU General Public License as published by the
|
|
|
|
* Free Software Foundation; either version 2 of the License, or (at your
|
|
|
|
* option) any later version.
|
|
|
|
*
|
2011-09-02 04:44:43 +04:00
|
|
|
* ALSA PCM interface for the Samsung SoC
|
2007-02-14 15:20:03 +03:00
|
|
|
*/
|
|
|
|
|
2009-11-17 10:53:23 +03:00
|
|
|
#ifndef _S3C_AUDIO_H
|
|
|
|
#define _S3C_AUDIO_H
|
2007-02-14 15:20:03 +03:00
|
|
|
|
2013-12-05 18:14:52 +04:00
|
|
|
#include <sound/dmaengine_pcm.h>
|
|
|
|
|
2014-04-08 15:41:04 +04:00
|
|
|
struct s3c_dma_client {
|
|
|
|
char *name;
|
|
|
|
};
|
|
|
|
|
2009-11-17 10:53:23 +03:00
|
|
|
struct s3c_dma_params {
|
2014-04-08 15:41:04 +04:00
|
|
|
struct s3c_dma_client *client; /* stream identifier */
|
2007-04-17 14:35:18 +04:00
|
|
|
int channel; /* Channel ID */
|
2007-02-14 15:20:03 +03:00
|
|
|
dma_addr_t dma_addr;
|
2007-04-17 14:35:18 +04:00
|
|
|
int dma_size; /* Size of the DMA transfer */
|
2011-09-02 04:44:43 +04:00
|
|
|
unsigned ch;
|
|
|
|
struct samsung_dma_ops *ops;
|
2013-01-18 15:47:01 +04:00
|
|
|
char *ch_name;
|
2013-12-05 18:14:52 +04:00
|
|
|
struct snd_dmaengine_dai_dma_data dma_data;
|
2007-02-14 15:20:03 +03:00
|
|
|
};
|
|
|
|
|
2013-10-19 18:23:15 +04:00
|
|
|
void samsung_asoc_init_dma_data(struct snd_soc_dai *dai,
|
|
|
|
struct s3c_dma_params *playback,
|
|
|
|
struct s3c_dma_params *capture);
|
2013-08-20 01:59:05 +04:00
|
|
|
int samsung_asoc_dma_platform_register(struct device *dev);
|
2012-12-07 12:29:21 +04:00
|
|
|
|
2007-02-14 15:20:03 +03:00
|
|
|
#endif
|