On Wed, Sep 8, 2010 at 5:51 PM, Seungwhan Youn sw.youn@samsung.com wrote:
When PCM capture, sound recorded abnormally because of RX FIFO threshold settings are missing. So, This patch modify PCM RX FIFO setting codes same as TX.
Signed-off-by: Seungwhan Youn sw.youn@samsung.com
sound/soc/s3c24xx/s3c-pcm.c | 3 +++ sound/soc/s3c24xx/s3c-pcm.h | 3 ++- 2 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/sound/soc/s3c24xx/s3c-pcm.c b/sound/soc/s3c24xx/s3c-pcm.c index 43dcc6b..deaa3f2 100644 --- a/sound/soc/s3c24xx/s3c-pcm.c +++ b/sound/soc/s3c24xx/s3c-pcm.c @@ -107,11 +107,14 @@ static void s3c_pcm_snd_rxctrl(struct s3c_pcm_info *pcm, int on)
ctl = readl(regs + S3C_PCM_CTL); clkctl = readl(regs + S3C_PCM_CLKCTL);
- ctl &= ~(S3C_PCM_CTL_RXDIPSTICK_MASK
- << S3C_PCM_CTL_RXDIPSTICK_SHIFT);
if (on) { ctl |= S3C_PCM_CTL_RXDMA_EN; ctl |= S3C_PCM_CTL_RXFIFO_EN; ctl |= S3C_PCM_CTL_ENABLE;
- ctl |= (0x20<<S3C_PCM_CTL_RXDIPSTICK_SHIFT);
Yes, the change is needed. But I think we should use small value as fifo_dipstick (maybe 0x4 ?), because Fifo is considered:- Almost_empty when fifo_depth < fifo_dipstick Almost_full when fifo_depth > (32 – fifo_dipstick)
And, please modify for TX as well.