summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorShengjiu Wang <shengjiu.wang@freescale.com>2014-10-31 13:51:20 +0800
committerNitin Garg <nitin.garg@freescale.com>2015-01-15 21:18:34 -0600
commitf35a8110657a1c693c395e6da6609d66c4ea52c9 (patch)
treee8ba4987a175e42797d73069b064453363ca274b /sound
parent1f96248f5e484a9e6772e7ecaa190a7ffa4fb39b (diff)
MLK-9731 ASoC: imx-hdmi-dma: audio output is noisy in long time playback
In the frame_to_bytes(), when hw_ptr*frame_bits exceed the maxmum of unsigned long, the return value is saturated, so the appl_bytes is wrong. This patch is to correct the usage of frame_to_bytes(). Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com> (cherry picked from commit 9e66132d9c96305b65aa5fa3ba8a35271a04ded9)
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/fsl/imx-hdmi-dma.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/fsl/imx-hdmi-dma.c b/sound/soc/fsl/imx-hdmi-dma.c
index 8eeb009479f1..0df685159e9c 100644
--- a/sound/soc/fsl/imx-hdmi-dma.c
+++ b/sound/soc/fsl/imx-hdmi-dma.c
@@ -455,7 +455,7 @@ static void hdmi_dma_data_copy(struct snd_pcm_substream *substream,
if (runtime->access != SNDRV_PCM_ACCESS_MMAP_INTERLEAVED)
return;
- appl_bytes = frames_to_bytes(runtime, runtime->status->hw_ptr);
+ appl_bytes = runtime->status->hw_ptr * (runtime->frame_bits / 8);
if (type == 'p')
appl_bytes += 2 * priv->period_bytes;
offset = appl_bytes % priv->buffer_bytes;