diff options
author | mirko <mirko@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-12-12 11:58:53 +0000 |
---|---|---|
committer | mirko <mirko@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-12-12 11:58:53 +0000 |
commit | fc54b9bf158eea9cae647ce2c58f7d9989af173a (patch) | |
tree | 54644c1229434d7ee13c5872bda4129e34337fc0 /target/linux/s3c24xx/patches-2.6.24/1060-s3c24xx-pcm-suspend.patch.patch | |
parent | d9f49b62b28ebd245587854efa484974d90debbf (diff) |
changed Makefile and profiles, added patches for kernel 2.6.24
(stable-branch of Openmoko)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13613 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.24/1060-s3c24xx-pcm-suspend.patch.patch')
-rw-r--r-- | target/linux/s3c24xx/patches-2.6.24/1060-s3c24xx-pcm-suspend.patch.patch | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.24/1060-s3c24xx-pcm-suspend.patch.patch b/target/linux/s3c24xx/patches-2.6.24/1060-s3c24xx-pcm-suspend.patch.patch new file mode 100644 index 0000000000..2b496ffdf5 --- /dev/null +++ b/target/linux/s3c24xx/patches-2.6.24/1060-s3c24xx-pcm-suspend.patch.patch @@ -0,0 +1,85 @@ +From 1179eb1bf9d827aaa2b4b6adc4ba135bf9074bcc Mon Sep 17 00:00:00 2001 +From: mokopatches <mokopatches@openmoko.org> +Date: Sun, 13 Apr 2008 07:23:53 +0100 +Subject: [PATCH] s3c24xx-pcm-suspend.patch + +--- + sound/soc/s3c24xx/s3c24xx-pcm.c | 48 ++++++++++++++++++++------------------ + 1 files changed, 25 insertions(+), 23 deletions(-) + +diff --git a/sound/soc/s3c24xx/s3c24xx-pcm.c b/sound/soc/s3c24xx/s3c24xx-pcm.c +index 4107a87..e9f3b60 100644 +--- a/sound/soc/s3c24xx/s3c24xx-pcm.c ++++ b/sound/soc/s3c24xx/s3c24xx-pcm.c +@@ -49,7 +49,9 @@ static const struct snd_pcm_hardware s3c24xx_pcm_hardware = { + .info = SNDRV_PCM_INFO_INTERLEAVED | + SNDRV_PCM_INFO_BLOCK_TRANSFER | + SNDRV_PCM_INFO_MMAP | +- SNDRV_PCM_INFO_MMAP_VALID, ++ SNDRV_PCM_INFO_MMAP_VALID | ++ SNDRV_PCM_INFO_PAUSE | ++ SNDRV_PCM_INFO_RESUME, + .formats = SNDRV_PCM_FMTBIT_S16_LE | + SNDRV_PCM_FMTBIT_U16_LE | + SNDRV_PCM_FMTBIT_U8 | +@@ -176,28 +178,6 @@ static int s3c24xx_pcm_hw_params(struct snd_pcm_substream *substream, + } + } + +- /* channel needs configuring for mem=>device, increment memory addr, +- * sync to pclk, half-word transfers to the IIS-FIFO. */ +- if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { +- s3c2410_dma_devconfig(prtd->params->channel, +- S3C2410_DMASRC_MEM, S3C2410_DISRCC_INC | +- S3C2410_DISRCC_APB, prtd->params->dma_addr); +- +- s3c2410_dma_config(prtd->params->channel, +- prtd->params->dma_size, +- S3C2410_DCON_SYNC_PCLK | +- S3C2410_DCON_HANDSHAKE); +- } else { +- s3c2410_dma_config(prtd->params->channel, +- prtd->params->dma_size, +- S3C2410_DCON_HANDSHAKE | +- S3C2410_DCON_SYNC_PCLK); +- +- s3c2410_dma_devconfig(prtd->params->channel, +- S3C2410_DMASRC_HW, 0x3, +- prtd->params->dma_addr); +- } +- + s3c2410_dma_set_buffdone_fn(prtd->params->channel, + s3c24xx_audio_buffdone); + +@@ -246,6 +226,28 @@ static int s3c24xx_pcm_prepare(struct snd_pcm_substream *substream) + if (!prtd->params) + return 0; + ++ /* channel needs configuring for mem=>device, increment memory addr, ++ * sync to pclk, half-word transfers to the IIS-FIFO. */ ++ if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { ++ s3c2410_dma_devconfig(prtd->params->channel, ++ S3C2410_DMASRC_MEM, S3C2410_DISRCC_INC | ++ S3C2410_DISRCC_APB, prtd->params->dma_addr); ++ ++ s3c2410_dma_config(prtd->params->channel, ++ prtd->params->dma_size, ++ S3C2410_DCON_SYNC_PCLK | ++ S3C2410_DCON_HANDSHAKE); ++ } else { ++ s3c2410_dma_config(prtd->params->channel, ++ prtd->params->dma_size, ++ S3C2410_DCON_HANDSHAKE | ++ S3C2410_DCON_SYNC_PCLK); ++ ++ s3c2410_dma_devconfig(prtd->params->channel, ++ S3C2410_DMASRC_HW, 0x3, ++ prtd->params->dma_addr); ++ } ++ + /* flush the DMA channel */ + s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_FLUSH); + prtd->dma_loaded = 0; +-- +1.5.6.5 + |