diff options
author | Philippe Langlais <philippe.langlais@linaro.org> | 2011-03-25 09:43:27 +0100 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 11:04:43 +0200 |
commit | 312fa60336bd4df53cead704cc56b8f25bc8fdf6 (patch) | |
tree | 389c4bdb772b82530b192c9c7d2c92c124a4c9af /sound/soc/ux500/ux500_pcm.h | |
parent | 0492aabe4d02b1dc4dc2c0d1a1bbf33d7ea1c952 (diff) |
Ux500 ASoC: Use of cyclic DMA.
Platform driver rewritten to make use of cyclic DMA by
sending a cyclic SG-list before playback is started.
Updates to support cyclic DMA in MSP I2S-driver.
ST-Ericsson ID: ER 278088
Change-Id: I9d143fc4704cff6f5415175ab14085b9ab98d6d4
Signed-off-by: Ola Lilja <ola.o.lilja@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/9353
Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
Conflicts:
drivers/misc/i2s/i2s.c
drivers/misc/i2s/i2s_test_protocol_driver.c
drivers/misc/i2s/msp_i2s.c
drivers/misc/i2s/msp_i2s.h
include/linux/i2s/i2s.h
Diffstat (limited to 'sound/soc/ux500/ux500_pcm.h')
-rw-r--r-- | sound/soc/ux500/ux500_pcm.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sound/soc/ux500/ux500_pcm.h b/sound/soc/ux500/ux500_pcm.h index 80f050128c8..9d8b36d9b6f 100644 --- a/sound/soc/ux500/ux500_pcm.h +++ b/sound/soc/ux500/ux500_pcm.h @@ -16,8 +16,6 @@ #include <mach/msp.h> -#define UX500_PLATFORM_BUFFER_SIZE (64*1024) - #define UX500_PLATFORM_MIN_RATE_PLAYBACK 8000 #define UX500_PLATFORM_MAX_RATE_PLAYBACK 48000 #define UX500_PLATFORM_MIN_RATE_CAPTURE 8000 @@ -25,17 +23,19 @@ #define UX500_PLATFORM_MIN_CHANNELS 1 #define UX500_PLATFORM_MAX_CHANNELS 8 -#define UX500_PLATFORM_MIN_PERIOD_BYTES 128 -#define UX500_PLATFORM_PERIODS_QUEUED_DMA 5 +#define UX500_PLATFORM_PERIODS_BYTES_MIN 128 +#define UX500_PLATFORM_PERIODS_BYTES_MAX (64 * PAGE_SIZE) +#define UX500_PLATFORM_PERIODS_MIN 2 +#define UX500_PLATFORM_PERIODS_MAX 48 +#define UX500_PLATFORM_BUFFER_BYTES_MAX (2048 * PAGE_SIZE) extern struct snd_soc_platform ux500_soc_platform; struct ux500_pcm_private { int msp_id; int stream_id; - int period; - unsigned int offset; + unsigned int no_of_underruns; }; void ux500_pcm_dma_eot_handler(void *data); |